Circum Blog

Circum Net – IT – Conseils pratiques

L’approche MVC

Programmation

L’approche MVC, pour Model-View-Controler ou en français Modèle-Vue-Contrôleur, privilégie la séparation du traitement des données de leur présentation. Elle préconise l’organisation du code d’interface utilisateur en trois composants distincts :

  • Modèle : en charge de la gestion des données d’une application (partie logique de l’application / règles métiers).
  • Vue : en charge du dialogue avec les utilisateurs (partie habillage de l’application / dessin des écrans).
  • Contrôleur : en charge de l’orchestration des requêtes des utilisateurs et de leur relais vers les modèles (partie liaison modèles-vues / aiguillage).

Cette approche permet aux développeurs de profiter des avantages suivants :

– séparation entre les données, la présentation et les traitements;
– souplesse;
– maintenance allégée;
– possibilité d’évolution renforcée;
– spécialisation des tâches et division claire du travail.

Architecture MVC

Architecture MVC - 3 niveaux

Le contrôleur

Le contrôleur n’effectue pas ou très peu de traitement (éventuellement un travail de préparation et/ou de redirection). Il réceptionne et gère les événements provenant de l’utilisateur, enclenche les actions à effectuer sur les données en sollicitant le modèle adéquat et renvoie la vue correspondant à la demande. On n’y retrouvera donc pas d’instruction d’habillage proprement dit.



Utilisation d’un framework

Programmation

Un framework (qui pourrait être traduit par “espace de travail modulaire”) est constitué d’un ensemble de bibliothèques et de conventions servant à la réalisation d’applications informatiques. En imposant un certain nombre de règles et de briques logicielles, un framework vise à fournir un cadre de travail rigoureux permettant de produire rapidement des applications cohérentes, fiables et aisées à maintenir.

Au nombre des avantages des frameworks on peut citer :

– la formalisation des procédures;
– la standardisation des procédures;
– la convergence des procédures;
– la modularité du code;
– la réutilisation du code.

A contrario, en ce qui concerne les inconvénients d’un recours à un framework, on pourra trouver :

– la rigidité de l’architecture;
– l’inadaptation à certains contextes (lourdeur);
– une courbe d’apprentissage parfois longue.

Il existe aujourd’hui un grand nombre de frameworks quelque soit le langage de programmation privilégié. En voici les plus évidents :

En PHP :

Zend Framework
Symfony
Laravel
Phalcon
Yii
CodeIgniter
CakePHP

En Python :

Zope
Django
Pylons