Programmation Web Avancée Architecture MVC et Frameworks 5 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks Programmation Web Avancée 3 : Plan Frameworks Modèle-Vue-Contrôleur MVC Web et Spring MVC MVC Web en Pratique 6 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks Programmation Web Avancée 3 : Plan Frameworks Modèle-Vue-Contrôleur MVC Web et Spring MVC MVC Web en Pratique 7 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks Qu'est-ce qu'un framework ? Wikipedia Un framework est un ensemble cohérent de composants logiciels structurels, qui sert à créer les fondations ainsi que les grandes lignes de tout ou d’une partie d'un logiciel (architecture). Un framework se distingue d'une simple bibliothèque logicielle : le framework est actif inversion de contrôle, « main » dans le framework, etc Hollywood Principle: "Don't call us, we'll call you." flux de contrôle géré par le framework le comportement par défaut est utile le framework est extensible fonctions de rappel (callbacks), sous-classes personnalisées, etc le framework est non-modifiable Traductions possibles : cadre d'applications, canevas, cadriciel, socle d'applications Utilité ? 8 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks Exemples de frameworks Frameworks Web (non exhaustif) Java : JavaEE, JSF, Spring, JPA, Hibernate, … HTML/CSS : Bootstrap, picnic.css, … Javascript : AngularJS, Ember.js, backbone.js, React.js, … Scala : play, … Python : django, … Ruby : rails, … Groovy : grails, … PHP : symfony, … Autres JavaSE, JavaME, langage de programmations Swing, Eclipse RCP, Cocoa Drupal, DjangoCMS, Joomla DirectShow, Gstreamer 9 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks Programmation Web Avancée 3 : Plan Frameworks Modèle-Vue-Contrôleur MVC Web et Spring MVC MVC Web en Pratique
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Programmation Web AvancéeArchitecture MVC et
Frameworks
5 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks
Programmation Web Avancée 3 : PlanFrameworks
Modèle-Vue-Contrôleur
MVC Web et Spring MVC
MVC Web en Pratique
6 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks
Programmation Web Avancée 3 : PlanFrameworks
Modèle-Vue-Contrôleur
MVC Web et Spring MVC
MVC Web en Pratique
7 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks
Qu'est-ce qu'un framework ?Wikipedia
Un framework est un ensemble cohérent de composants logicielsstructurels, qui sert à créer les fondations ainsi que les grandes lignes detout ou d’une partie d'un logiciel (architecture).
Un framework se distingue d'une simple bibliothèque logicielle :
le framework est actifinversion de contrôle, « main » dans le framework, etcHollywood Principle: "Don't call us, we'll call you."flux de contrôle géré par le framework
le comportement par défaut est utilele framework est extensible
fonctions de rappel (callbacks), sous-classes personnalisées, etc
Model : données et logique métiercorrespond au modèle mental de l'utilisateur
View : afficher/filtrer les informations du modèleconnaît la structure du modèlepeut aussi agir sur le modèle
Controller : gérer les actions utilisateursagit sur les vues et/ou modèle
A controller is the link between a user and the system. … The controllerreceives such user output, translates it into the appropriate messagesand pass these messages on to one or more of the views.
11 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks
Vueobjets graphiquesécoute le modèle (patron observateur) et se met à jourex : JButton, JCheckBox, JSlider, JList, JTextField
Contrôleurau niveau de la fenêtre
routage des événements (aiguillage)événements clavier ⇒ composant qui a le focusévénements souris ⇒ composant sous le curseur
au niveau de chaque composantaction sur le modèle du composanttransmission à un « listener » défini par le programmeur
12 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks
Objectifs du MVCMVC = Model-View-Controller
Séparation du système en trois types d'élémentsmodèle : données et logique/règles métiervues : afficher et filtrer les données du modèlecontrôleurs : gérer les actions utilisateurs
Séparation de responsabilitésle modèle gère les données métier, il ne connaît rien d'autreles vues connaissent la structure du modèleles vues ne contiennent pas de logique métierles contrôleurs interprètent des actions utilisateursles contrôleurs agissent sur le modèles et/ou les vues
13 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks
Programmation Web Avancée 3 : PlanFrameworks
Modèle-Vue-Contrôleur
MVC Web et Spring MVC
MVC Web en Pratique
14 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks
Interaction Client-Serveur
marque page : googleGET http://www.google.com
contenu HTMLpage affichée
saisie : « jean dujardin »+ click "chercher"
GET ...?q=jean%20dujardin
contenu HTMLpage affichée
15 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks
Qu'est ce qu'un serveur WebUn programme
Écoute sur un port réseau (80 par défaut)
Reçoit des requêtes utilisant le protocole HTTP
Répond avec une ressource en utilisant le protocole HTTP
Différents type de ressourcespages HTMLCSSimagesJSONtexte brute…
16 / 25 − Rémi Emonet − Programmation Web Avancée Architecture MVC et Frameworks
MVC avec Servlets et JSPModèle
JavaBeans et objetspersistance avec SQL (JDBC)
VuesJSP (compilées en servlets)avec EL et tags JSTL