Guide de démarrage rapide
Bienvenue dans la documentation de sansCMS. Ce guide vous aidera à démarrer rapidement avec votre nouveau CMS sans base de données.
Qu'est-ce que sansCMS ?
sansCMS est un CMS léger qui utilise des fichiers Markdown au lieu d'une base de données. Concrètement, cela veut dire : pas de requêtes SQL à optimiser, pas de vulnérabilités d'injection SQL à surveiller, un contenu qu'on édite en Markdown, et un site qu'on peut déplacer en copiant simplement un dossier.
Installation
Prérequis
Avant de commencer, assurez-vous d'avoir :
- PHP 8.1 ou supérieur
- Un serveur web (Apache, Nginx)
- Accès en écriture au dossier
logs/
logs/ doit être accessible en écriture pour le cache et les statistiques.Étapes d'installation
- Téléchargez sansCMS depuis le dépôt du projet
- Décompressez l'archive dans votre dossier web
- Configurez le fichier
config/site.json - Créez votre première page dans
pages/
cd /var/www/html
git clone https://github.com/votre-repo/sanscms.git
cd sanscms
chmod -R 755 logs/Créer votre première page
Créez un fichier 1-home.md dans le dossier pages/ : ce nom exact est requis pour que sansCMS reconnaisse la page d'accueil.
---
titre: Ma page d'accueil
description: Bienvenue sur mon site
prive: false
brouillon: false
---
# Bienvenue sur mon site !
Ceci est ma première page avec sansCMS.Structure d'un fichier Markdown
Chaque fichier Markdown contient deux parties.
1. Les métadonnées (front matter)
Les métadonnées sont définies entre --- au début du fichier :
| Champ | Type | Description | Requis |
|---|---|---|---|
titre | string | Titre de la page | Oui |
permalien | string | URL personnalisée (sinon dérivée du nom de fichier) | Non |
description | string | Meta description SEO | Non |
prive | string | Hash bcrypt : rend la page protégée par mot de passe | Non |
brouillon | boolean | Masquer la page | Non |
date | date | Date de publication (sa présence transforme la page en article de blog) | Non |
auteur | string | Auteur du contenu | Non |
tags | string | Tags séparés par des virgules | Non |
2. Le contenu
Après les métadonnées, écrivez votre contenu en Markdown :
## Titre de niveau 2
Paragraphe avec du **gras** et de l'*italique*.
- Liste à puces
- Deuxième élément
1. Liste numérotée
2. Deuxième élément
[Lien vers une page](https://example.com)Configuration
Le fichier config/site.json contient toute la configuration :
{
"site": {
"name": "Mon Site",
"description": "Description de mon site",
"contact_email": "contact@example.com"
},
"theme": {
"name": "pico",
"posts_per_page": 10
},
"features": {
"cache_enabled": true,
"stats_enabled": true
}
}Options principales
Cache
Le cache améliore considérablement les performances :
{
"features": {
"cache_enabled": true,
"cache_ttl": {
"markdown": 3600,
"pages": 7200
}
}
}/cache-admin si vous voulez voir immédiatement une modification faite directement sur les fichiers Markdown du serveur. Sans ça, le changement n'apparaîtra qu'à l'expiration du TTL.Statistiques
Activez les statistiques pour suivre les visites :
{
"features": {
"stats_enabled": true,
"stats_access_enabled": false
}
}Fonctionnalités avancées
Pages privées
Protégez vos pages par mot de passe avec un hash bcrypt dans le champ prive :
---
titre: Page confidentielle
permalien: secret
prive: $2y$10$votre_hash_bcrypt_ici
---Le hash se génère en PHP avec password_hash('votre_mot_de_passe', PASSWORD_BCRYPT).
Articles de blog
Créez des articles avec une date :
---
titre: Mon premier article
permalien: mon-article
date: 2025-01-15
auteur: John Doe
tags: tutoriel, débutant
---Table des matières automatique
Insérer la balise suivante en début de contenu génère un sommaire à partir des titres de niveau 2 (##) qui suivent :
[TOC]Les titres H3 et H4 reçoivent un ancrage pour être ciblés par un lien direct, mais n'apparaissent pas dans le sommaire lui-même.
Blocs d'alerte
sansCMS reconnaît nativement des blocs d'alerte dans le Markdown, sans avoir besoin d'écrire du HTML :
:::info
Ceci est une information importante.
:::
:::warning
Soyez prudent avec cette fonctionnalité.
:::
:::danger
Action irréversible !
:::
:::success
Opération réussie !
:::Les types note, tip, caution et important sont également disponibles.
Prochaines étapes
Maintenant que vous maîtrisez les bases, jetez un œil à :
- La documentation complète pour le reste des options de configuration
- L'article sur la syntaxe Markdown pour un aperçu du rendu
Besoin d'aide ?
Contactez-nous via la page de contact du site.