2025-11-06 19:56:58 +00:00
2025-11-02 18:08:53 +01:00
2025-11-02 18:08:53 +01:00
2025-11-02 18:08:53 +01:00
2025-11-02 18:08:53 +01:00
2025-11-02 18:08:53 +01:00
2025-11-02 18:08:53 +01:00
2025-11-02 18:08:53 +01:00
2025-11-02 18:08:53 +01:00
2025-11-02 18:08:53 +01:00
2025-11-06 19:56:58 +00:00

Mini-Projet de Développement Web CMS Simplifié

Introduction

Ce mini-projet a pour objectif de mettre en pratique les fondamentaux du développement web dynamique** en utilisant PHP pur et MySQL.

Il consiste à concevoir et réaliser un CMS (Content Management System) simplifié intégrant le cycle complet CRUD (Create, Read, Update, Delete)**.

Lobjectif principal est de comprendre comment manipuler une base de données, gérer des sessions utilisateurs et structurer un projet PHP sans framework, tout en respectant les bonnes pratiques de sécurité et dorganisation du code.

Technologies utilisées

  • PHP (pur)
  • MySQL (via PDO)
  • HTML5 / CSS3
  • Docker & Docker Compose

Fonctionnalités principales

Zone publique

  • Affichage des 10 derniers articles, du plus récent au plus ancien.
  • Consultation du contenu complet dun article.
  • Gestion dune page derreur 404 si larticle nexiste pas.

Zone dadministration

  • Authentification sécurisée avec password_hash() et password_verify().
  • Gestion complète des articles : ajout, modification, suppression.
  • Tableau de bord (dashboard) accessible uniquement après connexion.

Lancement du projet avec Docker

Prérequis

Assurez-vous davoir installé sur votre machine :

Démarrer les conteneurs

Depuis la racine du projet, exécutez les commandes suivante :

chmod +x launch-dockers.sh

./launch-dockers.sh

Une fois les conteneurs démarrés, le site sera accessible dans votre navigateur à l'adresse :

http://localhost:8080/

Accès au compte admin

Utilisateur Mot de Passe
user usecms123

Ces identifiants sont définis dans la base de données dinitialisation (bdd/init.sql).

Arborescence du projet

Projet_CMS/
│
├── admin/
│   ├── add.php
│   ├── board.php
│   ├── delete.php
│   ├── login.php
│   ├── logout.php
│   └── modif.php
│
├── assets/
│   ├── add.css
│   ├── article.css
│   ├── board.css
│   ├── delete.css
│   ├── login.css
│   ├── modif.css
│   └── style.css
│
├── bdd/
│   ├── Dockerfile
│   └── init.sql
│
├── include/
│   ├── authenticator.php
│   └── bd.php
│
├── article.php
├── Dockerfile
├── index.php
├── launch-dockers.sh
└── README.md

Structure Générale

Dossier / Fichier Rôle principal
admin/ Pages dédiées à la gestion des articles et à ladministration
assets/ Feuilles de style CSS
bdd/ Scripts SQL et configuration Docker pour la base de données
include/ Fichiers PHP communs (connexion, sécurité, etc.)
index.php Page daccueil affichant les articles
article.php Page de lecture dun article
launch-dockers.sh Script de lancement des conteneurs Docker

Objectifs pédagogiques

  • Comprendre le fonctionnement dun CMS de base.

  • Appliquer le cycle CRUD complet avec PHP/MySQL.

  • Manipuler les sessions et la sécurisation des accès.

  • Mettre en place un environnement Docker pour isoler le développement.

Description
No description provided
Readme 45 KiB
Languages
CSS 59.6%
PHP 38%
Shell 1.4%
Dockerfile 1%