L’architecture MVC (Modèle, Vue et Contrôleur) est un concept très puissant qui est mis en place pendant la réalisation d’une application. Son principal intérêt est la séparation des données (modèle), de l’affichage (vue) et des actions (contrôleur). Ce concept peut très bien être appliqué à un site ou une application internet. De nombreux sites internet disposent d’une plateforme d’administration pour modifier facilement les contenus conçue selon le modèle MVC.
Il est bien évident que l’utilisateur qui va utiliser ce système pour créer des pages ne doit pas modifier la structure complète du site, ni les actions ni l’affichage. Pour qu’il ne modifie que les données, celles-ci doivent alors être isolées. C’est sur ce constat que se base le système MVC. Chaque partie est bien distincte. Les données peuvent provenir d’une source quelconque et la vue peut être conçue par des webdesigners n’ayant pas de connaissance en programmation.
L’approche MVC apporte de réels avantages:
L’architecture MVC est donc décomposée en trois étapes:
1. Le Modèle
Le modèle correspond aux données, la plupart du temps stockées dans une base de données. Mais celles-ci peuvent également êtres contenues dans un fichier XML ou dans des fichiers texte.
Les données peuvent être exploitées sous forme de classes, dans un langage de programmation orientée objet (comme PHP5).
2. Le Contrôleur
Le contrôleur est l’élément qui va utiliser les données pour les envoyer à la vue. Son rôle est donc de récupérer les informations, de les traiter en fonction des paramètres demandés par la vue (par l’utilisateur, exemple: afficher les derniers articles), puis de renvoyer à la vue les données afin d’être affichées.
Le contrôleur peut donc instancier différents objets (classe User, classe Articles, …) qui enverront des requêtes vers la base de données ou récupéreront des données XML.
La transmission à la vue des données récupérées se fait généralement à l’aide d’un template: insertion des données dans un fichier HTML qui va être envoyé au navigateur.
3. La Vue
La vue correspond à un fichier HTML la plupart du temps (peut être un fichier XML avec une feuille de style XSL). Elle se contente d’afficher le contenu qu’elle reçoit sans avoir connaissance des données.
Elle ne contient que les informations liées à l’affichage. Dans le cas d’une page HTML contient les éléments dans lesquels vont venir s’insérer les contenus.
En résumé, lorsqu’un client envoie une requête à l’application :
Conclusions:
L’architecture MVC est une solution très intéressante et très puissante, à mettre en œuvre dans de grands projets de préférence.
L’indépendance des trois couches est très importante, car c’est grâce à cette différenciation que l’architecture puise sa puissance et sa logique.
Il est ainsi facile de mettre à jour le design de son site, sans toucher aux données ni à la façon dont elles sont organisées. Inversement, il est aussi facile de modifier la structure de stockage des données ou la manière dont elles sont gérées sans bouleverser l’affichage.
27 Avenue Taieb Mhiri
Immeuble Yasmina, bureau 17
2080 Ariana, Tunis, Tunisie
+216 22 774 450
Centre d'affaires TODA 2
Rue du Rhin Napoléon
67100 Strasbourg, France
+33 9 80 80 10 18
Rue du Port Franc, 2A
1003 Lausanne
Suisse
Avenue Mutsaard, 41
1020 Bruxelles
Belgique
+32 2 588 07 54