128 lines
3.3 KiB
Markdown
128 lines
3.3 KiB
Markdown
# 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. |