
Le MVC, tout simplement !
Explication simple pour comprendre ce design pattern

Article de Christophe_c
Le MVC
Petit acronyme de Model - View - Controller,
cette architecture de programmation peut gêner lorsque nous la découvrons.
Pour ma part, les explications que j'ai pu croisées étaient toujours trop techniques pour mon niveau de l'époque.
C'est pourquoi j'ai essayé de vous trouvé une métaphore la plus simple possible pour comprendre avec un exemple concret imageant le fonctionnement de ce design pattern.
Vidéo
Les 3 éléments Model - View - Controller ne se suffisent pas à eux-mêmes.
Un point d'entrée, comme index.php, et une base de données
sont des éléments cruciaux également.
Si nous jouons au Petit Poucet, comme souvent quand nous gérons un backend...
1 - l'index/l'utisateur passe sa commande
2- le controller voit s'il peut le servir
3a- le controller n'a pas besoin d'informartions complémentaires, une page statique ar exemple, il sert sa vue. Fin !
3b - le controller a besoin d'informations complémentaires, il appelle le model
4b - le model regarde les besoins et va communiquer avec la base de données (CRUD)
5b - le model envoie les informations au controller
6b - le controller traite ces informations et renvoie la vue à l'utilisateur.
Prenons un cas concret :
1) Je m'inscris sur un site.
Je fais face à un formulaire vierge.
Nous sommes passés par l'index, le controller puis la vue du formulaire vierge est reçus
2) Je veux modifier mes informations.
Demande faite par l'index au controller qui a besoin de mes infos personnelles pour préremplir le formulaire.
Il demande ces infos au model qui les prend en base de données et les renvoie au controller.
Ce dernier me propose une vue dont les input contiennent mes informations actuelles à modifier potentiellement.
Et l'intérêt du MVC dans tout ça ?
▶️séparation des responsabilités (logique / interface / requêtes)
▶️maintenance facilitée (en modification ou débbugage)
▶️réutilisation du code (un même requête est utilisable à plusieurs endroits)
▶️scalabilité (on peut ajouter des models, des vues, des controllers sans gêner l'existant)
▶️projet en commun (les front touchent les vues quand les back jouent avec les models)
Au final, le MVC c'est modulable, clair et facile à maintenir !
Une fois que vous en avez fait un, vous pouvez reprendre la structure de base et partir faire un nouveau projet facilement !
Et si bientôt, nous faisions notre propre projet en utilisant la structure MVC ? 😎
A bientôt Compagnon de Code