L'architecture MVC :
Modèle – Vue – Contrôleur
Dans ce cours!
• On s'interesse à l’architecture MVC
• Exemple de développement
Architecture Client/Serveur
Request
Client Serveur
Response
Architecture Client/Serveur
Un client lourd
Englobe toutes les applications que l’on installe sur chaque poste de travail des
différents collaborateurs. Ces applications peuvent être liées à un serveur qui
sauvegardera les données. Exemple : Word ou Excel.
Un client léger
Est entièrement géré par un serveur, de la gestion au stockage des données. Les
utilisateurs de l’application auront accès aux données par un portail sécurisé depuis
leur navigateur (Internet Explorer, Firefox…).
Exemple : Google ou la gestion de son compte bancaire par internet.
Architecture Client/Serveur
Request Serveur Web
Tomcat
(Servlet , JSP)
Client Serveur
léger Wab Logic
Serveurs Web sphere
Response d’application Jboss
(EGB container) Glassfish
Apache Geronimo
Architecture Client/Serveur
Serveurs web
Le serveur Web est destiné à afficher des pages (HTML et CSS), à interpréter du
javascript, des servlet et de page JSP.
Servlet: est une classe Java qui permet de créer dynamiquement des données au
sein d'un serveur HTTP.
JSP (Java Server Pages): sont une technologie Java qui permet la génération
de pages web dynamiques.
Serveurs d’application
Un serveur d’application est un logiciel d'infrastructure offrant un contexte
d'exécution pour des composants applicatifs.
MVC
Modèle-vue-contrôleur ou MVC est un motif d'architecture logicielle destiné
aux interfaces graphiques
Historique:
Lancé en 1978 par Trygve Reenskauget.
Principe général
– Permet de bien organiser son code source
– Isoler la donnée elle-même de sa présentation
– Distinguer la consultation de la modification
Les 3 composantes suivantes d'une donnée sont distinguées et séparées
❖ Le modèle (sa structure)
❖ La vue (sa représentation pour affichage)
❖ Le contrôleur (les moyens de modifier la valeur)
Principe général
Modèle : la partie qui concerne les données (base de données, fichiers...) de notre
application (site...). Il dispose de toutes les méthodes d'accès aux données (insert, delete,
update, select)
Vue : la partie qui concerne l’affichage : l’interface avec laquelle l’utilisateur interagit
(page HTML...). C’est la vue qui s’occupe de la visualisation des données retournées
par le modèle.
Contrôleur : c’est l’intermédiaire entre le modèle et la vue. Il demande les données au
modèle, les analyse, et prend ensuite des décisions et renvoie le texte à afficher à la vue.
Principe général
Fux de traitement
1. Un client envoie une requête à l'application
2. La requête envoyée depuis la vue est analysée par le contrôleur (via par exemple
un handler ou callback).
3. Le contrôleur demande au modèle approprié d'effectuer les traitements et notifie à
la vue que la requête est traitée.
4. La vue notifiée fait une requête au modèle pour se mettre à jour (par exemple
affiche le résultat du traitement via le modèle).