MVC sur le web ?
Notre architecture est destinée à être utilisée dans le cadre du web
choix techniques spécifiques
Contrairement aux interfaces graphiques habituelles, sur le web les
vues ne permettent pas d'interaction en temps réel
- les vues permettent de faire des actions…
- … mais qui doivent passer par une requête HTTP
- requête HTTP = nouvelle page : on exécute à nouveau tout le programme depuis le début
- le contrôleur ne peut pas « écouter » la vue,
ni la vue « écouter » le modèle !
« MVCR »
Une autre différence essentielle est la nature de l'interaction :
- le serveur ne sait pas où l'internaute a cliqué
- il voit seulement ce qu'il y a dans la requête HTTP
- concrètement, une action est constituée
- d'une méthode HTTP (GET, POST, ou autre)
- d'une URL (paramétrée ou non)
- éventuellement, de données dans le corps de la requête (si POST ou PUT !)
On va utiliser un routeur : quatrième composant,
qui s'occupe d'analyser la requête HTTP pour décider quoi faire (c'est-à-dire
quelle méthode du contrôleur doit être exécutée)
On parlera dans ce cours de « MVCR » pour insister sur les différences
L'architecture que l'on va utiliser est une implémentation possible parmi d'autres