Mise à jour du README (version finale simplifiée)
This commit is contained in:
125
README.md
125
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 :
|
L’objectif est de créer un petit site de gestion d’articles (mini CMS).
|
||||||
- la **connexion sécurisée** d’un administrateur ;
|
Un administrateur peut se connecter, ajouter, modifier ou supprimer des articles.
|
||||||
- la **création**, **modification** et **suppression** d’articles (CRUD) ;
|
Les données sont stockées dans une base MySQL.
|
||||||
- l’affichage 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 d’ajout d’un article
|
│ ├── add.php
|
||||||
│ ├── edit.php → Page de modification d’un article
|
│ ├── edit.php
|
||||||
│ ├── delete.php → Page de suppression d’un 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 d’un 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 l’administrateur avec un mot de passe haché
|
||||||
|
|
||||||
## Fonctionnalités principales
|
Ajout, modification et suppression d’articles
|
||||||
- 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.
|
|
||||||
|
|
||||||
---
|
Liste des articles sur la page d’accueil
|
||||||
|
|
||||||
## 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 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
|
É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
|
||||||
👉 http://localhost:8000
|
|
||||||
|
|
||||||
5️⃣ Tester la connexion à la base :
|
Étape 4 — Accéder au site
|
||||||
👉 http://localhost:8000/test-db.php
|
|
||||||
|
Va dans ton navigateur :
|
||||||
|
👉 http://localhost:8000
|
||||||
Reference in New Issue
Block a user