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.
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.
@@ -32,15 +32,3 @@ Un compte administrateur est créé par défaut par le script `tables.sql` pour
* **Login :** `admin`
* **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é.