diff --git a/README.md b/README.md index a6b01ea..2e71506 100644 --- a/README.md +++ b/README.md @@ -1,79 +1,128 @@ -README – CMS Simplifié -Présentation +# README – CMS Simplifié -Ce mini-projet a été réalisé dans le cadre du module Développement Web (BTS CIEL – 2ᵉ année). +## Présentation +Ce mini-projet a été réalisé dans le cadre du module **Développement Web (BTS CIEL – 2ᵉ année)**. -L’objectif est de créer un petit site de gestion d’articles (mini CMS). -Un administrateur peut se connecter, ajouter, modifier ou supprimer des articles. -Les données sont stockées dans une base MySQL. +L’objectif est de créer un petit site de **gestion d’articles (mini CMS)**. +Un administrateur peut se connecter, ajouter, modifier ou supprimer des articles. +Les données sont stockées dans une base **MySQL**. -Technologies utilisées -Technologie Utilisation -HTML Structure des pages -CSS / Bootstrap 5 Mise en forme et design (thème noir et or) -PHP (PDO) Connexion à la base de données et gestion des pages dynamiques -MySQL Stockage des utilisateurs et des articles -Git / Gitea Sauvegarde du projet -Structure du projet +--- + +## Technologies utilisées + +| Technologie | Utilisation | +|--------------|-------------| +| **HTML** | Structure des pages | +| **CSS / Bootstrap 5** | Mise en forme et design (thème noir et or) | +| **PHP (PDO)** | Connexion à la base de données et gestion des pages dynamiques | +| **MySQL** | Stockage des utilisateurs et des articles | +| **Git / Gitea** | Sauvegarde du projet | + +--- + +## Structure du projet cms-simplifie/ │ ├── public/ -│ ├── assets/ -│ │ └── style.css -│ ├── add.php -│ ├── edit.php -│ ├── delete.php -│ ├── admin.php -│ ├── login.php -│ ├── logout.php -│ ├── article.php -│ └── index.php +│ ├── assets/ +│ │ └── style.css +│ ├── add.php +│ ├── edit.php +│ ├── delete.php +│ ├── admin.php +│ ├── login.php +│ ├── logout.php +│ ├── article.php +│ └── index.php │ ├── inc/ -│ └── db.php +│ └── db.php │ -├── .env.example -├── .gitignore +├── cms_simplifie.sql ← Base de données exportée +├── .env.example ← Exemple de configuration +├── .gitignore ← Exclut les fichiers sensibles (.env) └── README.md -Fonctionnalités principales +--- -Connexion de l’administrateur avec un mot de passe haché +## Fonctionnalités principales -Ajout, modification et suppression d’articles +- Connexion de l’administrateur avec un **mot de passe haché** +- **Ajout, modification et suppression** d’articles +- **Affichage** des articles sur la page d’accueil +- Thème sombre avec couleurs **noir et or** +- **Aucune donnée sensible** visible sur Gitea -Liste des articles sur la page d’accueil +--- -Thème sombre avec couleurs noir et or +## Sécurité -Aucune information sensible visible sur Gitea +- Les identifiants MySQL sont stockés dans un fichier **.env** *(non visible sur Gitea)* +- Connexion sécurisée avec **PDO** et **requêtes préparées** +- Mots de passe stockés avec `password_hash()` et vérifiés avec `password_verify()` +- Le fichier **.gitignore** empêche d’envoyer le fichier `.env` sur Gitea -Sécurité +--- -Les identifiants MySQL sont stockés dans un fichier .env (non visible sur Gitea) +## Exécution du projet en local -Connexion sécurisée avec PDO et requêtes préparées +Étape 1 — Ouvrir le dossier du projet -Mots de passe stockés avec password_hash() et vérifiés avec password_verify() +Télécharger ou cloner le projet depuis Gitea : +```bash +git clone https://gitea.lasallesaintdenis.com/safouane.bazzi/cms-simplifie.git -Fichier .gitignore empêche d’envoyer les données sensibles +Puis ouvrir le dossier cms-simplifie dans VS Code ou un autre éditeur. -Exécution du projet en local -Étape 1 — Ouvrir le dossier dans VS Code +Étape 2 — Préparer le fichier .env -Ouvre le dossier cms-simplifie. +Copier le fichier .env.example -Étape 2 — Vérifier le fichier .env +Le coller à la racine du projet -Si tu n’as pas de fichier .env, copie .env.example et renomme-le .env. +Le renommer en .env -Étape 3 — Lancer le serveur PHP +Modifier les informations selon la configuration MySQL locale : -Dans le terminal : +DB_HOST=127.0.0.1 +DB_NAME=cms_simplifie +DB_USER=root +DB_PASS=ton_mot_de_passe + +Étape 3 — Créer la base de données MySQL + +Ouvrir DBeaver (ou phpMyAdmin) + +Créer une nouvelle base de données appelée cms_simplifie + +Importer le fichier cms_simplifie.sql (fourni avec le projet) + +Ce fichier contient les tables articles et utilisateur, avec des données d’exemple. + +Étape 4 — Lancer le serveur PHP + +Dans le terminal (dans le dossier du projet) : php -S localhost:8000 -t public -Étape 4 — Accéder au site -Va dans ton navigateur : -http://localhost:8000 \ No newline at end of file +Si le port 8000 est déjà utilisé : + +php -S localhost:8080 -t public + +Étape 5 — Ouvrir le site dans un navigateur + +Accéder à l’adresse suivante : +👉 http://localhost:8000 + (ou 8080 selon le port choisi) + +Étape 6 — Connexion à l’administration + +Identifiants de test : + +Login : admin + +Mot de passe : admin123 + +Le mot de passe est haché dans la base de données et n’apparaît nulle part dans le code. \ No newline at end of file