Architecture Modèle-Vue-Contrôleur (MVC)

Développement web
Par leaknorr
19 juin 2012
Modèle Vue Contrôleur

Comme évoqué dans notre article «Séparation structure/présentation/comportement», la tendance actuelle est de séparer le fond de la forme et ainsi les différentes couches d’une application (données, présentation et traitements) par souci de clarté et pour simplifier la maintenance des différents acteurs du projet (développeurs et webdesigners).
Modèle-Vue-Contrôleur ou Model-View-Controller Design Pattern en anglais est une architecture de l’interface entre l’homme et la machine d’une application logicielle qui sépare donc les informations en trois parties:
Schéma Modèle-Vue-Contrôleur
Modèle: données de l’application.
Vue: interface utilisateur qui présente les données du modèle et transmet les actions de l’utilisateur au contrôleur.
Contrôleur: met à jour la vue ou le modèle en fonction des requêtes de l’utilisateur et les synchronise.

Ne pas confondre avec

  • L’architecture trois tiers: architecture applicative à trois niveaux ou couches qui sont présentation (dialogue avec l’utilisateur), métier (traitement des données) et accès aux données (données qui doivent être conservées). La différence avec MVC réside dans le fait que les données et leur traitement sont séparés et qu’une couche ne peut communiquer qu’avec la couche située au-dessus ou en-dessous d’elle.
  • Présentation, abstraction, contrôle (PAC): conception de l’interface homme-machine d’une application logicielle dans laquelle les composants sont constitués de trois facettes qui sont la présentation (interaction avec l’utilisateur), l’abstraction (gestion des données) et le contrôle (synchronisation entre les deux autres facettes). Contrairement à MVC, PAC ne décrit pas comment les facettes doivent être connectées.

Il existe également des patrons de conception dérivés du MVC fonctionnant sur le même principe à une différence près: RVP (Resource-view-presenter), MVP (Model-view-presenter), MVVM (Model-view-viewModel).

Implémentation

Voici quelques frameworks utilisant l’architecture MVC côté serveur ou côté client:

La différence se situe au niveau de l’interprétation du code, qui est réalisée d’un côté (serveur) ou de l’autre (navigateur web). Tandis que la première méthode permet une meilleure sécurisation du code, la seconde utilise des langages de scripts, plus simples et plus légers.

On peut aussi implanter une architecture MVC en PHP par soi-même. Un très bon tutoriel de Grafikart, «Créer un MVC», nous explique comment faire.

Ressource complémentaire:
«Un pattern puissant: le pattern MVC»

Ajouter un commentaire

Articles similaires