SlideShare une entreprise Scribd logo
Jean-Marie Renouard 
LightPath 2014©
Le logo PHP est du domaine public 
http://commons.wikimedia.org/wiki/File:PHP-logo.svg 
Ce document est licencié sous licence 
◦Attribution-NonCommercial-ShareAlike 
◦CC BY-NC-SA 
Plus de détails: 
http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ 
LightPath 2014© - http://www.jmrenouard.fr 2
MVC 
Zend Framework 
Code Igniter 
PEAR 
PHPClasses 
Autres frameworks 
LightPath 2014© - http://www.jmrenouard.fr 
3
LightPath 2014© - http://www.jmrenouard.fr 4
Principe de découpage d’application: 
◦M : Modèle 
◦V : Vue 
◦C: Contrôle 
Paradigme directeur: 
◦Séparation du « métier » ou « fonctionnel » 
◦Séparation de la présentation des données 
Adapté à la logique de publication multicanaux. 
LightPath 2014© - http://www.jmrenouard.fr 
5
LightPath 2014© - http://www.jmrenouard.fr 6
Pièce centrale 
Récupération des requêtes client 
Appel des bons modèles et services 
Appel de la couche Vue avec les données collectées 
LightPath 2014© - http://www.jmrenouard.fr 
7
En charge de la mise en forme. 
Peut-être spécifique par type de client 
Préservation des services et des rendus. 
LightPath 2014© - http://www.jmrenouard.fr 8
Conteneur du « métier » de l’application. 
Indépendance de la présentation. 
Coeur de l’application 
Point d’entrée vers les données persistantes. 
LightPath 2014© - http://www.jmrenouard.fr 
9
LightPath 2014© - http://www.jmrenouard.fr 10
Une implémentation d’un MVC 
Utilitaires en ligne de commande 
Intégration complète au Zend Studio 
Taille de code : 3,5 millions lignes 
LightPath 2014© - http://www.jmrenouard.fr 11
82 APIs différentes 
◦Aide à la gestion des données 
◦Aide à la création de formulaire 
◦Aide à l’interrogation de données 
◦Aide à la manipulation de données 
Jeu de brique à assembler ! 
LightPath 2014© - http://www.jmrenouard.fr 12
Uniformité du code. 
Très bon niveau de documentation. 
Large communauté. 
Coordination pour une API consistante 
LightPath 2014© - http://www.jmrenouard.fr 13
LightPath 2014© - http://www.jmrenouard.fr 14
Une implémentation d’un MVC 
Pas de ligne de commande 
Simple à mettre en oeuvre 
Taille de code : 80000 lignes 
LightPath 2014© - http://www.jmrenouard.fr 15
30 classes 
20 classes utilitaires 
Simple à comprendre 
Simple à mettre en oeuvre 
Jeu de brique à assembler ! 
LightPath 2014© - http://www.jmrenouard.fr 16
Uniformité du code. 
Très bon niveau de documentation. 
grande communauté. 
LightPath 2014© - http://www.jmrenouard.fr 17
LightPath 2014© - http://www.jmrenouard.fr 18
Infrastructure de diffusion de classes 
Taille de code : 16 millions de ligne 
LightPath 2014© - http://www.jmrenouard.fr 19
Projet de mise à disposition de composant 
Intégration à PHP 
2 utilitaires ligne de commande : 
◦pear 
◦pecl 
PEAR: Pures classes PHP 
PECL: Classe PHP avec du code natif C 
LightPath 2014© - http://www.jmrenouard.fr 20
Extensions PHP annexes 
Les anciennes APIs PHP y sont maintenues. 
265 packages 
◦APC: Cache de code PHP 
◦Memcache: support du serveur Mencache 
◦… 
LightPath 2014© - http://www.jmrenouard.fr 21
Classes PHP annexes 
569 packages de classes 
◦XML_RPC: support des appels XML RPC 
◦Archive_Tar: support du format tar 
◦Mail: support avancée des emails 
◦DB/MDB2: support des bases de données 
◦… 
LightPath 2014© - http://www.jmrenouard.fr 22
Code de bonne qualité 
Procédure de validation du projet 
Concurrence de fonctionnalités possibles 
Projet communautaire 
Documentation parfois légère 
Maintenance faible de certains composants 
LightPath 2014© - http://www.jmrenouard.fr 23
LightPath 2014© - http://www.jmrenouard.fr 24
Infrastructure de diffusion de classes 
Projet de mise à disposition de composant 
Pas d’utilitaire d’intégration 
http://www.phpclasses.org 
LightPath 2014© - http://www.jmrenouard.fr 25
Code de qualité aléatoire 
Défaut de maintenance sur certaines classes 
Documentation parfois légère 
Qualité par vote des utilisateurs 
Plusieurs milliers de classes ! 
LightPath 2014© - http://www.jmrenouard.fr 26
LightPath 2014© - http://www.jmrenouard.fr 27
ezComponents: 
◦http://ezcomponents.org 
CakePHP: 
◦un autre framework MVC 
◦http://cakephp.org 
◦442 milliers de ligne 
Smarty 
◦Moteur de rendu officiel de PHP 
◦http://smarty.php.net 
◦66000 ligne de code 
Symphony 
◦Un autre framework MVC 
◦20000 lignes de code 
LightPath 2014© - http://www.jmrenouard.fr 28
LightPath: 
◦Société de conseil et d’ingénierie 
◦Formations, Conseil, Audit et mise en oeuvre 
◦jmrenouard@lightpath.fr 
Jean-Marie RENOUARD 
◦jmrenouard@gmail.com 
◦Twitter: @jmrenouard 
◦http://www.jmrenouard.fr 
LightPath 2014© - http://www.jmrenouard.fr 29

Contenu connexe

Tendances

Gestion de formulaires en PHP
Gestion de formulaires en PHPGestion de formulaires en PHP
Gestion de formulaires en PHP
Jean-Marie Renouard
 
Email et PHP5
Email et PHP5Email et PHP5
Email et PHP5
Jean-Marie Renouard
 
Javascript et JQuery
Javascript et JQueryJavascript et JQuery
Javascript et JQuery
Jean-Marie Renouard
 
Sécurité et Quaité de code PHP
Sécurité et Quaité de code PHPSécurité et Quaité de code PHP
Sécurité et Quaité de code PHP
Jean-Marie Renouard
 
Le client FTP de PHP5
Le client FTP de PHP5Le client FTP de PHP5
Le client FTP de PHP5
Jean-Marie Renouard
 
SQL et MySQL
SQL et MySQLSQL et MySQL
SQL et MySQL
Jean-Marie Renouard
 
Les structures de données PHP5
Les structures de données PHP5Les structures de données PHP5
Les structures de données PHP5
Jean-Marie Renouard
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
guest6c050e
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHP
kemenaran
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonyVincent Composieux
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
Abdoulaye Dieng
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenir
Yves Van Goethem
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVC
Pierre Faure
 
Cours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partieCours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partie
kadzaki
 
Cours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partieCours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partie
kadzaki
 
Introduction à CakePHP
Introduction à CakePHPIntroduction à CakePHP
Introduction à CakePHP
Pierre MARTIN
 
Formation PHP
Formation PHPFormation PHP
Formation PHP
kemenaran
 
PHP5 - POO
PHP5 - POOPHP5 - POO
PHP5 - POOmazenovi
 

Tendances (20)

Gestion de formulaires en PHP
Gestion de formulaires en PHPGestion de formulaires en PHP
Gestion de formulaires en PHP
 
Email et PHP5
Email et PHP5Email et PHP5
Email et PHP5
 
Javascript et JQuery
Javascript et JQueryJavascript et JQuery
Javascript et JQuery
 
Sécurité et Quaité de code PHP
Sécurité et Quaité de code PHPSécurité et Quaité de code PHP
Sécurité et Quaité de code PHP
 
Le client FTP de PHP5
Le client FTP de PHP5Le client FTP de PHP5
Le client FTP de PHP5
 
SQL et MySQL
SQL et MySQLSQL et MySQL
SQL et MySQL
 
Les structures de données PHP5
Les structures de données PHP5Les structures de données PHP5
Les structures de données PHP5
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHP
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs Symfony
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenir
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVC
 
Cours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partieCours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partie
 
Cours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partieCours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partie
 
Introduction à CakePHP
Introduction à CakePHPIntroduction à CakePHP
Introduction à CakePHP
 
Formation PHP
Formation PHPFormation PHP
Formation PHP
 
Php
PhpPhp
Php
 
Pdo
PdoPdo
Pdo
 
PHP5 - POO
PHP5 - POOPHP5 - POO
PHP5 - POO
 

En vedette

Manuel de sécurisation d'un serveur Linux
Manuel de sécurisation d'un serveur LinuxManuel de sécurisation d'un serveur Linux
Manuel de sécurisation d'un serveur Linux
Jean-Marie Renouard
 
Ssh cookbook
Ssh cookbookSsh cookbook
Ssh cookbook
Jean-Marie Renouard
 
Structure de données en PHP
Structure de données en PHPStructure de données en PHP
Structure de données en PHP
Jean-Marie Renouard
 
Mvc (5)
Mvc (5)Mvc (5)
La sécurité et php
La sécurité et phpLa sécurité et php
La sécurité et php
neuros
 
Solution pour un Réseau Social d'Entreprise (RSE)
Solution pour un Réseau Social d'Entreprise (RSE)Solution pour un Réseau Social d'Entreprise (RSE)
Solution pour un Réseau Social d'Entreprise (RSE)
neuros
 
rapport_stage_issame
rapport_stage_issamerapport_stage_issame
rapport_stage_issameAMAL Issame
 
Introduction au webmapping au-dela de google maps
Introduction au webmapping  au-dela de google mapsIntroduction au webmapping  au-dela de google maps
Introduction au webmapping au-dela de google mapsVisionGÉOMATIQUE2012
 
Présentation de Node.js
Présentation de Node.jsPrésentation de Node.js
Présentation de Node.js
Mickael Couzinet
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVCNathaniel Richand
 
Zf2++ Quelques idées sur l'avenir proche de ZF2
Zf2++ Quelques idées sur l'avenir proche de ZF2Zf2++ Quelques idées sur l'avenir proche de ZF2
Zf2++ Quelques idées sur l'avenir proche de ZF2
Sophie Beaupuis
 
Click and deploy - Continuous delivery avec Zend Server et Jenknins
Click and deploy - Continuous delivery avec Zend Server et JenkninsClick and deploy - Continuous delivery avec Zend Server et Jenknins
Click and deploy - Continuous delivery avec Zend Server et JenkninsSophie Beaupuis
 
How Much Further Will Internet Stocks Fall? (Share Price Performance)
How Much Further Will Internet Stocks Fall? (Share Price Performance)How Much Further Will Internet Stocks Fall? (Share Price Performance)
How Much Further Will Internet Stocks Fall? (Share Price Performance)
Mahesh Vellanki
 
REX Devops Docker
REX Devops DockerREX Devops Docker
REX Devops Docker
Romain Chalumeau
 

En vedette (14)

Manuel de sécurisation d'un serveur Linux
Manuel de sécurisation d'un serveur LinuxManuel de sécurisation d'un serveur Linux
Manuel de sécurisation d'un serveur Linux
 
Ssh cookbook
Ssh cookbookSsh cookbook
Ssh cookbook
 
Structure de données en PHP
Structure de données en PHPStructure de données en PHP
Structure de données en PHP
 
Mvc (5)
Mvc (5)Mvc (5)
Mvc (5)
 
La sécurité et php
La sécurité et phpLa sécurité et php
La sécurité et php
 
Solution pour un Réseau Social d'Entreprise (RSE)
Solution pour un Réseau Social d'Entreprise (RSE)Solution pour un Réseau Social d'Entreprise (RSE)
Solution pour un Réseau Social d'Entreprise (RSE)
 
rapport_stage_issame
rapport_stage_issamerapport_stage_issame
rapport_stage_issame
 
Introduction au webmapping au-dela de google maps
Introduction au webmapping  au-dela de google mapsIntroduction au webmapping  au-dela de google maps
Introduction au webmapping au-dela de google maps
 
Présentation de Node.js
Présentation de Node.jsPrésentation de Node.js
Présentation de Node.js
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
 
Zf2++ Quelques idées sur l'avenir proche de ZF2
Zf2++ Quelques idées sur l'avenir proche de ZF2Zf2++ Quelques idées sur l'avenir proche de ZF2
Zf2++ Quelques idées sur l'avenir proche de ZF2
 
Click and deploy - Continuous delivery avec Zend Server et Jenknins
Click and deploy - Continuous delivery avec Zend Server et JenkninsClick and deploy - Continuous delivery avec Zend Server et Jenknins
Click and deploy - Continuous delivery avec Zend Server et Jenknins
 
How Much Further Will Internet Stocks Fall? (Share Price Performance)
How Much Further Will Internet Stocks Fall? (Share Price Performance)How Much Further Will Internet Stocks Fall? (Share Price Performance)
How Much Further Will Internet Stocks Fall? (Share Price Performance)
 
REX Devops Docker
REX Devops DockerREX Devops Docker
REX Devops Docker
 

Similaire à MVC / Frameworks PHP

Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHP
Jean-Marc Fontaine
 
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
Guillaume MOCQUET
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
Microsoft
 
Déploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsDéploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIs
Nicolas Herbaut
 
Déploiement d’applications
Déploiement d’applicationsDéploiement d’applications
Déploiement d’applicationsMohammed Jaafar
 
Integrons en mode continu
Integrons en mode continuIntegrons en mode continu
Integrons en mode continu
neuros
 
We421 g formation-administration-of-ibm-websphere-datapower-soa-appliances-v5
We421 g formation-administration-of-ibm-websphere-datapower-soa-appliances-v5We421 g formation-administration-of-ibm-websphere-datapower-soa-appliances-v5
We421 g formation-administration-of-ibm-websphere-datapower-soa-appliances-v5CERTyou Formation
 
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...Normandie Web Xperts
 
Cyjava formation-java-programmation-maitriser-les-fondamentaux-de-la-programm...
Cyjava formation-java-programmation-maitriser-les-fondamentaux-de-la-programm...Cyjava formation-java-programmation-maitriser-les-fondamentaux-de-la-programm...
Cyjava formation-java-programmation-maitriser-les-fondamentaux-de-la-programm...CERTyou Formation
 
Saas Libre
Saas LibreSaas Libre
Saas Libre
grolland
 
Alphorm.com Formation Les solutions de Haute Disponibilité sous Windows Serv...
Alphorm.com Formation Les solutions de  Haute Disponibilité sous Windows Serv...Alphorm.com Formation Les solutions de  Haute Disponibilité sous Windows Serv...
Alphorm.com Formation Les solutions de Haute Disponibilité sous Windows Serv...
Alphorm
 
Présentation Séminaire Supervision 2009
Présentation Séminaire Supervision 2009Présentation Séminaire Supervision 2009
Présentation Séminaire Supervision 2009
LINAGORA
 
Formation gwt
Formation gwtFormation gwt
Formation gwt
Francois ANDRE
 
M10961 formation-automatiser-l-administration-windows-avec-microsoft-powershe...
M10961 formation-automatiser-l-administration-windows-avec-microsoft-powershe...M10961 formation-automatiser-l-administration-windows-avec-microsoft-powershe...
M10961 formation-automatiser-l-administration-windows-avec-microsoft-powershe...CERTyou Formation
 
Power shell saturday Paris 2017 Omiossec
Power shell saturday  Paris 2017 OmiossecPower shell saturday  Paris 2017 Omiossec
Power shell saturday Paris 2017 Omiossec
Olivier Miossec
 
Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...
Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...
Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...
Alphorm
 
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
O10ée
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
Frédéric Vandenbriele
 

Similaire à MVC / Frameworks PHP (20)

Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHP
 
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
 
Déploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsDéploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIs
 
Déploiement d’applications
Déploiement d’applicationsDéploiement d’applications
Déploiement d’applications
 
Integrons en mode continu
Integrons en mode continuIntegrons en mode continu
Integrons en mode continu
 
We421 g formation-administration-of-ibm-websphere-datapower-soa-appliances-v5
We421 g formation-administration-of-ibm-websphere-datapower-soa-appliances-v5We421 g formation-administration-of-ibm-websphere-datapower-soa-appliances-v5
We421 g formation-administration-of-ibm-websphere-datapower-soa-appliances-v5
 
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
 
Cyjava formation-java-programmation-maitriser-les-fondamentaux-de-la-programm...
Cyjava formation-java-programmation-maitriser-les-fondamentaux-de-la-programm...Cyjava formation-java-programmation-maitriser-les-fondamentaux-de-la-programm...
Cyjava formation-java-programmation-maitriser-les-fondamentaux-de-la-programm...
 
Saas Libre
Saas LibreSaas Libre
Saas Libre
 
Alphorm.com Formation Les solutions de Haute Disponibilité sous Windows Serv...
Alphorm.com Formation Les solutions de  Haute Disponibilité sous Windows Serv...Alphorm.com Formation Les solutions de  Haute Disponibilité sous Windows Serv...
Alphorm.com Formation Les solutions de Haute Disponibilité sous Windows Serv...
 
Windev formation-windev
Windev formation-windevWindev formation-windev
Windev formation-windev
 
Présentation Séminaire Supervision 2009
Présentation Séminaire Supervision 2009Présentation Séminaire Supervision 2009
Présentation Séminaire Supervision 2009
 
MERAZKA Messaoud
MERAZKA MessaoudMERAZKA Messaoud
MERAZKA Messaoud
 
Formation gwt
Formation gwtFormation gwt
Formation gwt
 
M10961 formation-automatiser-l-administration-windows-avec-microsoft-powershe...
M10961 formation-automatiser-l-administration-windows-avec-microsoft-powershe...M10961 formation-automatiser-l-administration-windows-avec-microsoft-powershe...
M10961 formation-automatiser-l-administration-windows-avec-microsoft-powershe...
 
Power shell saturday Paris 2017 Omiossec
Power shell saturday  Paris 2017 OmiossecPower shell saturday  Paris 2017 Omiossec
Power shell saturday Paris 2017 Omiossec
 
Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...
Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...
Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...
 
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 

Dernier

Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Institut de l'Elevage - Idele
 
Comment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptationComment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptation
Institut de l'Elevage - Idele
 
Accompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de productionAccompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de production
Institut de l'Elevage - Idele
 
Reconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la fermeReconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la ferme
Institut de l'Elevage - Idele
 
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Institut de l'Elevage - Idele
 
Accompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermièreAccompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermière
Institut de l'Elevage - Idele
 
Presentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptxPresentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptx
imed53
 
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
Institut de l'Elevage - Idele
 
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdfCOURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
sieousse95
 
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivoresCOUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
Institut de l'Elevage - Idele
 
Alternative au Tramway de la ville de Quebec Rev 1 sml.pdf
Alternative au Tramway de la ville de Quebec Rev 1 sml.pdfAlternative au Tramway de la ville de Quebec Rev 1 sml.pdf
Alternative au Tramway de la ville de Quebec Rev 1 sml.pdf
Daniel Bedard
 

Dernier (11)

Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...
 
Comment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptationComment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptation
 
Accompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de productionAccompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de production
 
Reconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la fermeReconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la ferme
 
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
 
Accompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermièreAccompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermière
 
Presentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptxPresentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptx
 
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
 
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdfCOURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
 
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivoresCOUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
 
Alternative au Tramway de la ville de Quebec Rev 1 sml.pdf
Alternative au Tramway de la ville de Quebec Rev 1 sml.pdfAlternative au Tramway de la ville de Quebec Rev 1 sml.pdf
Alternative au Tramway de la ville de Quebec Rev 1 sml.pdf
 

MVC / Frameworks PHP

  • 2. Le logo PHP est du domaine public http://commons.wikimedia.org/wiki/File:PHP-logo.svg Ce document est licencié sous licence ◦Attribution-NonCommercial-ShareAlike ◦CC BY-NC-SA Plus de détails: http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ LightPath 2014© - http://www.jmrenouard.fr 2
  • 3. MVC Zend Framework Code Igniter PEAR PHPClasses Autres frameworks LightPath 2014© - http://www.jmrenouard.fr 3
  • 4. LightPath 2014© - http://www.jmrenouard.fr 4
  • 5. Principe de découpage d’application: ◦M : Modèle ◦V : Vue ◦C: Contrôle Paradigme directeur: ◦Séparation du « métier » ou « fonctionnel » ◦Séparation de la présentation des données Adapté à la logique de publication multicanaux. LightPath 2014© - http://www.jmrenouard.fr 5
  • 6. LightPath 2014© - http://www.jmrenouard.fr 6
  • 7. Pièce centrale Récupération des requêtes client Appel des bons modèles et services Appel de la couche Vue avec les données collectées LightPath 2014© - http://www.jmrenouard.fr 7
  • 8. En charge de la mise en forme. Peut-être spécifique par type de client Préservation des services et des rendus. LightPath 2014© - http://www.jmrenouard.fr 8
  • 9. Conteneur du « métier » de l’application. Indépendance de la présentation. Coeur de l’application Point d’entrée vers les données persistantes. LightPath 2014© - http://www.jmrenouard.fr 9
  • 10. LightPath 2014© - http://www.jmrenouard.fr 10
  • 11. Une implémentation d’un MVC Utilitaires en ligne de commande Intégration complète au Zend Studio Taille de code : 3,5 millions lignes LightPath 2014© - http://www.jmrenouard.fr 11
  • 12. 82 APIs différentes ◦Aide à la gestion des données ◦Aide à la création de formulaire ◦Aide à l’interrogation de données ◦Aide à la manipulation de données Jeu de brique à assembler ! LightPath 2014© - http://www.jmrenouard.fr 12
  • 13. Uniformité du code. Très bon niveau de documentation. Large communauté. Coordination pour une API consistante LightPath 2014© - http://www.jmrenouard.fr 13
  • 14. LightPath 2014© - http://www.jmrenouard.fr 14
  • 15. Une implémentation d’un MVC Pas de ligne de commande Simple à mettre en oeuvre Taille de code : 80000 lignes LightPath 2014© - http://www.jmrenouard.fr 15
  • 16. 30 classes 20 classes utilitaires Simple à comprendre Simple à mettre en oeuvre Jeu de brique à assembler ! LightPath 2014© - http://www.jmrenouard.fr 16
  • 17. Uniformité du code. Très bon niveau de documentation. grande communauté. LightPath 2014© - http://www.jmrenouard.fr 17
  • 18. LightPath 2014© - http://www.jmrenouard.fr 18
  • 19. Infrastructure de diffusion de classes Taille de code : 16 millions de ligne LightPath 2014© - http://www.jmrenouard.fr 19
  • 20. Projet de mise à disposition de composant Intégration à PHP 2 utilitaires ligne de commande : ◦pear ◦pecl PEAR: Pures classes PHP PECL: Classe PHP avec du code natif C LightPath 2014© - http://www.jmrenouard.fr 20
  • 21. Extensions PHP annexes Les anciennes APIs PHP y sont maintenues. 265 packages ◦APC: Cache de code PHP ◦Memcache: support du serveur Mencache ◦… LightPath 2014© - http://www.jmrenouard.fr 21
  • 22. Classes PHP annexes 569 packages de classes ◦XML_RPC: support des appels XML RPC ◦Archive_Tar: support du format tar ◦Mail: support avancée des emails ◦DB/MDB2: support des bases de données ◦… LightPath 2014© - http://www.jmrenouard.fr 22
  • 23. Code de bonne qualité Procédure de validation du projet Concurrence de fonctionnalités possibles Projet communautaire Documentation parfois légère Maintenance faible de certains composants LightPath 2014© - http://www.jmrenouard.fr 23
  • 24. LightPath 2014© - http://www.jmrenouard.fr 24
  • 25. Infrastructure de diffusion de classes Projet de mise à disposition de composant Pas d’utilitaire d’intégration http://www.phpclasses.org LightPath 2014© - http://www.jmrenouard.fr 25
  • 26. Code de qualité aléatoire Défaut de maintenance sur certaines classes Documentation parfois légère Qualité par vote des utilisateurs Plusieurs milliers de classes ! LightPath 2014© - http://www.jmrenouard.fr 26
  • 27. LightPath 2014© - http://www.jmrenouard.fr 27
  • 28. ezComponents: ◦http://ezcomponents.org CakePHP: ◦un autre framework MVC ◦http://cakephp.org ◦442 milliers de ligne Smarty ◦Moteur de rendu officiel de PHP ◦http://smarty.php.net ◦66000 ligne de code Symphony ◦Un autre framework MVC ◦20000 lignes de code LightPath 2014© - http://www.jmrenouard.fr 28
  • 29. LightPath: ◦Société de conseil et d’ingénierie ◦Formations, Conseil, Audit et mise en oeuvre ◦jmrenouard@lightpath.fr Jean-Marie RENOUARD ◦jmrenouard@gmail.com ◦Twitter: @jmrenouard ◦http://www.jmrenouard.fr LightPath 2014© - http://www.jmrenouard.fr 29