SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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 PHPJean-Marie Renouard
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPkemenaran
 
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-PDOAbdoulaye Dieng
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirYves 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 MVCPierre Faure
 
Cours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partieCours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partiekadzaki
 
Cours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partieCours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partiekadzaki
 
Introduction à CakePHP
Introduction à CakePHPIntroduction à CakePHP
Introduction à CakePHPPierre MARTIN
 
Formation PHP
Formation PHPFormation PHP
Formation PHPkemenaran
 
PHP5 - POO
PHP5 - POOPHP5 - POO
PHP5 - POOmazenovi
 

Mais procurados (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
 

Destaque

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 LinuxJean-Marie Renouard
 
La sécurité et php
La sécurité et phpLa sécurité et php
La sécurité et phpneuros
 
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
 
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 ZF2Sophie 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
 

Destaque (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
 

Semelhante a 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 PHPJean-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 6Microsoft
 
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’APIsNicolas 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 continuneuros
 
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 Libregrolland
 
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 2009LINAGORA
 
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 OmiossecOlivier 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 2014O10é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.NetFrédéric Vandenbriele
 

Semelhante a 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
 

Último

webinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdf
webinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdfwebinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdf
webinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdfInstitut de l'Elevage - Idele
 
webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...
webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...
webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...Institut de l'Elevage - Idele
 
rapport stage OCP : Elaboration plan des machines : La machine stockeuse et ...
rapport stage OCP : Elaboration plan des machines :  La machine stockeuse et ...rapport stage OCP : Elaboration plan des machines :  La machine stockeuse et ...
rapport stage OCP : Elaboration plan des machines : La machine stockeuse et ...NiHad27
 
2021 - Rapport STAGE BASSAM 4eme GEII ULT
2021 - Rapport STAGE BASSAM 4eme GEII ULT2021 - Rapport STAGE BASSAM 4eme GEII ULT
2021 - Rapport STAGE BASSAM 4eme GEII ULTBassamRhouma
 
QCM Réseaux informatique V19.02.2017.pdf
QCM Réseaux informatique V19.02.2017.pdfQCM Réseaux informatique V19.02.2017.pdf
QCM Réseaux informatique V19.02.2017.pdfAyoub893663
 
webinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdf
webinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdfwebinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdf
webinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdfInstitut de l'Elevage - Idele
 
2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx
2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx
2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptxBassamRhouma
 

Último (7)

webinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdf
webinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdfwebinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdf
webinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdf
 
webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...
webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...
webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...
 
rapport stage OCP : Elaboration plan des machines : La machine stockeuse et ...
rapport stage OCP : Elaboration plan des machines :  La machine stockeuse et ...rapport stage OCP : Elaboration plan des machines :  La machine stockeuse et ...
rapport stage OCP : Elaboration plan des machines : La machine stockeuse et ...
 
2021 - Rapport STAGE BASSAM 4eme GEII ULT
2021 - Rapport STAGE BASSAM 4eme GEII ULT2021 - Rapport STAGE BASSAM 4eme GEII ULT
2021 - Rapport STAGE BASSAM 4eme GEII ULT
 
QCM Réseaux informatique V19.02.2017.pdf
QCM Réseaux informatique V19.02.2017.pdfQCM Réseaux informatique V19.02.2017.pdf
QCM Réseaux informatique V19.02.2017.pdf
 
webinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdf
webinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdfwebinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdf
webinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdf
 
2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx
2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx
2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx
 

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