d3:cours:le_modele_mvc

Ceci est une ancienne révision du document !


Utilisation du modèle MVC (Modèle Vue Contrôleur)

Un modèle (pattern en anglais) permet de disposer d'une architecture d'application standard. Il est le fruit de l'expérience de développeurs sur une longue période. Il est constitué d'une succession de “bonnes pratiques”.

  • pour faciliter le travail en équipe
  • pour faciliter la compréhension d'application que l'on n'a pas écrite soi-même et ainsi
  • être capable :
    • d'effectuer des opérations de maintenance ou de correction
    • de faire évoluer l'application.

Le modèle MVC est le standard actuellement le plus connu concernant les applications web, tout développeur doit donc le connaître, notamment pour savoir se repérer dans les applications déjà existantes.

Le modèle MVC impose une répartition des tâches de l'application selon 3 couches.

Ces 3 couches sont :

  • la couche Contrôleur interprète les requêtes de l'utilisateur et sollicite les couches Modèles ou Vue selon les besoins. Elle agit comme un “chef d'orchestre”.
  • la couche Modèle comprend le traitement, le stockage et la mise à jour des données. On y retrouvera notamment les classes métiers, ainsi que la partie accès aux bases de données.
  • la couche Vue est chargée de la mise en forme et de l'affichage des données présentées à l'utilisateur. Une vue ne doit pas appeler directement un contrôleur.

C’est le contrôleur qui décide quelle vue charger et avec quelles données. Si une vue appelle un contrôleur, on sort du MVC.

Représentation schématique du modèle MVC

Le principal intérêt du développement en couche est de faciliter les évolutions de l'application. Ainsi, si l'application devait être accessible depuis de nouveaux périphériques, il suffirait de modifier ou d'adapter les programmes de la couche “Vue”, sans aucune modification sur les autres couches. De même, si un traitement sur les données est à changer, il suffira d'agir sur la couche “Modèle”.

Développer avec le modèle en couches MVC permet donc de rendre possible les évolutions futures non encore connues au moment du développement sans remettre en cause tout l'existant.

  • d3/cours/le_modele_mvc.1757274009.txt.gz
  • Dernière modification : 2025/09/07 21:40
  • de dthevenot