Design Pattern MVC En PHP5.

Slides:



Advertisements
Présentations similaires
Projets Dossier de conception Logiciel
Advertisements

Etude de Cas Une compagnie d'assurance automobile propose à ses clients quatre familles de tarifs identifiables par une couleur, du moins au plus onéreux.
Chapitre 3 Les Formulaires en PHP
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
2 Scenarios d'architecture de SI de Laboratoire INTEROPERABILITE
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
TP 3-4 BD21.
Formulaire HTML Introduction. Définition de formulaire.
NFE 107 : Urbanisation et architecture des systèmes d'information
Formation Microsoft® Office Access 2007
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
PROJET HANDICAPS Certificat de Qualification Professionnelle
Forum JEE: framework STRUTS 1 et iBATIS
SECURITE DU SYSTEME D’INFORMATION (SSI)
Bibliothèque Patchouli
L’utilisation des bases de données
Architecture Les Couches Présentation Services Métier
Struts 1 & 2 Tlohi ibtissam Tabit boutaina Ilias bouras
JAVASERVER FACES Un framework Java pour le développement Web.
1 Sécurité Informatique : Proxy Présenter par : Mounir GRARI.
Réalisée par :Samira RAHALI
Architecture d’application
Développement Rapide dApplications Web avec.NET « Mon premier site »
Lycée Louis Vincent Séance 1
Chap 4 Les bases de données et le modèle relationnel
Les instructions PHP pour l'accès à une base de données MySql
Projet JAVA EE Approfondi
28 novembre 2012 Grégory Petit
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
L’utilisation des bases de données
FICHIERS : Définition : Algorithme général:
Manipulation de formulaires en Javascript
Le formulaire Les chaînes de requêtes. Les chaînes de requêtes (QueryStrings) correspondent à des informations associées à l'adresse URL avec un point.
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
Adaptée du cours de Richard Grin
PHP & My SQL.
Techniques Internet de Base Licence 2 (Info, Maths, PC/PA) Université Jean Monnet Ruggero G. PENSA
JavaScript Nécessaire Web.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Découverte des Framework : SPRING & JAXB
AngularJS.
Architecture Logicielle Les blocs d’applications
Cours techonologies .NET
S'initier au HTML et aux feuilles de style CSS Cours 5.
Initiation à Access: Interfaces
Struts.
Introduction au socle MEAN
 Formulaires HTML : traiter les entrées utilisateur
Initiation au JavaScript
EPREUVE E6 : PARCOURS DE PROFESSIONNALISATION
Séance /10/ Projet de site dynamique avec Dreamweaver : MyCMS
HTML Création et mise en page de formulaire Cours 3.
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
HTML Création et mise en page de formulaire
Cours n°2 Implémentation et exploitation
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
DreamWeaver Séance 2 HMIDA Ahmed A2008. Plan 1.Calques 2.CSS 3.Modèles 4.Formulaires 5.Comportements 6.Mise en ligne.
Dreamweaver le retour Avec Les Formulaires Les Calques
Dreamweaver (2) ● les calques (layers) ● les comportements
FORMULAIRES FOMULAIRE Permet à l’utilisateur d’entrer des renseignements le concernant. Utilisation –Inscription sur un site –Mise à jour d’une base.
Les formulaires Les calques Les comportements Les scénarios Les modèles Les feuilles de styles (CSS) La mise en ligne Les formulaires permettent à l’utilisateur.
SI28 – Ecriture interactive et multimédia Sylvain Slaton – Pierre Laporte.
DREAMWEAVER MX2 - Séance 2 Les calques Les comportements Les scénarios Les formulaires Les feuilles de style Les modèles Les cadres Mise en ligne Jérôme.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

Design Pattern MVC En PHP5

MVC Le Modèle-Vue-Contrôleur organise l'interface Homme-machine d'une application logicielle en un modèle (objet métier, modèle de données) une vue (présentation, interface utilisateur) un contrôleur (logique de contrôle, gestion des événements, traitement)

MVC - objectifs séparation entre Meilleur réutilisabilité du code les données la présentation les traitements Meilleur réutilisabilité du code Catalyse les temps de développement Facilite la maintenance

MVC - web La logique applicative est constituée des scripts réalisant les demandes de l'utilisateur (contrôleur), des classes métiers et des classes d'accès aux données (modèle). L'interface utilisateur sera gérée la plupart du temps par un navigateur web, elle peut éventuellement être un  autre site web communiquant via des webservices. Dans tous les cas tout va se passer via HTTP. La source de données sera une base de données dans toute la suite mais pourrait parfaitement être un serveur LDAP, un webservice externe, des fichiers texte ou encore un fichier XML.

MVC en image couche ihm: c'est l'interface utilisateur encore appelé interface homme machine couche métier : c'est le coeur de l'application où réside les objets traités par l'application couche dao : couche d'accès aux données (data access object). Cette couche permet une indépendance de la logique métier et du stockage des données associées

MVC en action le client fait une demande au contrôleur. Ce contrôleur voit passer toutes les demandes des clients le contrôleur doit traiter la demande. Pour ce faire, il peut avoir besoin de la couche métier, cette dernière peut éventuellement accéder aux données (via la couche dao) le contrôleur effectue les traitements nécessaires sur / avec les objets renvoyés par la couche métier le contrôleur sélectionne et nourrit la (les) vue(s) pour présenter les résultats du traitement qui vient d'être effectuée la vue est enfin envoyée au client par le contrôleur

Le modèle décrit et contient les données manipulées par l'application, ainsi que des traitements propres à ces données les résultats renvoyés par le modèle sont dénués de toute présentation le modèle contient toute la logique métier de l'application

Le modèle - DAL Data Access Layer Rend la gestion des données indépendante du stockage (BDD, XML, LDAP, etc ..) Dans le contexte PHP/BDD cette couche permet surtout une indépendance du SGBD utilisé (PDO, PEAR::MDB2, Creole)

Le modèle - DAO Data Access Object Le Dao a pour but de transformer chaque enregistrement contenu dans une bases de données en objets et inversement Correspondance bijective (SGBD / paradigme objet) une table (appelée aussi relation)  une liste d’objets une ligne d’une table (appelée aussi tuple ou enregistrement)  un objet un champs de base de données  un attribut d’objet une valeur d’un champs  une valeur d’attribut d’un objet L’objet est capable de se sauver / détruire en base

Le modèle - ORM Object-relation Mapping a pour but de transformer les relations entre les tables d’ une base de données en relations entre objets et inversement Une table ou vue de la BDD correspond à une classe Typiquement une clé étrangère est matérialisé par un objet, présenté comme un attribut de l’objet correspondant à la table contenant la clé étrangère

Le modèle - la couche métier Idéalement la couche métier utilise une ORM et un DAO, qui utilisent eux- mêmes la DAL Dans ce cas là les méthodes CRUD (Create Read Update Delete) ainsi que les dépendances entre objets sont gérées par les couches supérieures La couche métier ne contient alors que les traitements métiers (propre à l’objet)

Le modèle http://blog.mazenod.fr/2010/01/design-pattern-mvc-zoom-sur-la-couche-modele-dal-dao-orm-crud

vue interface avec laquelle l'utilisateur interagit présentation des résultats renvoyés par la couche modèle, après le traitement du contrôleur recevoir toutes les actions de l'utilisateur (clic de souris, sélection d'une entrée, boutons, soumission de formulaire …) événements envoyés au contrôleur La vue n'effectue aucun traitement

contrôleur Détermine l'action à réaliser (analyse de la requête HTTP) gestion des événements de synchronisation entre modèle et vue Si une action nécessite un changement des données demande la modification des données au modèle avertit ensuite la vue que les données ont changé pour qu'elle se mette à jour Ne fait qu'appeler des méthodes n'effectue aucun traitement directement ne modifie aucune donnée directement

Les actions partie du code du contrôleur correspond à un évènement utilisateur précis associée à des vues précises Matérialisée par une ou plusieurs variable HTTP Par url ou une route (url réécrite)

Contrôleur et actions Le contrôleur analyse la requête HTTP (et notamment les variables) pour déterminer l’action à exécuter Le contrôleur doit déterminer les vues associées (les templates HTML, mais aussi les css et js à embarquer) Multitude d’action = contrôleur lourd Modèle MVC2 Un contrôleur principal redirige vers des contrôleurs spécialisés (méthode dispatch) Les contrôleurs spécialisés exécutent effectivement l’action

Séquence typique de traitement MVC2 la requête est analysée par le front controler Le contrôleur spécialisé adéquat est appelé avec la requête en paramètre Le contrôleur spécialisé demande, via l’action adéquat, au(x) modèle(s) approprié(s) d'effectuer les traitements le contrôleur spécialisé sélectionne la (les) vue(s) adaptée(s) le contrôleur spécialisé remplit la vue adaptée avec le résultats des traitements le contrôleur spécialisé renvoie la vue adaptée. Twitto – Aweb framework in a tweet - http://twitto.org/