Vous êtes sur la page 1sur 11

Architectures MVC

et Frameworks
SIL3
Plan du cours
▪ Introduction
▪ Architecture MVC
Définition
Avantages
Principes
Exercice d’application
▪ Introduction au framework Symfony
Introduction
• Caractéristiques d’un code professionnel?
Architecture MVC
▪ L’architecture MVC ou structure MVC  est un motif ou concept
d'architecture logicielle destiné aux interfaces graphiques (design
pattern).
▪ Elle a été crée par  Trygve Reenskaug en 1978
▪ Le motif est composé de trois types de modules ayant trois
responsabilités différentes : les modèles, les vues et les contrôleurs.
▪ Cette structure de programmation n'est pas propre aux applications web
et vient en fait du développement logiciel mais elle a été adaptée au web
pour permettre d'avoir un code mieux organiser et surtout ré organisable.
Avantages

• Clarté et lisibilité du code


• Permet le travail à plusieurs
• Permet la séparation du backend du frontend
• Facilite la maintenance ou l’amélioration du projet par d’autres
développeurs
Principes
Modèles : gestion des données

Ensemble d’ éléments qui contiennent les données ainsi que de la logique


en rapport avec les données : validation, lecture et enregistrement.
Le modèle représente l'univers dans lequel s'inscrit l'application. Par
exemple pour une application de banque, le modèle représente des
comptes, des clients, ainsi que les opérations telles que dépôt et retraits, et
vérifie que les retraits ne dépassent pas la limite de crédit.
Son objectif est de fournir une interface d'action la plus simple possible au
contrôleur. On y trouve donc entre autres des requêtes SQL.
Vues: affichage de l’interface graphique

▪ Une vue contient des éléments visuels ainsi que la logique nécessaire pour
afficher les données provenant du modèle. Elle ne fait presque aucun
calcul et se contente de récupérer des variables pour savoir ce qu'elle doit
afficher.
▪ Dans une application web une vue contient des balises HTML, mais aussi
quelques boucles et conditions PHP très simples, pour afficher par
exemple une liste de messages.
Contrôleur: logique, calcul, décision
▪ Traite les actions de l'utilisateur, modifie les données du modèle et de la vue
▪ C’est l’élément liant. Il va s'occuper de recevoir les données entrées par l'utilisateur
et de communiquer les changements aux modèles. Il pourra aussi communiquer
avec les modèles pour obtenir des informations qu'il pourra ensuite transférer à la
vue.
▪ Il gère les échanges avec l'utilisateur. Intermédiaire entre l'utilisateur, le modèle et la
vue. Le contrôleur reçoit des requêtes de l'utilisateur. Pour chacune, il va demander
au modèle d'effectuer certaines actions (lire des articles de blog depuis une base de
données, supprimer un commentaire) et de lui renvoyer les résultats (la liste des
articles, si la suppression est réussie). Puis il va adapter ce résultat et le donner à la
vue. Enfin, il va renvoyer la nouvelle page HTML, générée par la vue, à l'utilisateur.
Portée de l’architecture MVC
▪ Utilisée par de nombreux frameworks pour applications
web tels que Symfony, Laravel, Django, AngularJS,
CodeIgniter, etc

Vous aimerez peut-être aussi