diff --git a/README.md b/README.md index cac3ebf..d0b4c46 100644 --- a/README.md +++ b/README.md @@ -1,101 +1,82 @@ -# Mini-Projet de Développement Web – CMS Simplifié +README – CMS Simplifié +- Présentation -## Présentation du projet -Ce mini-projet a été réalisé dans le cadre du module **Développement Web** (BTS CIEL – 2ᵉ année). +Ce mini-projet a été réalisé dans le cadre du module Développement Web (BTS CIEL – 2ᵉ année). -L’objectif était de créer un **mini CMS** (Content Management System) simplifié permettant : -- la **connexion sécurisée** d’un administrateur ; -- la **création**, **modification** et **suppression** d’articles (CRUD) ; -- l’affichage des données stockées en 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. -Le projet est réalisé **sans framework**, uniquement avec les langages vus en cours : -**HTML, CSS, Bootstrap, PHP (PDO), et SQL**. - ---- - -## Technologies utilisées -| Technologie | Utilisation | -|--------------|--------------| -| **HTML5** | Structure des pages | -| **CSS3 / Bootstrap 5** | Mise en forme et design responsive (thème noir & or) | -| **PHP (Sessions, PDO)** | Connexion, sécurité et interaction avec MySQL | -| **MySQL** | Base de données pour les utilisateurs et articles | -| **Docker** | Conteneurs PHP/Apache et MySQL | -| **Git / Gitea** | Gestion de version et hébergement du projet | - ---- - -## Structure du projet +Le projet utilise uniquement les langages vus en cours : +HTML, CSS, Bootstrap, PHP et SQL. +- 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 → Design global (thème noir & or) -│ ├── add.php → Page d’ajout d’un article -│ ├── edit.php → Page de modification d’un article -│ ├── delete.php → Page de suppression d’un article -│ ├── admin.php → Tableau de bord (gestion des articles) -│ ├── login.php → Page de connexion administrateur -│ ├── logout.php → Déconnexion -│ ├── article.php → Lecture d’un article -│ └── index.php → Accueil (affichage des articles) +│ ├── assets/ +│ │ └── style.css +│ ├── add.php +│ ├── edit.php +│ ├── delete.php +│ ├── admin.php +│ ├── login.php +│ ├── logout.php +│ ├── article.php +│ └── index.php │ ├── inc/ -│ └── db.php → Connexion PDO sécurisée à MySQL +│ └── db.php │ -├── scripts/ → (optionnel, outils ou scripts SQL) -│ -├── .env.example → Exemple de configuration (sans mot de passe) -├── .gitignore → Exclut .env et fichiers sensibles -├── stack.bibli.yaml / Dockerfile → Configuration Docker -└── README.md → Ce fichier +├── .env.example +├── .gitignore +└── README.md +- Fonctionnalités principales ---- +Connexion de l’administrateur avec un mot de passe haché -## Fonctionnalités principales -- Connexion d’un utilisateur (admin) avec vérification du mot de passe haché. -- Gestion complète des articles (**CRUD**) : créer, lire, modifier, supprimer. -- Interface d’administration simple et claire. -- Design **noir & or** pour une ambiance moderne et élégante. -- Sécurisation via **sessions PHP** et **requêtes préparées PDO**. -- Aucune donnée sensible visible dans le code source. +Ajout, modification et suppression d’articles ---- +Liste des articles sur la page d’accueil -## Sécurité -- Les identifiants MySQL sont stockés dans **`.env`**, jamais dans le code. -- Le fichier `.gitignore` empêche toute fuite de `.env`. -- Les mots de passe sont **hachés** avec `password_hash()` et vérifiés avec `password_verify()`. -- Connexion à la base via **PDO** pour éviter les injections SQL. +Thème sombre avec couleurs noir et or ---- +Aucune information sensible visible sur Gitea -## Lancer le projet en local +- Sécurité -### Étapes : +Les identifiants MySQL sont stockés dans un fichier .env (non visible sur Gitea) -1️⃣ Démarrer les conteneurs Docker : +Connexion sécurisée avec PDO et requêtes préparées -docker stack deploy -c stack.bibli.yaml cms +Mots de passe stockés avec password_hash() et vérifiés avec password_verify() +Fichier .gitignore empêche d’envoyer les données sensibles -2️⃣ Copier le fichier .env.example pour créer ton .env personnel : +- Exécution du projet en local +Étape 1 — Ouvrir le dossier dans VS Code -cp .env.example .env +Ouvre le dossier cms-simplifie. +Étape 2 — Vérifier le fichier .env -3️⃣ Modifier le fichier .env pour y mettre tes identifiants MySQL : +Si tu n’as pas de fichier .env, copie .env.example et renomme-le .env. -DB_HOST=mysql -DB_NAME=cms_simplifie -DB_USER=root -DB_PASS=tonmotdepasse +Étape 3 — Lancer le serveur PHP +Dans le terminal : -4️⃣ Accéder au site localement : -👉 http://localhost:8000 +php -S localhost:8000 -t public -5️⃣ Tester la connexion à la base : -👉 http://localhost:8000/test-db.php \ No newline at end of file +Étape 4 — Accéder au site + +Va dans ton navigateur : +👉 http://localhost:8000 \ No newline at end of file