From 2c0a98860137ab15f1d25cb47db96ec50f018065 Mon Sep 17 00:00:00 2001 From: Abd-El-Raouf Date: Thu, 6 Nov 2025 19:56:58 +0000 Subject: [PATCH] Actualiser README.md --- README.md | 111 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 87 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 0465ca6..84dabcc 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,111 @@ -Pour accéder au site : Lancez les conteneurs depuis la racine du projet avec la commande suivante (Dans un terminal qui accepte le bash par exemple GIT bash) : +# Mini-Projet de Développement Web – CMS Simplifié -./launch-dockers.sh +## Introduction +Ce mini-projet a pour objectif de mettre en pratique les fondamentaux du développement web dynamique** en utilisant PHP pur et MySQL. + +Il consiste à concevoir et réaliser un CMS (Content Management System) simplifié intégrant le cycle complet CRUD (Create, Read, Update, Delete)**. + +L’objectif principal est de comprendre comment manipuler une base de données, gérer des sessions utilisateurs et structurer un projet PHP sans framework, tout en respectant les bonnes pratiques de sécurité et d’organisation du code. + +## Technologies utilisées +- PHP (pur) +- MySQL (via PDO) +- HTML5 / CSS3 +- Docker & Docker Compose + +## Fonctionnalités principales + +### Zone publique +- Affichage des 10 derniers articles, du plus récent au plus ancien. +- Consultation du contenu complet d’un article. +- Gestion d’une page d’erreur 404 si l’article n’existe pas. + +### Zone d’administration +- Authentification sécurisée avec `password_hash()` et `password_verify()`. +- Gestion complète des articles : ajout, modification, suppression. +- Tableau de bord (dashboard) accessible uniquement après connexion. + +## Lancement du projet avec Docker + +### Prérequis +Assurez-vous d’avoir installé sur votre machine : +- [Docker Desktop](https://www.docker.com/products/docker-desktop/) +- [Git Bash](https://gitforwindows.org/) (ou un terminal compatible bash) + +### Démarrer les conteneurs +Depuis la racine du projet, exécutez les commandes suivante : + +`chmod +x launch-dockers.sh` + +`./launch-dockers.sh` Une fois les conteneurs démarrés, le site sera accessible dans votre navigateur à l'adresse : http://localhost:8080/ -Accès au compte admin : +### Accès au compte admin -Login : user +| Utilisateur | Mot de Passe | +|-------------|--------------| +| user | usecms123 | -Mdp: usecms123 +Ces identifiants sont définis dans la base de données d’initialisation (bdd/init.sql). -Arborescence : +## Arborescence du projet +``` Projet_CMS/ │ ├── admin/ -│ ├── add.php -│ ├── board.php -│ ├── delete.php -│ ├── login.php -│ ├── logout.php -│ └── modif.php +│ ├── add.php +│ ├── board.php +│ ├── delete.php +│ ├── login.php +│ ├── logout.php +│ └── modif.php │ ├── assets/ -│ ├── add.css -│ ├── article.css -│ ├── board.css -│ ├── delete.css -│ ├── login.css -│ ├── modif.css -│ └── style.css +│ ├── add.css +│ ├── article.css +│ ├── board.css +│ ├── delete.css +│ ├── login.css +│ ├── modif.css +│ └── style.css │ ├── bdd/ -│ ├── Dockerfile -│ └── init.sql +│ ├── Dockerfile +│ └── init.sql │ ├── include/ -│ ├── authenticator.php -│ └── bd.php +│ ├── authenticator.php +│ └── bd.php │ ├── article.php ├── Dockerfile ├── index.php ├── launch-dockers.sh -└── README.md \ No newline at end of file +└── README.md +``` + +### Structure Générale + +| Dossier / Fichier | Rôle principal | +|------------------|---------------------------------------------------------------| +| admin/ | Pages dédiées à la gestion des articles et à l’administration | +| assets/ | Feuilles de style CSS | +| bdd/ | Scripts SQL et configuration Docker pour la base de données | +| include/ | Fichiers PHP communs (connexion, sécurité, etc.) | +| index.php | Page d’accueil affichant les articles | +| article.php | Page de lecture d’un article | +| launch-dockers.sh | Script de lancement des conteneurs Docker | + +## Objectifs pédagogiques + +- Comprendre le fonctionnement d’un CMS de base. + +- Appliquer le cycle CRUD complet avec PHP/MySQL. + +- Manipuler les sessions et la sécurisation des accès. + +- Mettre en place un environnement Docker pour isoler le développement. \ No newline at end of file