2025-10-21 22:02:37 +02:00
2025-10-21 21:34:20 +02:00
2025-10-21 21:34:20 +02:00
2025-10-21 21:34:20 +02:00
2025-10-21 22:02:37 +02:00
2025-10-21 21:34:20 +02:00

Mini-Projet de Développement Web CMS Simplifié

Présentation du projet

Ce mini-projet a été réalisé dans le cadre du module Développement Web (BTS CIEL 2ᵉ année).

Lobjectif était de créer un mini CMS (Content Management System) simplifié permettant :

  • la connexion sécurisée dun administrateur ;
  • la création, modification et suppression darticles (CRUD) ;
  • laffichage des données stockées en base MySQL.

Le projet est réalisé sans framework, uniquement avec les langages vus en cours : HTML, CSS, Bootstrap, PHP (PDO), et SQL.


Technologies utilisées

Technologie Utilisation
HTML5 Structure des pages
CSS3 / Bootstrap 5 Mise en forme et design responsive (thème noir & or)
PHP (Sessions, PDO) Connexion, sécurité et interaction avec MySQL
MySQL Base de données pour les utilisateurs et articles
Docker Conteneurs PHP/Apache et MySQL
Git / Gitea Gestion de version et hébergement du projet

Structure du projet

cms-simplifie/ │ ├── public/ │ ├── assets/ │ │ └── style.css → Design global (thème noir & or) │ ├── add.php → Page dajout dun article │ ├── edit.php → Page de modification dun article │ ├── delete.php → Page de suppression dun article │ ├── admin.php → Tableau de bord (gestion des articles) │ ├── login.php → Page de connexion administrateur │ ├── logout.php → Déconnexion │ ├── article.php → Lecture dun article │ └── index.php → Accueil (affichage des articles) │ ├── inc/ │ └── db.php → Connexion PDO sécurisée à MySQL │ ├── scripts/ → (optionnel, outils ou scripts SQL) │ ├── .env.example → Exemple de configuration (sans mot de passe) ├── .gitignore → Exclut .env et fichiers sensibles ├── stack.bibli.yaml / Dockerfile → Configuration Docker └── README.md → Ce fichier


Fonctionnalités principales

  • Connexion dun utilisateur (admin) avec vérification du mot de passe haché.
  • Gestion complète des articles (CRUD) : créer, lire, modifier, supprimer.
  • Interface dadministration simple et claire.
  • Design noir & or pour une ambiance moderne et élégante.
  • Sécurisation via sessions PHP et requêtes préparées PDO.
  • Aucune donnée sensible visible dans le code source.

Sécurité

  • Les identifiants MySQL sont stockés dans .env, jamais dans le code.
  • Le fichier .gitignore empêche toute fuite de .env.
  • Les mots de passe sont hachés avec password_hash() et vérifiés avec password_verify().
  • Connexion à la base via PDO pour éviter les injections SQL.

Lancer le projet en local

Étapes :

1 Démarrer les conteneurs Docker :

docker stack deploy -c stack.bibli.yaml cms

2 Copier le fichier .env.example pour créer ton .env personnel :

cp .env.example .env

3 Modifier le fichier .env pour y mettre tes identifiants MySQL :

DB_HOST=mysql DB_NAME=cms_simplifie DB_USER=root DB_PASS=tonmotdepasse

4 Accéder au site localement : 👉 http://localhost:8000

5 Tester la connexion à la base : 👉 http://localhost:8000/test-db.php

Description
No description provided
Readme 45 KiB
Languages
PHP 86.8%
CSS 13.2%