Upload
lybao
View
214
Download
0
Embed Size (px)
Citation preview
LES FRAMEWORKS
• Un framework est un espace de travail modulaire.
• C'est un ensemble de bibliothèques et de conventions permettant le développement rapide d'applications.
• Il fournit suffisamment de briques logicielles et impose suffisamment de rigueur pour pouvoir produire une application aboutie et facile à maintenir.
RUBY ON RAILS
• www.rubyonrails.org
• Les plus • Puissant • Orienté MVC
• Modele / Vue / Controleur • Les moins
• Nécessite un serveur configuré spécifiquement • Langage spécifique à Ruby on Rails
CAKEPHP
• www.cakephp.org
• Basé sur le principe de Ruby on Rails
• Développé en php
• Langage de développement: php
• Basé sur MVC
« MINI » FRAMEWORK MODX
• Utilisation d'un « mini »framework
• Modx : cms ou framework, (« cmf » :-) … )
• http://wiki.modxcms.com/index.php/Fr :Page_Principal
FRAMEWORK SYMFONY 2
• Utilisation de SYMFONY 2
• les plus: • MVC • puissant
• les moins: • nécessite une bonne culture du
développement (POO) • à voir en S4…
DÉVELOPPER EN MVC FROM SCRATCHexemple d’illustration: sur le cas « DUTAF de MMI1, nous souhaitons afficher la liste des articles avec la designation toujours en majuscule
DÉVELOPPER EN MVC FROM SCRATCH
organisation physique
pour l’instant pas de fichier index.php, ce fichier servira par la suite de « routage »
DÉVELOPPER EN MVC FROM SCRATCHle fichier Modele: !
•« m_articles.php » dans le dossier « model » •il décrit l’accès aux données nécessaires à
l’affichage de la page •il peut comporter plusieurs méthodes •ici une seule méthode qui renvois tous les
articles dans un tableau •on peut aussi faire des traitements dans les
méthodes (ex get_articles_maj() ) •ici le traitement est fait en php mais il peut être
fait en sql aussi2 versions possibles
DÉVELOPPER EN MVC FROM SCRATCH
le fichier Controleur: !
• « c_articles.php » dans le dossier « contrôler »
• il est l’élément principal, celui que l’on appelle pour afficher la page,
• c’est lui qui fera appelle au modele pour récupérer les données, (renvoyé dans un tableau stocké ici dans la variable $articles)
• dans certain cas les données pourront être traité ici (mais nous privilégierons le traitement directement dans le modele) puis il renverra les infos traitées vers la vue qui les affichera en les mettant en forme
DÉVELOPPER EN MVC FROM SCRATCH
le fichier Vue: !
• « v_articles.php » dans le dossier « view »
• il va récupérer les données traitées par le contrôleur et les afficher à travers une mise en forme html/css,
• il est appelé par le contrôleurici seul des petits blocs de php sont nécessaires: •un « foreach » pour traiter tous les articles •et des echo pour chaque champ à afficher
DÉVELOPPER EN MVC FROM SCRATCH
Appel d’une page développer en MVC: !
• cela consiste toujours dans l’appel du contrôleur,
• il se chargera d’appeler le modele pour récupérer les données, puis fera subir le traitement éventuel (ici mise en majuscule) et renverra les données traitées vers la vue pour les afficher
DÉVELOPPER EN MVC FROM SCRATCH
Mettre en place un routage élémentaire: amélioration du routage avec l’urlrewriting • le routage permet de gérer l’appel des différentes page en
appelant les controleurs adéquates • ce n’est pas une nécessité, mais cela centralise la gestion du
site. (les frameworks comme symfony utilisent des outils de routage puissant.)
il faut que l’urlrewriting soit actif sur le serveur, ensuite rédiger des regles de routage pour avoir une url plus
DÉVELOPPER EN MVC FROM SCRATCH
Mettre en place un routage élémentaire: le fichier htaccess peut être enrichi de toute les routes nécessaires vers tous vos controleurs:
sur le serveur 195.83.128.55 la premiere ligne est nécessaire (mettre le bon chemin!)
DÉVELOPPER EN MVC FROM SCRATCH
Nous venons de voir une méthode de développement MVC la plus rudimentaire, (un micro Framework « fait maison »)
!• Les frameworks (comme symfony) propose une API bien plus complete et bien plus efficace mais qui
nécessite aussi un apprentissage bien plus long et de bonnes bases en développement et surtout Symfony ajoute en plus du MVC beaucoup d’autres concepts:
• outils de gestion de template (Twig) • outils de package de pluging (Bundle) • outils e gestion de base de données (ORM Doctrine) • outils de gestion de dépendance (composer) • outils de creation en ligne de commande (php symfony) • …