40
Le contexte GSB Le contexte GSB et le mod et le mod è è le le MVC MVC 15 mai 2012 Inter-Académiques 1

Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Embed Size (px)

Citation preview

Page 1: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Le contexte GSB Le contexte GSB et le modet le modèèle le

MVCMVC

15 mai 2012 Inter-Académiques 1

Page 2: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

PHP dans le WEBPHP dans le WEB• Toujours un très fort taux de pénétration du phpdans les applications web

W3Tech février 2012

15 mai 2012 Inter-Académiques 2

Page 3: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Des architectures diversesDes architectures diverses

• Les applications « bazar » : • on trouve tout dans un bazar

• Les plus nombreuses

• Réutilisables par copier/coller de bouts de code

• Maintenance très délicate

• Difficilement évolutives

15 mai 2012 Inter-Académiques 3

Page 4: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Des architectures diversesDes architectures diverses• Les CMS

Enquête Smile 2012

15 mai 2012 Inter-Académiques 4

Page 5: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Des architectures diversesDes architectures diverses

• Les CMS

Enquête Smile 2012

15 mai 2012 Inter-Académiques 5

Page 6: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

PHP dans le WEBPHP dans le WEBDes architectures diversesDes architectures diverses

• Les CMS

Enquête Smile 2012

15 mai 2012 Inter-Académiques 6

Page 7: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Des architectures diversesDes architectures diverses• Les CMS

• Tout est en base !!

• A l’origine pour des sites de back-office collaboratif( Edition)

• Supporte maintenant des modules spécifiques « métiers » (vente en ligne).

• Nécessité d’une solide gestion de cache- Au niveau de la page- Au niveau d’un module- Au niveau des images

15 mai 2012 Inter-Académiques 7

Page 8: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Des architectures diversesDes architectures diverses

• Tout HTML en frontal !!

• Des sites d’éditions : JDD, Europe1, Paris-Match

• Du PHP en back-office

• Des fichiers HTML en frontal, mis à jour régulièrement

15 mai 2012 Inter-Académiques 8

Page 9: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Des architectures diversesDes architectures diverses

• Un FrondEnd cache

• Un logiciel (Varnish par exemple) placé devant le serveur HTTP gère en mémoire et/ou sur disque les caches des pages HTML,

• Souvent des fermes de serveurs de cache

• Les délais de maj des caches sont paramétrables

• Joue le même rôle que dans l’architecture précédente, mais les pages sont générées en mémoire et non sur disque

15 mai 2012 Inter-Académiques 9

Page 10: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Le modLe modèèle MVCle MVC• Les avantages : maintenance, évolution, faible couplage

• rappel, le modèle classique :

Développer.com

15 mai 2012 Inter-Académiques 10

Page 11: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Le modLe modèèle MVCle MVC• Version mode déconnecté :

Aucun besoin de

notification

15 mai 2012 Inter-Académiques 11

Page 12: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Le modLe modèèle MVCle MVC• Architecture de plus en plus utilisée

o Dans les CMS (Drupal 7)

o Dans les framework Zend, Symphony, cake…

o Chez MS maintenant avec ASP.Dotnet MVC qui remplace les webForms, installé par défaut dans VS2010

o Une littérature fournie sur le sujet

15 mai 2012 Inter-Académiques 12

Page 13: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Le modLe modèèle MVCle MVC

• Cette architecture a un coût : l’utilisation des ressources en RAM ; le « contrôleur » construit d’abord en mémoire une représentation de la requête avant de la servir à la vue

• Couplée à des mécanismes de caches prévus dans les Framework ou à rajouter en FrontEnd

15 mai 2012 Inter-Académiques 13

Page 14: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Le modLe modèèle MVC dans GSBle MVC dans GSB

• Présentons d’abord rapidement le contexte…

15 mai 2012 Inter-Académiques 14

Page 15: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Les normes de dLes normes de dééveloppementveloppement

• A5.2.1 Exploitation des référentiels, normes et standards adoptés par le prestataire informatique

15 mai 2012 Inter-Académiques 15

Page 16: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Normes mises en Normes mises en oeuvreoeuvre• Règles d’écriture du code (code bien formé)

• Chaque ligne doit comporter au plus une instruction.

• Le pas d’indentation doit être fixe et correspondre à 4 caractères.

• Il est recommandé que la longueur des lignes ne dépasse pas 75 à 85 caractères.

• La ligne est découpée avant un opérateur :

• Standardiser les espaces :

15 mai 2012 Inter-Académiques 16

Page 17: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Normes mises en Normes mises en oeuvreoeuvre• Règles de nommage

• Noms des fichiers :

• Noms des variables :L'identificateur d’une variable ou paramètre indique le rôle joué dans le code

• Noms des fonctions :L'identificateur d’une fonction est un verbe, ou groupe verbal.

• Nommage des champs :

15 mai 2012 Inter-Académiques 17

Page 18: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Normes mises en Normes mises en oeuvreoeuvre• Règles de bon codage

• Chaque fonction doit réaliser un et un seul traitement

• Les fonctions ne doivent pas comporter un trop grand nombre de paramètres. La limite de 5 à 6 paramètres est recommandée

• Il est recommandé d’utiliser les parenthèses à chaque fois qu’une expression peut prêter à confusion

• Les instructions imbriquées doivent être évitées quand cela est possible

15 mai 2012 Inter-Académiques 18

Page 19: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Normes mises en Normes mises en oeuvreoeuvre• Règles de sécurité

• Utilisation de la fonction addslashes pour échapper les caractères particuliers (‘, « ,…) et l’insertion en base

• Pour éviter des effets néfastes, les caractères réservés doivent être traduits en symboles nommés HTML (aussi appelés entités HTML). Ainsi, le caractère < doit être transformé en &lt;, > en &gt; , etc.

• La fonction PHP prédéfinie htmlspecialchars prend en charge ce traitement.

15 mai 2012 Inter-Académiques 19

Page 20: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Normes mises en Normes mises en oeuvreoeuvre• Règle de conformité

• Fichiers (ANSI/UTF8)

• Préambule XML, validateur

• Documentation du code conforme

15 mai 2012 Inter-Académiques 20

Page 21: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Normes mises en Normes mises en oeuvreoeuvre• Du code pour être utilisé : la documentation

• Du code pour être maintenu : les commentaires

15 mai 2012 Inter-Académiques 21

Page 22: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Normes mises en Normes mises en oeuvreoeuvre

15 mai 2012 Inter-Académiques 22

Page 23: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

GSB et MVCGSB et MVC• Mes sources principales

• Un document de Serge Tahé (2004-2008) qui présente une implémentation détaillée de l’architecture MVC pour php (en mode procédural -sans objet-) : http://tahe.developpez.com/web/php/mvc/

• Le travail d'Olivier Cappuozo autour du contexte festival en GSI : http://www.reseaucerta.org/cotecours/cotecours.php?num=363

• Une implémentation « pédagogique »

15 mai 2012 Inter-Académiques 23

Page 24: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

GSB et MVCGSB et MVC• MVC est piloté par les cas d’utilisation

15 mai 2012 Inter-Académiques 24

Page 25: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

GSB et MVCGSB et MVC

15 mai 2012 Inter-Académiques 25

Page 26: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

GSB et MVCGSB et MVCLe contrôleur principalLe contrôleur principal

15 mai 2012 Inter-Académiques 26

Page 27: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

GSB et MVCGSB et MVCEtat des fraisEtat des frais

15 mai 2012 Inter-Académiques 27

Page 28: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

GSB et MVCGSB et MVCEtat des fraisEtat des frais

• 1.L’utilisateur demande à consulter ses frais

• 2.Le système l’invite à sélectionner un mois

15 mai 2012 Inter-Académiques 28

Page 29: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

• 3. L’utilisateur sélectionne un mois et valide

• 4. Le système retourne les frais pour le mois

15 mai 2012 Inter-Académiques 29

Page 30: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Contrôleur associContrôleur associéé

15 mai 2012 Inter-Académiques 30

Page 31: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Code des vues retournCode des vues retournééeses

15 mai 2012 Inter-Académiques 31

Page 32: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Renseigner la fiche de fraisRenseigner la fiche de frais

15 mai 2012 Inter-Académiques 32

4 actions sont demandées

Page 33: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Contrôleur associContrôleur associéé

15 mai 2012 Inter-Académiques 33

Page 34: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Une vue : Une vue : listeFraisForfaitslisteFraisForfaits

15 mai 2012 Inter-Académiques 34

Page 35: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Gestion des erreurs de saisieGestion des erreurs de saisie

15 mai 2012 Inter-Académiques 35

Page 36: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

LL’’organisation des fichiersorganisation des fichiers

15 mai 2012 Inter-Académiques 36

Page 37: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Le modLe modèèlele• Fichier de fonctions

15 mai 2012 Inter-Académiques 37

Page 38: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Le modLe modèèlele• Fichier de la classe d’accès aux données :

15 mai 2012 Inter-Académiques 38

Page 39: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

UtilisationUtilisation• Appel dans l’index :

• Les méthodes de la classe PdoGsb :

15 mai 2012 Inter-Académiques 39

Page 40: Le contexte GSB et le mod le MVC - economie-gestion.ac ...economie-gestion.ac-creteil.fr/...contexte_GSB_et_le_modele_MVC.pdf · GSB et MVC • Mes sources principales • Un document

Quelles Quelles éévolutions?volutions?• Des templates de présentation : Smarty

• On charge la bibliothèque Smarty

• Les contrôleurs instancie un objet par vue

• La vue est un fichier tpl

15 mai 2012 Inter-Académiques 40