This commit is contained in:
2025-11-01 18:44:35 +01:00
parent 8ce52971a9
commit d24bc9d52f

View File

@@ -6,7 +6,7 @@ L'application est divisée en deux parties :
1. Une **Zone Publique** pour consulter les articles. 1. Une **Zone Publique** pour consulter les articles.
2. Une **Zone Administration** protégée par mot de passe, qui permet la gestion complète (CRUD) des articles. 2. Une **Zone Administration** protégée par mot de passe, qui permet la gestion complète (CRUD) des articles.
## 🚀 Procédure d'installation ## Procédure d'installation
Pour installer et lancer ce projet en local, vous aurez besoin d'un environnement serveur (MAMP, XAMPP, WAMP, Docker, etc.) supportant PHP et MySQL. Pour installer et lancer ce projet en local, vous aurez besoin d'un environnement serveur (MAMP, XAMPP, WAMP, Docker, etc.) supportant PHP et MySQL.
@@ -32,15 +32,3 @@ Un compte administrateur est créé par défaut par le script `tables.sql` pour
* **Login :** `admin` * **Login :** `admin`
* **Mot de passe :** `admin123` (ou celui que vous avez généré) * **Mot de passe :** `admin123` (ou celui que vous avez généré)
## 🏛️ Architecture du Projet
* **Langage :** PHP pur (orienté script, sans framework).
* **Base de Données :** MySQL.
* **Connexion :** L'extension **PDO** est utilisée pour toutes les interactions avec la base de données.
* **Sécurité :**
* **Mots de passe :** Hachage systématique avec `password_hash()` et vérification avec `password_verify()`, comme exigé.
* **Injections SQL :** Prévention totale grâce à l'utilisation exclusive de **requêtes préparées** (avec `prepare()` et `execute()`).
* **Failles XSS :** Protection lors de l'affichage des données avec `htmlspecialchars()`.
* **Zone Admin :** Toutes les pages d'administration (`dashboard.php`, `creer_article.php`, etc.) sont protégées et vérifient l'existence d'une `$_SESSION` active, redirigeant vers `login.php` si l'utilisateur n'est pas authentifié.
* **Gestion des Erreurs :** La page `article.php` gère les ID invalides ou inexistants en affichant un message d'erreur, comme demandé.