Mise à jour du README (version finale simplifiée)

This commit is contained in:
Safouane Bazzi
2025-11-02 18:44:47 +01:00
parent 6dc6fa3204
commit e67fe24f6a

123
README.md
View File

@@ -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).
Lobjectif était de créer un **mini CMS** (Content Management System) simplifié permettant : Lobjectif est de créer un petit site de gestion darticles (mini CMS).
- la **connexion sécurisée** dun administrateur ; Un administrateur peut se connecter, ajouter, modifier ou supprimer des articles.
- la **création**, **modification** et **suppression** darticles (CRUD) ; Les données sont stockées dans une base MySQL.
- laffichage des données stockées en base **MySQL**.
Le projet est réalisé **sans framework**, uniquement avec les langages vus en cours : Le projet utilise uniquement les langages vus en cours :
**HTML, CSS, Bootstrap, PHP (PDO), et SQL**. HTML, CSS, Bootstrap, PHP 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
- 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/ cms-simplifie/
├── public/ ├── public/
│ ├── assets/ │ ├── assets/
└── style.css → Design global (thème noir & or) └── style.css
│ ├── add.php → Page dajout dun article ├── add.php
│ ├── edit.php → Page de modification dun article ├── edit.php
│ ├── delete.php → Page de suppression dun article ├── delete.php
│ ├── admin.php → Tableau de bord (gestion des articles) ├── admin.php
│ ├── login.php → Page de connexion administrateur ├── login.php
│ ├── logout.php → Déconnexion ├── logout.php
│ ├── article.php → Lecture dun article ├── article.php
│ └── index.php → Accueil (affichage des articles) └── index.php
├── inc/ ├── inc/
│ └── db.php → Connexion PDO sécurisée à MySQL └── db.php
├── scripts/ → (optionnel, outils ou scripts SQL) ├── .env.example
├── .gitignore
── .env.example → Exemple de configuration (sans mot de passe) ── README.md
├── .gitignore → Exclut .env et fichiers sensibles
├── stack.bibli.yaml / Dockerfile → Configuration Docker
└── README.md → Ce fichier
- Fonctionnalités principales
--- Connexion de ladministrateur avec un mot de passe haché
## Fonctionnalités principales Ajout, modification et suppression darticles
- Connexion dun utilisateur (admin) avec vérification du mot de passe haché.
- Gestion complète des articles (**CRUD**) : créer, lire, modifier, supprimer.
- Interface dadministration 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.
--- Liste des articles sur la page daccueil
## Sécurité Thème sombre avec couleurs noir et or
- 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.
--- 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 denvoyer 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 nas pas de fichier .env, copie .env.example et renomme-le .env.
DB_HOST=mysql Étape 3 — Lancer le serveur PHP
DB_NAME=cms_simplifie
DB_USER=root
DB_PASS=tonmotdepasse
Dans le terminal :
4⃣ Accéder au site localement : php -S localhost:8000 -t public
Étape 4 — Accéder au site
Va dans ton navigateur :
👉 http://localhost:8000 👉 http://localhost:8000
5⃣ Tester la connexion à la base :
👉 http://localhost:8000/test-db.php