Projet Architecture MVC
Conception d'un site web dynamique structuré sans framework externe.
Contexte
Maîtrise des fondamentaux Web
Ce projet visait à développer une application de gestion de contenus (CMS léger) en appliquant strictement le pattern Modèle-Vue-Contrôleur.
L'enjeu n'était pas seulement fonctionnel, mais surtout architectural : il fallait prouver que l'on pouvait organiser un code complexe de manière modulaire sans dépendre d'un framework tiers.
Ce travail permet de comprendre ce qui se passe "sous le capot" des outils modernes.
Aperçu de l'application
Page principale
Espace administration
Objectifs
Partie 1 : Noyau & Routage
Création d'un Front Controller (`index.php`) et d'un routeur capable de mapper les URLs vers les méthodes de contrôleurs spécifiques. Gestion des sessions et de la configuration globale.
Partie 2 : Abstraction & Modèles
Développement de classes Modèles héritant d'une classe de base `Model` pour automatiser les requêtes SQL (Select, Insert, Update). Séparation des vues HTML via un système de templates.
Déroulement
Structure de dossiers
Organisation des dossiers `modele`, `vue`, `controleur` et `public`.
Le Routeur
Code du système de routage et des mécanismes de redirection automatique.
Logique Métier
Implémentation des contrôleurs et des modèles pour gérer les données dynamiques.
Système de Vues
Création d'un layout commun et intégration des vues spécifiques pour chaque action.
Documentation
La structure complète du projet et le code source sont accessibles ci-dessous.
Bilan
Pattern MVC
Maîtrise totale de la séparation des responsabilités.
Front Controller
Compréhension du point d'entrée unique et de la gestion des routes.
Code Propre (POO)
Utilisation avancée des classes pour un code réutilisable et évolutif.