SlideShare une entreprise Scribd logo
Industrialiser ses
développements PHP
RMLL 2010
RMLL 2010 - 06 juillet 2010 2ALTER WAY - Industrialiser ses développements PHP
Qui suis-je ?
 Jean-Marc Fontaine
 Consultant pour Alter Way Consulting
 Responsable du centre de compétences PHP pour Alter
Way Solutions
 Formateur pour Alter Way Formation
 Professeur vacataire à l'INSSET de Saint Quentin
 Membre Actif de l'AFUP
 Auteur du blog Industrialisation-PHP.com
 Co-auteur du livre blanc « Industrialisation PHP »
RMLL 2010 - 06 juillet 2010 3ALTER WAY - Industrialiser ses développements PHP
Livre blanc « Industrialisation PHP »
 Co-écrit avec Damien Seguy
 Panorama des outils et
méthodes d'industrialisation
des développements PHP
 Publié en octobre 2009
 Plus de 2 000 téléchargements
 Livre en préparation
Téléchargement : http://www.alterway.fr/publications/livre-blanc-industrialisation-php
Blog : http://www.industrialisation-php.com/
RMLL 2010 - 06 juillet 2010 4ALTER WAY - Industrialiser ses développements PHP
Plan
 Qu'est-ce que l'industrialisation ?
 Mettre en place un environnement de travail
 Former l'équipe
 Eviter de réinventer la roue
 S'assurer de la qualité du code
 Automatiser ce qui peut l'être
RMLL 2010 - 06 juillet 2010 5ALTER WAY - Industrialiser ses développements PHP
Qu'est-ce que l'industrialisation ?
 Trois phases pour la reconnaissance d'une technologie
en entreprise :
 la phase de tests
 la phase de missions critiques
 la phase de missions stratégiques
 PHP a dépassé le stade de l'expérimentation
RMLL 2010 - 06 juillet 2010 6ALTER WAY - Industrialiser ses développements PHP
Qu'est-ce que l'industrialisation ?
 Une définition : mise en œuvre de pratiques et d'outils
visant à rendre les logiciels produits plus robustes, tout
en restant dans des délais et des coûts maîtrisés
 Pas de solution miracle valable pour tous
 Un accompagnement est généralement nécessaire
RMLL 2010 - 06 juillet 2010 7ALTER WAY - Industrialiser ses développements PHP
Plan
 Qu'est-ce que l'industrialisation ?
 Mettre en place un environnement de travail
 Former l'équipe
 Eviter de réinventer la roue
 S'assurer de la qualité du code
 Automatiser ce qui peut l'être
RMLL 2010 - 06 juillet 2010 8ALTER WAY - Industrialiser ses développements PHP
Dépôt de code
 Facilite le travail en équipe
 Permet d'avoir un historique du code
 Assure la pérennité du code
 Deux approches :
 Dépôts centralisés (CVS, Subversion)
 Dépôts décentralisés (Git, Mercurial, Bazaar)
RMLL 2010 - 06 juillet 2010 9ALTER WAY - Industrialiser ses développements PHP
IDE de développement
 Editeur de texte sous stéroïdes
 Fonctions généralement proposées :
 Colorisation syntaxique
 Autocomplétion
 Intégration aux dépôts de code
 Intégration avec un ou plusieurs frameworks
 Débogueur
 Profileur
 Intégration d'outils externes (Tests unitaires, déploiement,
gestion de base de données, éditeur UML, prototypage, etc.)
 Standardisation des outils
 Intégration dans la chaîne de production
RMLL 2010 - 06 juillet 2010 10ALTER WAY - Industrialiser ses développements PHP
Environnements
 Trois types d'environnements classiques :
 Développement
 Pré-production
 Production
 Développement
 En local ou sur un serveur spécialisé
 Débogueur et profileur disponibles
 Affichage des erreurs
 Pré-production
 Identique à la production (performances, configuration, données)
 Permet de recetter les changements
 Production
 Optimisé pour la performance et la sécurité
 Monitoré pour assurer la qualité de service
RMLL 2010 - 06 juillet 2010 11ALTER WAY - Industrialiser ses développements PHP
Plan
 Qu'est-ce que l'industrialisation ?
 Mettre en place un environnement de travail
 Former l'équipe
 Eviter de réinventer la roue
 S'assurer de la qualité du code
 Automatiser ce qui peut l'être
RMLL 2010 - 06 juillet 2010 12ALTER WAY - Industrialiser ses développements PHP
Former l'équipe
 Formation professionnelle
 Permet de rapidement entrer dans une nouvelle technologie
 Doit être suivie de mise en pratique pour être efficace
 Action ponctuelle
 Veille
 Permet de maintenir et de développer ses connaissances
 Web, livres, magazines, conférences, etc.
 Travail régulier et sur le long terme pour être payant
 Doit être structurée pour être exploitable par la suite
 Mini-conférences internes
 Partage de connaissance au sein de l'équipe
 Valorisation des personnes
RMLL 2010 - 06 juillet 2010 13ALTER WAY - Industrialiser ses développements PHP
Former l'équipe
 Programmation en binôme
 Pratique prônée par les méthodes agiles
 Partage informel des connaissances
 Améliore les relations humaines au sein de l'équipe
 Changer régulièrement les binômes
 Revue de code
 Améliore la connaissance du code
 Favorise la collaboration et le partage des connaissances
 Peut être rendue difficile par des aspects humains (timidité,
orgueil, manque de tact)
RMLL 2010 - 06 juillet 2010 14ALTER WAY - Industrialiser ses développements PHP
Plan
 Qu'est-ce que l'industrialisation ?
 Mettre en place un environnement de travail
 Former l'équipe
 Eviter de réinventer la roue
 S'assurer de la qualité du code
 Automatiser ce qui peut l'être
RMLL 2010 - 06 juillet 2010 15ALTER WAY - Industrialiser ses développements PHP
Eviter de réinventer la roue
« Si j'ai vu plus loin que les autres,
c'est parce que j'ai été porté par
des épaules de géants. »
Isaac Newton
RMLL 2010 - 06 juillet 2010 16ALTER WAY - Industrialiser ses développements PHP
Eviter de réinventer la roue
 Eviter le syndrôme « Pas inventé ici »
 Se concentrer sur sa valeur ajoutée
 Frameworks
 Permettent de standardiser et d'accélérer les développements en
donnant un cadre de travail
 Librairies
 Permettent de rapidement mettre en œuvre des fonctionnalités
plus spécialisées (Génération d'images, de fichiers PDF, etc.)
 Design patterns
 Solutions éprouvées à des problèmes récurrents
 Capitalise sur l'expérience de 40 ans de programmation
 Permet de mettre un nom sur une problématique et sa solution
RMLL 2010 - 06 juillet 2010 17ALTER WAY - Industrialiser ses développements PHP
Plan
 Qu'est-ce que l'industrialisation ?
 Mettre en place un environnement de travail
 Former l'équipe
 Eviter de réinventer la roue
 S'assurer de la qualité du code
 Automatiser ce qui peut l'être
RMLL 2010 - 06 juillet 2010 18ALTER WAY - Industrialiser ses développements PHP
Conventions de codage et d'architecture
 Conventions de codage
 Chacun a ses habitudes
 Des conventions pour que la forme ne brouille pas la
compréhension du fond
 Choisir une convention existante
 Conventions d'architecture
 Définition d'une structure normative pour les projets
 Permet un démarrage plus rapide des projets
 Permet une meilleure intégration dans les processus de suivi de la
qualité
RMLL 2010 - 06 juillet 2010 19ALTER WAY - Industrialiser ses développements PHP
Tests automatisés
 Vérifier l'adéquation de l'application avec les
spécifications
 Plusieurs types
 Unitaires
 IHM
 Fonctionnels,
 De montée en charge
 Etc.
 Peuvent et doivent être lancés aussi souvent de
possible
 Pas d'intervention humaine complexe pour les lancer
 Remontée d'alertes en cas de violation des
spécifications
 Permet le suivi dans le temps de la qualité du projet
RMLL 2010 - 06 juillet 2010 20ALTER WAY - Industrialiser ses développements PHP
Intégration continue
 Concept lié aux méthodes agiles
 Plus l'intégration des nouveaux développements est
régulière moins elle est coûteuse
 Automatisation processus
 Permet de s'assurer de la qualité du projet avant
recette manuelle et déploiement en production
 Actions courantes :
 Exécution des tests
 Vérification des conventions de codage
 Extraction de métriques (nombre de tests, couverture de code,
taille du code, etc.)
 Génération des documentations (technique, utilisateur)
RMLL 2010 - 06 juillet 2010 21ALTER WAY - Industrialiser ses développements PHP
Plan
 Qu'est-ce que l'industrialisation ?
 Mettre en place un environnement de travail
 Former l'équipe
 Eviter de réinventer la roue
 S'assurer de la qualité du code
 Automatiser ce qui peut l'être
RMLL 2010 - 06 juillet 2010 22ALTER WAY - Industrialiser ses développements PHP
Automatiser ce qui peut l'être
 Evite des tâches nécessaires mais répétitives,
fastidieuses et à faible valeur ajoutée
 Génération de code
 Permet de standardiser le code de l'application
 Permet de rendre plus vite autonome une nouvelle personne
 Déploiement automatisé
 Evite les erreurs humaines
 Assure que toutes les étapes seront faites et dans le bon ordre
 Permet de déployer plus vite et sur de nombreux serveurs en
parallèle
 Tâches répétitives
 Création de dépôt de code pour un nouveau projet
 Création de branches et de tags
 Empaquetage de version
RMLL 2010 - 06 juillet 2010 23ALTER WAY - Industrialiser ses développements PHP
Merci
 Me contacter :
jean-marc.fontaine@alterway.fr
 Des questions ?
Présentation : http://www.slideshare.net/jmf/
Livre blanc : http://www.alterway.fr/publications/livre-blanc-industrialisation-php
Blog : http://www.industrialisation-php.com/

Contenu connexe

Tendances

MS TechDays 2012 -Mise en place d'une usine logicielle avec TFS et Test Manag...
MS TechDays 2012 -Mise en place d'une usine logicielle avec TFS et Test Manag...MS TechDays 2012 -Mise en place d'une usine logicielle avec TFS et Test Manag...
MS TechDays 2012 -Mise en place d'une usine logicielle avec TFS et Test Manag...
Raynald M
 
Industrialisation des développements Java
Industrialisation des développements JavaIndustrialisation des développements Java
Industrialisation des développements Java
Christian Blavier
 
Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014
Ippon
 
Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012
Jean-Marc Fontaine
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
Emmanuel Hugonnet
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
Stéphane Traumat
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
Stéphane Liétard
 
Seminaire Portail Open Source
Seminaire Portail Open SourceSeminaire Portail Open Source
Seminaire Portail Open Source
Ippon
 
Devops, un tour d'horizon - Eutelsat 2018
Devops, un tour d'horizon -  Eutelsat 2018Devops, un tour d'horizon -  Eutelsat 2018
Devops, un tour d'horizon - Eutelsat 2018
Ludovic Piot
 
Formation html5 CSS3 offerte par ippon 2014
Formation html5 CSS3 offerte par ippon 2014Formation html5 CSS3 offerte par ippon 2014
Formation html5 CSS3 offerte par ippon 2014
Ippon
 
AgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFS
Agile Toulouse
 
Innovations Techniques Au Service Du Test De Recette Automatisé
Innovations Techniques Au Service Du Test De Recette AutomatiséInnovations Techniques Au Service Du Test De Recette Automatisé
Innovations Techniques Au Service Du Test De Recette Automatisé
Emmanuel Hugonnet
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014
Ippon
 
Valtech - Quel ROI pour ma transformation Agile ? PARTIE 2
Valtech - Quel ROI pour ma transformation Agile ? PARTIE 2Valtech - Quel ROI pour ma transformation Agile ? PARTIE 2
Valtech - Quel ROI pour ma transformation Agile ? PARTIE 2
Valtech
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
Christophe HERAL
 
Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...
Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...
Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...
Rubedo, a WebTales solution
 
Wicket - JUG Lausanne
Wicket - JUG LausanneWicket - JUG Lausanne
Wicket - JUG Lausanne
Christian Blavier
 
DevOps et tendances Monitoring
DevOps et tendances MonitoringDevOps et tendances Monitoring
DevOps et tendances Monitoring
François
 
Ce que nous avons appris de Toyota par Olivier Soulié de PSA
Ce que nous avons appris de Toyota par Olivier Soulié de PSACe que nous avons appris de Toyota par Olivier Soulié de PSA
Ce que nous avons appris de Toyota par Olivier Soulié de PSA
Institut Lean France
 

Tendances (20)

MS TechDays 2012 -Mise en place d'une usine logicielle avec TFS et Test Manag...
MS TechDays 2012 -Mise en place d'une usine logicielle avec TFS et Test Manag...MS TechDays 2012 -Mise en place d'une usine logicielle avec TFS et Test Manag...
MS TechDays 2012 -Mise en place d'une usine logicielle avec TFS et Test Manag...
 
Industrialisation des développements Java
Industrialisation des développements JavaIndustrialisation des développements Java
Industrialisation des développements Java
 
Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014
 
Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Seminaire Portail Open Source
Seminaire Portail Open SourceSeminaire Portail Open Source
Seminaire Portail Open Source
 
Devops, un tour d'horizon - Eutelsat 2018
Devops, un tour d'horizon -  Eutelsat 2018Devops, un tour d'horizon -  Eutelsat 2018
Devops, un tour d'horizon - Eutelsat 2018
 
Formation html5 CSS3 offerte par ippon 2014
Formation html5 CSS3 offerte par ippon 2014Formation html5 CSS3 offerte par ippon 2014
Formation html5 CSS3 offerte par ippon 2014
 
AgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFS
 
Les usines à logiciels
Les usines à logicielsLes usines à logiciels
Les usines à logiciels
 
Innovations Techniques Au Service Du Test De Recette Automatisé
Innovations Techniques Au Service Du Test De Recette AutomatiséInnovations Techniques Au Service Du Test De Recette Automatisé
Innovations Techniques Au Service Du Test De Recette Automatisé
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014
 
Valtech - Quel ROI pour ma transformation Agile ? PARTIE 2
Valtech - Quel ROI pour ma transformation Agile ? PARTIE 2Valtech - Quel ROI pour ma transformation Agile ? PARTIE 2
Valtech - Quel ROI pour ma transformation Agile ? PARTIE 2
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...
Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...
Webinar Rubedo, la premiere solution cms open source tirant profit des atouts...
 
Wicket - JUG Lausanne
Wicket - JUG LausanneWicket - JUG Lausanne
Wicket - JUG Lausanne
 
DevOps et tendances Monitoring
DevOps et tendances MonitoringDevOps et tendances Monitoring
DevOps et tendances Monitoring
 
Ce que nous avons appris de Toyota par Olivier Soulié de PSA
Ce que nous avons appris de Toyota par Olivier Soulié de PSACe que nous avons appris de Toyota par Olivier Soulié de PSA
Ce que nous avons appris de Toyota par Olivier Soulié de PSA
 

En vedette

Python avancé : Qualité de code et convention de codage
Python avancé : Qualité de code et convention de codagePython avancé : Qualité de code et convention de codage
Python avancé : Qualité de code et convention de codage
ECAM Brussels Engineering School
 
Geothermal energy
Geothermal energyGeothermal energy
Geothermal energy
Haris Mahmood
 
Qualité de code et bonnes pratiques
Qualité de code et bonnes pratiquesQualité de code et bonnes pratiques
Qualité de code et bonnes pratiques
ECAM Brussels Engineering School
 
Refactoring vers les design patterns pyxis v2
Refactoring vers les design patterns   pyxis v2Refactoring vers les design patterns   pyxis v2
Refactoring vers les design patterns pyxis v2
Eric De Carufel
 
[Agile Testing Day] Techniques avancées de tests
[Agile Testing Day] Techniques avancées de tests[Agile Testing Day] Techniques avancées de tests
[Agile Testing Day] Techniques avancées de tests
Cellenza
 
L'analyse de code au service de la qualité
L'analyse de code au service de la qualitéL'analyse de code au service de la qualité
L'analyse de code au service de la qualité
Stephane Leclercq
 
4D Summit2013 refactoring
4D Summit2013 refactoring4D Summit2013 refactoring
4D Summit2013 refactoring
Nathalie Richomme
 

En vedette (9)

Af confef
Af confefAf confef
Af confef
 
Python avancé : Qualité de code et convention de codage
Python avancé : Qualité de code et convention de codagePython avancé : Qualité de code et convention de codage
Python avancé : Qualité de code et convention de codage
 
Geothermal energy
Geothermal energyGeothermal energy
Geothermal energy
 
Qualité de code et bonnes pratiques
Qualité de code et bonnes pratiquesQualité de code et bonnes pratiques
Qualité de code et bonnes pratiques
 
Refactoring vers les design patterns pyxis v2
Refactoring vers les design patterns   pyxis v2Refactoring vers les design patterns   pyxis v2
Refactoring vers les design patterns pyxis v2
 
[Agile Testing Day] Techniques avancées de tests
[Agile Testing Day] Techniques avancées de tests[Agile Testing Day] Techniques avancées de tests
[Agile Testing Day] Techniques avancées de tests
 
L'analyse de code au service de la qualité
L'analyse de code au service de la qualitéL'analyse de code au service de la qualité
L'analyse de code au service de la qualité
 
4D Summit2013 refactoring
4D Summit2013 refactoring4D Summit2013 refactoring
4D Summit2013 refactoring
 
Coder proprement
Coder proprementCoder proprement
Coder proprement
 

Similaire à Industrialiser ses développements PHP - RMLL 2010

Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010
Jean-Marc Fontaine
 
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Xavier Lacot
 
Mise en place d'une usine logicielle avec TFS et Test Manager 2010
Mise en place d'une usine logicielle avec TFS et Test Manager 2010Mise en place d'une usine logicielle avec TFS et Test Manager 2010
Mise en place d'une usine logicielle avec TFS et Test Manager 2010
Microsoft Technet France
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
PimpMySharePoint
 
DU DEVOPS AU FASTLAB
DU DEVOPS AU FASTLABDU DEVOPS AU FASTLAB
DU DEVOPS AU FASTLAB
TREEPTIK
 
soft-shake.ch - Lean engineering
soft-shake.ch - Lean engineeringsoft-shake.ch - Lean engineering
soft-shake.ch - Lean engineering
soft-shake.ch
 
Agilité, Tests Et Industrialisation
Agilité, Tests Et IndustrialisationAgilité, Tests Et Industrialisation
Agilité, Tests Et Industrialisation
PHPPRO
 
2014 10 30_metz_ict_invitation
2014 10  30_metz_ict_invitation2014 10  30_metz_ict_invitation
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !
Cédric Leblond
 
Mon environnement de travail a-t-il encore un avenir ?
Mon environnement de travail a-t-il encore un avenir ?Mon environnement de travail a-t-il encore un avenir ?
Mon environnement de travail a-t-il encore un avenir ?
Frederic Dewinne
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
ALTER WAY
 
OevO - Projets 2011 - 2011 Alain PAYSANT
OevO - Projets 2011 - 2011 Alain PAYSANTOevO - Projets 2011 - 2011 Alain PAYSANT
OevO - Projets 2011 - 2011 Alain PAYSANT
ampaysant
 
Cyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-web
Cyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-webCyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-web
Cyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-web
CERTyou Formation
 
M10232 formation-concevoir-des-applications-pour-microsoft-sharepoint-2010
M10232 formation-concevoir-des-applications-pour-microsoft-sharepoint-2010M10232 formation-concevoir-des-applications-pour-microsoft-sharepoint-2010
M10232 formation-concevoir-des-applications-pour-microsoft-sharepoint-2010
CERTyou Formation
 
Tech-IT Academy catalogue des formations
Tech-IT Academy catalogue des formationsTech-IT Academy catalogue des formations
Tech-IT Academy catalogue des formations
Tech-IT Maroc
 
Rs728 g formation-ibm-rational-team-concert-rtc-v4-0-4-configuration-de-projets
Rs728 g formation-ibm-rational-team-concert-rtc-v4-0-4-configuration-de-projetsRs728 g formation-ibm-rational-team-concert-rtc-v4-0-4-configuration-de-projets
Rs728 g formation-ibm-rational-team-concert-rtc-v4-0-4-configuration-de-projets
CERTyou Formation
 
Cypyth formation-programmation-objet-en-langage-python
Cypyth formation-programmation-objet-en-langage-pythonCypyth formation-programmation-objet-en-langage-python
Cypyth formation-programmation-objet-en-langage-python
CERTyou Formation
 

Similaire à Industrialiser ses développements PHP - RMLL 2010 (20)

Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010
 
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
 
Mise en place d'une usine logicielle avec TFS et Test Manager 2010
Mise en place d'une usine logicielle avec TFS et Test Manager 2010Mise en place d'une usine logicielle avec TFS et Test Manager 2010
Mise en place d'une usine logicielle avec TFS et Test Manager 2010
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
DU DEVOPS AU FASTLAB
DU DEVOPS AU FASTLABDU DEVOPS AU FASTLAB
DU DEVOPS AU FASTLAB
 
soft-shake.ch - Lean engineering
soft-shake.ch - Lean engineeringsoft-shake.ch - Lean engineering
soft-shake.ch - Lean engineering
 
Agilité, Tests Et Industrialisation
Agilité, Tests Et IndustrialisationAgilité, Tests Et Industrialisation
Agilité, Tests Et Industrialisation
 
2014 10 30_metz_ict_invitation
2014 10  30_metz_ict_invitation2014 10  30_metz_ict_invitation
2014 10 30_metz_ict_invitation
 
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
 
Penta formation-pentaho
Penta formation-pentahoPenta formation-pentaho
Penta formation-pentaho
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !
 
Mon environnement de travail a-t-il encore un avenir ?
Mon environnement de travail a-t-il encore un avenir ?Mon environnement de travail a-t-il encore un avenir ?
Mon environnement de travail a-t-il encore un avenir ?
 
Djang formation-django
Djang formation-djangoDjang formation-django
Djang formation-django
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
OevO - Projets 2011 - 2011 Alain PAYSANT
OevO - Projets 2011 - 2011 Alain PAYSANTOevO - Projets 2011 - 2011 Alain PAYSANT
OevO - Projets 2011 - 2011 Alain PAYSANT
 
Cyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-web
Cyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-webCyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-web
Cyphp5 w formation-php-5-l-essentiel-de-php-pour-developper-un-site-web
 
M10232 formation-concevoir-des-applications-pour-microsoft-sharepoint-2010
M10232 formation-concevoir-des-applications-pour-microsoft-sharepoint-2010M10232 formation-concevoir-des-applications-pour-microsoft-sharepoint-2010
M10232 formation-concevoir-des-applications-pour-microsoft-sharepoint-2010
 
Tech-IT Academy catalogue des formations
Tech-IT Academy catalogue des formationsTech-IT Academy catalogue des formations
Tech-IT Academy catalogue des formations
 
Rs728 g formation-ibm-rational-team-concert-rtc-v4-0-4-configuration-de-projets
Rs728 g formation-ibm-rational-team-concert-rtc-v4-0-4-configuration-de-projetsRs728 g formation-ibm-rational-team-concert-rtc-v4-0-4-configuration-de-projets
Rs728 g formation-ibm-rational-team-concert-rtc-v4-0-4-configuration-de-projets
 
Cypyth formation-programmation-objet-en-langage-python
Cypyth formation-programmation-objet-en-langage-pythonCypyth formation-programmation-objet-en-langage-python
Cypyth formation-programmation-objet-en-langage-python
 

Plus de Jean-Marc Fontaine

Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Jean-Marc Fontaine
 
Revue de code - PHP Tour Nantes 2012
Revue de code - PHP Tour Nantes 2012Revue de code - PHP Tour Nantes 2012
Revue de code - PHP Tour Nantes 2012
Jean-Marc Fontaine
 
Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012
Jean-Marc Fontaine
 
Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012
Jean-Marc Fontaine
 
La qualité au delà du code - Forum PHP 2012
La qualité au delà du code - Forum PHP 2012La qualité au delà du code - Forum PHP 2012
La qualité au delà du code - Forum PHP 2012
Jean-Marc Fontaine
 
Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012
Jean-Marc Fontaine
 
Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011
Jean-Marc Fontaine
 
Organiser efficacement son dépôt de code - RMLL 2011
Organiser efficacement son dépôt de code - RMLL 2011Organiser efficacement son dépôt de code - RMLL 2011
Organiser efficacement son dépôt de code - RMLL 2011
Jean-Marc Fontaine
 
Comment monter son business grâce à l'Open Source ?
Comment monter son business grâce à l'Open Source ?Comment monter son business grâce à l'Open Source ?
Comment monter son business grâce à l'Open Source ?
Jean-Marc Fontaine
 
PHP : Etat des lieux
PHP : Etat des lieuxPHP : Etat des lieux
PHP : Etat des lieux
Jean-Marc Fontaine
 
PHP 5.3 : Une étape importante sur la route vers PHP 6
PHP 5.3 : Une étape importante sur la route vers PHP 6PHP 5.3 : Une étape importante sur la route vers PHP 6
PHP 5.3 : Une étape importante sur la route vers PHP 6
Jean-Marc Fontaine
 
Déboguer une application web avec FirePHP
Déboguer une application web avec FirePHPDéboguer une application web avec FirePHP
Déboguer une application web avec FirePHP
Jean-Marc Fontaine
 
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
 

Plus de Jean-Marc Fontaine (13)

Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
 
Revue de code - PHP Tour Nantes 2012
Revue de code - PHP Tour Nantes 2012Revue de code - PHP Tour Nantes 2012
Revue de code - PHP Tour Nantes 2012
 
Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012
 
Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012
 
La qualité au delà du code - Forum PHP 2012
La qualité au delà du code - Forum PHP 2012La qualité au delà du code - Forum PHP 2012
La qualité au delà du code - Forum PHP 2012
 
Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012
 
Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011
 
Organiser efficacement son dépôt de code - RMLL 2011
Organiser efficacement son dépôt de code - RMLL 2011Organiser efficacement son dépôt de code - RMLL 2011
Organiser efficacement son dépôt de code - RMLL 2011
 
Comment monter son business grâce à l'Open Source ?
Comment monter son business grâce à l'Open Source ?Comment monter son business grâce à l'Open Source ?
Comment monter son business grâce à l'Open Source ?
 
PHP : Etat des lieux
PHP : Etat des lieuxPHP : Etat des lieux
PHP : Etat des lieux
 
PHP 5.3 : Une étape importante sur la route vers PHP 6
PHP 5.3 : Une étape importante sur la route vers PHP 6PHP 5.3 : Une étape importante sur la route vers PHP 6
PHP 5.3 : Une étape importante sur la route vers PHP 6
 
Déboguer une application web avec FirePHP
Déboguer une application web avec FirePHPDéboguer une application web avec FirePHP
Déboguer une application web avec FirePHP
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHP
 

Industrialiser ses développements PHP - RMLL 2010

  • 2. RMLL 2010 - 06 juillet 2010 2ALTER WAY - Industrialiser ses développements PHP Qui suis-je ?  Jean-Marc Fontaine  Consultant pour Alter Way Consulting  Responsable du centre de compétences PHP pour Alter Way Solutions  Formateur pour Alter Way Formation  Professeur vacataire à l'INSSET de Saint Quentin  Membre Actif de l'AFUP  Auteur du blog Industrialisation-PHP.com  Co-auteur du livre blanc « Industrialisation PHP »
  • 3. RMLL 2010 - 06 juillet 2010 3ALTER WAY - Industrialiser ses développements PHP Livre blanc « Industrialisation PHP »  Co-écrit avec Damien Seguy  Panorama des outils et méthodes d'industrialisation des développements PHP  Publié en octobre 2009  Plus de 2 000 téléchargements  Livre en préparation Téléchargement : http://www.alterway.fr/publications/livre-blanc-industrialisation-php Blog : http://www.industrialisation-php.com/
  • 4. RMLL 2010 - 06 juillet 2010 4ALTER WAY - Industrialiser ses développements PHP Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être
  • 5. RMLL 2010 - 06 juillet 2010 5ALTER WAY - Industrialiser ses développements PHP Qu'est-ce que l'industrialisation ?  Trois phases pour la reconnaissance d'une technologie en entreprise :  la phase de tests  la phase de missions critiques  la phase de missions stratégiques  PHP a dépassé le stade de l'expérimentation
  • 6. RMLL 2010 - 06 juillet 2010 6ALTER WAY - Industrialiser ses développements PHP Qu'est-ce que l'industrialisation ?  Une définition : mise en œuvre de pratiques et d'outils visant à rendre les logiciels produits plus robustes, tout en restant dans des délais et des coûts maîtrisés  Pas de solution miracle valable pour tous  Un accompagnement est généralement nécessaire
  • 7. RMLL 2010 - 06 juillet 2010 7ALTER WAY - Industrialiser ses développements PHP Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être
  • 8. RMLL 2010 - 06 juillet 2010 8ALTER WAY - Industrialiser ses développements PHP Dépôt de code  Facilite le travail en équipe  Permet d'avoir un historique du code  Assure la pérennité du code  Deux approches :  Dépôts centralisés (CVS, Subversion)  Dépôts décentralisés (Git, Mercurial, Bazaar)
  • 9. RMLL 2010 - 06 juillet 2010 9ALTER WAY - Industrialiser ses développements PHP IDE de développement  Editeur de texte sous stéroïdes  Fonctions généralement proposées :  Colorisation syntaxique  Autocomplétion  Intégration aux dépôts de code  Intégration avec un ou plusieurs frameworks  Débogueur  Profileur  Intégration d'outils externes (Tests unitaires, déploiement, gestion de base de données, éditeur UML, prototypage, etc.)  Standardisation des outils  Intégration dans la chaîne de production
  • 10. RMLL 2010 - 06 juillet 2010 10ALTER WAY - Industrialiser ses développements PHP Environnements  Trois types d'environnements classiques :  Développement  Pré-production  Production  Développement  En local ou sur un serveur spécialisé  Débogueur et profileur disponibles  Affichage des erreurs  Pré-production  Identique à la production (performances, configuration, données)  Permet de recetter les changements  Production  Optimisé pour la performance et la sécurité  Monitoré pour assurer la qualité de service
  • 11. RMLL 2010 - 06 juillet 2010 11ALTER WAY - Industrialiser ses développements PHP Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être
  • 12. RMLL 2010 - 06 juillet 2010 12ALTER WAY - Industrialiser ses développements PHP Former l'équipe  Formation professionnelle  Permet de rapidement entrer dans une nouvelle technologie  Doit être suivie de mise en pratique pour être efficace  Action ponctuelle  Veille  Permet de maintenir et de développer ses connaissances  Web, livres, magazines, conférences, etc.  Travail régulier et sur le long terme pour être payant  Doit être structurée pour être exploitable par la suite  Mini-conférences internes  Partage de connaissance au sein de l'équipe  Valorisation des personnes
  • 13. RMLL 2010 - 06 juillet 2010 13ALTER WAY - Industrialiser ses développements PHP Former l'équipe  Programmation en binôme  Pratique prônée par les méthodes agiles  Partage informel des connaissances  Améliore les relations humaines au sein de l'équipe  Changer régulièrement les binômes  Revue de code  Améliore la connaissance du code  Favorise la collaboration et le partage des connaissances  Peut être rendue difficile par des aspects humains (timidité, orgueil, manque de tact)
  • 14. RMLL 2010 - 06 juillet 2010 14ALTER WAY - Industrialiser ses développements PHP Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être
  • 15. RMLL 2010 - 06 juillet 2010 15ALTER WAY - Industrialiser ses développements PHP Eviter de réinventer la roue « Si j'ai vu plus loin que les autres, c'est parce que j'ai été porté par des épaules de géants. » Isaac Newton
  • 16. RMLL 2010 - 06 juillet 2010 16ALTER WAY - Industrialiser ses développements PHP Eviter de réinventer la roue  Eviter le syndrôme « Pas inventé ici »  Se concentrer sur sa valeur ajoutée  Frameworks  Permettent de standardiser et d'accélérer les développements en donnant un cadre de travail  Librairies  Permettent de rapidement mettre en œuvre des fonctionnalités plus spécialisées (Génération d'images, de fichiers PDF, etc.)  Design patterns  Solutions éprouvées à des problèmes récurrents  Capitalise sur l'expérience de 40 ans de programmation  Permet de mettre un nom sur une problématique et sa solution
  • 17. RMLL 2010 - 06 juillet 2010 17ALTER WAY - Industrialiser ses développements PHP Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être
  • 18. RMLL 2010 - 06 juillet 2010 18ALTER WAY - Industrialiser ses développements PHP Conventions de codage et d'architecture  Conventions de codage  Chacun a ses habitudes  Des conventions pour que la forme ne brouille pas la compréhension du fond  Choisir une convention existante  Conventions d'architecture  Définition d'une structure normative pour les projets  Permet un démarrage plus rapide des projets  Permet une meilleure intégration dans les processus de suivi de la qualité
  • 19. RMLL 2010 - 06 juillet 2010 19ALTER WAY - Industrialiser ses développements PHP Tests automatisés  Vérifier l'adéquation de l'application avec les spécifications  Plusieurs types  Unitaires  IHM  Fonctionnels,  De montée en charge  Etc.  Peuvent et doivent être lancés aussi souvent de possible  Pas d'intervention humaine complexe pour les lancer  Remontée d'alertes en cas de violation des spécifications  Permet le suivi dans le temps de la qualité du projet
  • 20. RMLL 2010 - 06 juillet 2010 20ALTER WAY - Industrialiser ses développements PHP Intégration continue  Concept lié aux méthodes agiles  Plus l'intégration des nouveaux développements est régulière moins elle est coûteuse  Automatisation processus  Permet de s'assurer de la qualité du projet avant recette manuelle et déploiement en production  Actions courantes :  Exécution des tests  Vérification des conventions de codage  Extraction de métriques (nombre de tests, couverture de code, taille du code, etc.)  Génération des documentations (technique, utilisateur)
  • 21. RMLL 2010 - 06 juillet 2010 21ALTER WAY - Industrialiser ses développements PHP Plan  Qu'est-ce que l'industrialisation ?  Mettre en place un environnement de travail  Former l'équipe  Eviter de réinventer la roue  S'assurer de la qualité du code  Automatiser ce qui peut l'être
  • 22. RMLL 2010 - 06 juillet 2010 22ALTER WAY - Industrialiser ses développements PHP Automatiser ce qui peut l'être  Evite des tâches nécessaires mais répétitives, fastidieuses et à faible valeur ajoutée  Génération de code  Permet de standardiser le code de l'application  Permet de rendre plus vite autonome une nouvelle personne  Déploiement automatisé  Evite les erreurs humaines  Assure que toutes les étapes seront faites et dans le bon ordre  Permet de déployer plus vite et sur de nombreux serveurs en parallèle  Tâches répétitives  Création de dépôt de code pour un nouveau projet  Création de branches et de tags  Empaquetage de version
  • 23. RMLL 2010 - 06 juillet 2010 23ALTER WAY - Industrialiser ses développements PHP Merci  Me contacter : jean-marc.fontaine@alterway.fr  Des questions ? Présentation : http://www.slideshare.net/jmf/ Livre blanc : http://www.alterway.fr/publications/livre-blanc-industrialisation-php Blog : http://www.industrialisation-php.com/

Notes de l'éditeur

  1. phase de tests la techno doit rassurer les utilisateurs quant à sa capacité à rendre des services productifs atouts de PHP : Open Source, facile à installer et prendre en main, pragmatique phase de missions critiques des projets importants s'appuient sur la technologie Ce n'est plus la techno qui fait la différence mais les pratiques de développement phase de missions stratégiques la technologie est adoptée comme norme principale Il existe des méthodes et des outils standards mais leur choix et leur agencement est au cas par cas
  2. Pas de solution miracle : HipHop est fait pour 1% des usages maximum Il existe des méthodes et des outils standards mais leur choix et leur agencement est au cas par cas
  3. IDE : Si un pilote de ligne peut manœuvrer un avion en commandes manuelles, la tâche lui sera grandement facilitée par l'usage des systèmes modernes d'assistance. Il en va de même pour l'édition de code PHP.
  4. IDE : Si un pilote de ligne peut manœuvrer un avion en commandes manuelles, la tâche lui sera grandement facilitée par l'usage des systèmes modernes d'assistance. Il en va de même pour l'édition de code PHP.
  5. IDE : Si un pilote de ligne peut manœuvrer un avion en commandes manuelles, la tâche lui sera grandement facilitée par l'usage des systèmes modernes d'assistance. Il en va de même pour l'édition de code PHP.
  6. Un script n'est pas interrompu par une question, un appel téléphonique ou un mail urgent. Il n'est pas sujet au stress ou à la lassitude.