Ce tutoriel vous explique comment réaliser votre site internet en utilisant le modèle dit MVC (Modèle Vue Contrôleur). Vous verrez qu’avec cette méthode, il vous sera très facile de gérer et réaliser votre site. Il ne vous faudra que quelques bases en PHP.
Qu’est ce que MVC ?
Selon Wikipédia : « Le Modèle-Vue-Contrôleur (en abrégé MVC, de l’anglais Model-View-Controller) est une architecture et une méthode de conception qui organise l’interface home-machine (IHM) d’une application logicielle. Ce paradigme divise l’IHM en un modele (modèle de données), une vue (présentation, interface utilisateur) et un contrôleur (logique de contrôle, gestion des événements, synchronisation), chacun ayant un rôle précis dans l’interface. Cette méthode a été mise au point en 1979 par Trygve, qui travaillait alors sur Smalltalk dans les laboratoires de recherche Xerox. »
En gros, MVC, appliqué à un site internet est une séparation totale entre le comportement de l’application, les données de votre site, et le résultat HTML. Ceci impose donc une bonne hiérarchie de rangement de vos dossier et fichiers. Cette petite application sera composée d’un contrôleur qui, comme son nom l’indique, contrôle vos actions et les pages à afficher. Un ou des modèles, qui sont ici des fragments de pages que l’on incluera dans un fichier dit « principal ». Et une vue qui est le rendu HTML.
Voila une représentation de ma hiérachie de dossier:

Explications dans l’ordre de l’image ci-dessus:
Dossier design -> c’est ici que vous déposerez tout ce qui concerne le design de votre site et uniquement le design. C’est à dire tous les fichiers.css et les images de background.
Dossier entrepot -> dans ce dossier vous entreproserez tous vos medias, les images illustratives des articles par exemple, vos vidéos et musiques.
Fichier index.php -> c’est votre contrôleur. Nous verrons son fonctionnement plus tard.
Dossier pages -> dans ce dossier se trouverons tous vos fragments de pages, ces fragments sont les Modèles. L’extention reste .php, j’utilise .frg.php simplement pour un soucis de lisibilité.
Dossier squelettes -> ce dossier aura tous vos fichier dit squelettes, c’est à dire la structure de vos pages. Ces fichiers squelette comporte le DOCTYPE, les balises head et les méta données par exemple. Dans ce tutoriel nous n’utiliserons qu’un seul squelette que je nomme principal.
Dossier travailleur -> Ici vous mettrez tous vos script, application flash etc …
Fichier index.php – Votre contrôleur
Pour commencer regardons le code de notre exemple :
$titre -> variable qui sera afficher dans les balise
$squelette -> initialisation du squelette. Dans cette variable il faut mettre le chemin vers votre squelette à partir de l’endroit ou s’éxécute votre fichier « index.php ».
$page -> initialisation de la variable page. La variable page possède le chemin de votre fragment affiché. il est nécéssaire de l’initialiser pour afficher, par défaut, un fragment. Par exemple on lui demande d’afficher accueil.frg.php.
Un petit rappel: Les variables superglobal de type $_GET[’ma_valeur']; récupèrent les paramètres passés dans l’URL. Par exemple dans notre exemple, quand on change de page on a l’URL suivante :
http://snoupix.com/demo/MVC/index.php?page=page1
Si on demande d’afficher $_GET['page'] on aura page1. C’est comme cela qu’on peut savoir quel fragment afficher. De plus isset() est une fonction php qui vérifie si ce qui lui est passé en paramètre existe. Donc la condition vérifie qu’il y à bien une récupération de la valeur page. Si cette valeur existe on redéfinie la variable $page pour afficher le fragment voulue.
Et pour finir nous devons implement inclure grâce à la fonction include() notre squelette.
Fichier principal.frg.php
Regardons le code :
Le fichier principal.frg.php est une page HTML banale avec toutes les données HTML. Il faut juste regarder dans la div conteneur où se trouve un bout de code PHP comme . C’est tout simplement ici que seront inclus, ou importés les fragments.
Pour finir, dans les fragment vous mettrez tous ce que vous désirez. C’est à dire, code html, code php, image, texte etc…
Bonne programmation à vous


