2025-11-01 18:24:35 +01:00
2025-11-01 18:24:35 +01:00
2025-10-25 16:18:01 +02:00
4
2025-10-23 18:12:14 +02:00
2025-11-01 18:24:35 +01:00
2025-11-01 18:24:35 +01:00
2025-11-01 18:24:35 +01:00
2025-11-01 18:24:35 +01:00
70%
2025-10-29 16:54:38 +01:00
70%
2025-10-29 16:54:38 +01:00
2025-11-01 18:24:35 +01:00
2025-11-01 18:24:35 +01:00
2025-11-01 18:24:35 +01:00

Mini-Projet : CMS Simplifié (PHP-SQL)

Ce projet est un système de gestion de contenu (CMS) simple réalisé en PHP pur et sql. Il utilise l'extension PDO pour des requêtes sécurisées vers une base de données MySQL.

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

Pour installer et lancer ce projet en local, vous aurez besoin d'un environnement serveur (MAMP, XAMPP, WAMP, Docker, etc.) supportant PHP et MySQL.

  1. Code Source

    • Clonez ou téléchargez ce dépôt et placez le dossier my_sql_projet dans le répertoire web de votre serveur (ex: htdocs/).
  2. Base de Données

    • Ouvrez votre outil de gestion de base de données (comme phpMyAdmin).
    • Créez une nouvelle base de données. Le nom attendu est my_sql_projet.
    • Sélectionnez cette base de données et importez le fichier sql/tables.sql. Ce script créera les tables articles et utilisateur, et insérera l'administrateur par défaut.
  3. Configuration de la Connexion

    • Dans le dossier php/, trouvez le fichier pdo.example.php.
    • Copiez-le et renommez la copie en pdo.php.
    • Ouvrez pdo.php et modifiez la variable $pass pour y mettre votre propre mot de passe de base de données (ex: "root" pour MAMP).
  4. Lancement

    • C'est terminé ! Vous pouvez maintenant accéder au site public via http://localhost/my_sql_projet/ et à la page de connexion admin via http://localhost/my_sql_projet/login.php.

🔑 Identifiants de Connexion

Un compte administrateur est créé par défaut par le script tables.sql pour vous permettre de tester la zone d'administration.

  • 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é.
Description
No description provided
Readme 59 KiB
Languages
PHP 100%