# README – CMS Simplifié ## Présentation Ce mini-projet a été réalisé dans le cadre du module **Développement Web (BTS CIEL – 2ᵉ année)**. L’objectif est de créer un petit site de **gestion d’articles (mini CMS)**. Un administrateur peut se connecter, ajouter, modifier ou supprimer des articles. Les données sont stockées dans une base **MySQL**. --- ## 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/ │ ├── public/ │ ├── assets/ │ │ └── style.css │ ├── add.php │ ├── edit.php │ ├── delete.php │ ├── admin.php │ ├── login.php │ ├── logout.php │ ├── article.php │ └── index.php │ ├── inc/ │ └── db.php │ ├── cms_simplifie.sql ← Base de données exportée ├── .env.example ← Exemple de configuration ├── .gitignore ← Exclut les fichiers sensibles (.env) └── README.md --- ## Fonctionnalités principales - Connexion de l’administrateur avec un **mot de passe haché** - **Ajout, modification et suppression** d’articles - **Affichage** des articles sur la page d’accueil - Thème sombre avec couleurs **noir et or** - **Aucune donnée sensible** visible sur Gitea --- ## Sécurité - Les identifiants MySQL sont stockés dans un fichier **.env** *(non visible sur Gitea)* - Connexion sécurisée avec **PDO** et **requêtes préparées** - Mots de passe stockés avec `password_hash()` et vérifiés avec `password_verify()` - Le fichier **.gitignore** empêche d’envoyer le fichier `.env` sur Gitea --- ## Exécution du projet en local Étape 1 — Ouvrir le dossier du projet Télécharger ou cloner le projet depuis Gitea : ```bash git clone https://gitea.lasallesaintdenis.com/safouane.bazzi/cms-simplifie.git Puis ouvrir le dossier cms-simplifie dans VS Code ou un autre éditeur. Étape 2 — Préparer le fichier .env Copier le fichier .env.example Le coller à la racine du projet Le renommer en .env Modifier les informations selon la configuration MySQL locale : DB_HOST=127.0.0.1 DB_NAME=cms_simplifie DB_USER=root DB_PASS=ton_mot_de_passe Étape 3 — Créer la base de données MySQL Ouvrir DBeaver (ou phpMyAdmin) Créer une nouvelle base de données appelée cms_simplifie Importer le fichier cms_simplifie.sql (fourni avec le projet) Ce fichier contient les tables articles et utilisateur, avec des données d’exemple. Étape 4 — Lancer le serveur PHP Dans le terminal (dans le dossier du projet) : php -S localhost:8000 -t public Si le port 8000 est déjà utilisé : php -S localhost:8080 -t public Étape 5 — Ouvrir le site dans un navigateur Accéder à l’adresse suivante : 👉 http://localhost:8000 (ou 8080 selon le port choisi) Étape 6 — Connexion à l’administration Identifiants de test : Login : admin Mot de passe : admin123 Le mot de passe est haché dans la base de données et n’apparaît nulle part dans le code.