SlideShare ist ein Scribd-Unternehmen logo
1 von 76
Downloaden Sie, um offline zu lesen
Industrialisation en PHP
         UTT, Troyes, France, 20 mai 2010

vendredi 28 mai 2010
Agenda


               Maîtriser les cycles de développements
               Accélérer le développement PHP
               Connaître et utiliser les outils et méthodes




vendredi 28 mai 2010
Qui parle?
                Damien Seguy
                Services expert en Open Source
                Sécurité, performances,
                industrialisation
                Eleveurs d’elePHPants
                damien.seguy@alterway.fr




vendredi 28 mai 2010
vendredi 28 mai 2010
Yes, we take
         questions


vendredi 28 mai 2010
vendredi 28 mai 2010
PHP romantique




vendredi 28 mai 2010
PHP aujourd’hui

vendredi 28 mai 2010
Sur le terrain
               65 portails à refaire en 6 mois
               6 personnes pour mettre à niveau 350 intranets
               120 événements par an, sur 150 serveurs
               Une application sur une ville : 12 villes pour Noel,
               2 pays l’an prochain.
               Un employé à temps plein pour le déploiement
               Multiplier les commandes par 6 en 2 mois


vendredi 28 mai 2010
Trois mantra




vendredi 28 mai 2010
Trois mantra


               Libérez-vous du code




vendredi 28 mai 2010
Trois mantra


               Libérez-vous du code
               Capitalisez



vendredi 28 mai 2010
Trois mantra


               Libérez-vous du code
               Capitalisez
               Impliquez vos utilisateurs

vendredi 28 mai 2010
∆ Convention
                        ∆ IDE        ∆ Conception
                        ∆ Framework ∆ Déploiement
                                     ∆ VCS     Capitalisation
                       Code
                                             ∆ Tests unitaires
                                 ∆ CI
                               ∆ Docs         ∆ Bug
                             ∆ Méthodes      Tracking

                                 ∆ Tests fonctionnels
                                     Implication



vendredi 28 mai 2010
Libérez-vous
         du code



vendredi 28 mai 2010
Libérez vous du code

               Le facteur bus
                       Ne soyez pas le seul
               Le facteur WTF
                       Écrivez du code qui peut être compris
               50% du temps consacré à la production
                       Ne vous mettez pas en travers du chemin


vendredi 28 mai 2010
Libérez vous du code


               S’arranger pour que l’on puisse travailler sans vous
               Ne vous investissez pas dans votre code
               Rendez votre code accessible aux autres




vendredi 28 mai 2010
Conventions de code




vendredi 28 mai 2010
Conventions de code
               Il en existe de nombreuses
                       PEAR, Zend Frameworks, Symfony...
               Choisissez en une
                       Évitez de créer la votre
               Cela apporte de l’unité au travail en équipe
               Pour vérifier son application
                       Code_sniffer


vendredi 28 mai 2010
IDE


               Choisissez celui qui vous convient le mieux
                       Évitez les éditeurs trop simples
               Netbean / Symfony,
               Zend tools / Zend Framework
               Komodo / cakePHP



vendredi 28 mai 2010
IDE

               Il faut au moins
                       Navigateur de code, intégration avec un framework
                       Editeur, coloration syntaxique, support des
                       encodages
                       intégration avec les tests unitaires
                       interface avec VCS


vendredi 28 mai 2010
vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks




vendredi 28 mai 2010
Frameworks

               Choisissez en un
                       Pour accélérer le développement
                       Pour son coté agréable et pratique
               Il doit avoir
                       Des composants, des conventions, des tests
                       unitaires, des utilitaires de mise en place
                       Une communauté, des experts, des formations

vendredi 28 mai 2010
Au dela des frameworks


               Les frameworks sont généralistes et techniques
               Bâtissez votre propre bibliothèque métier
               Nous verrons bientôt des bibliothèques métier




vendredi 28 mai 2010
VCS

               Version Control System
                       Subversion, git, CVS, mercurial
               Résolution des conflits
               Permet le développement parallèle,
               le retour en arrière, les versions.
               Stocke et distribue le code



vendredi 28 mai 2010
vendredi 28 mai 2010
VCS                            Développement



                        Tests
                                                        Production
                       unitaires
                                           VCS




                             Suivi de             Intégration
                              bugs                 continue


                            Le code hors du VCS n’existe pas!
vendredi 28 mai 2010
Le coeur du développement




vendredi 28 mai 2010
∆ Convention
                        ∆ IDE        ∆ Conception
                        ∆ Framework ∆ Déploiement
                                     ∆ VCS     Capitalisation
                       Code
                                             ∆ Tests unitaires
                                 ∆ CI
                               ∆ Docs         ∆ Bug
                             ∆ Méthodes      Tracking

                                 ∆ Tests fonctionnels
                                     Implication



vendredi 28 mai 2010
Capitalisation




vendredi 28 mai 2010
Capitalisation


               Accumuler à toutes les phases du projet
               Capturer l’information au fil de l’eau
               Evitez les culs de sacs
                       Toujours se demander qui va l’utiliser?




vendredi 28 mai 2010
Tests
  unitaires



vendredi 28 mai 2010
Les tests aident à découpler

               Évite les régressions             Production
                                         Code
               Préviens votre rappel
               Affiche les progres
               Sert de manuel
               Aide aux communications
                                                Client



vendredi 28 mai 2010
Tests unitaires


               PHP Unit : standard de facto
               Simple Test, Lemon, Zend_Test, phpt




vendredi 28 mai 2010
Conception
               Description générale de l’application
               Documents très variés
               Diagrammes d’architecture
                       Visio, Omnigraffle, Dia
               Diagrammes UML
                       Diagrammes de classes, Cas d’utilisation
                       StarUML, ArgoUML, BOUML,


vendredi 28 mai 2010
Conception


               Captures d’écran : WireFraming
                       Axure, Basalmiq, pencil sketching
               Modèle de données
                       Power Architect, MySQL WorkBench




vendredi 28 mai 2010
Conception

               Ayez un inventaire
                       Classes, méthodes, constantes, $_SESSION,
                       inclusions, fichiers, dossiers,...
               Vérifiez l’utilisation réelle
               Prévoyez de faire des allers-retours avec la réalité
               La conception n’est pas la programmation



vendredi 28 mai 2010
Déploiement automatisé


               Phing, maven, ant, pear
               Nécessaire pour l’intégration continue
               L’aspect le plus souvent négligé du développement
               Obligatoire pour les grandes architectures




vendredi 28 mai 2010
∆ Convention
                        ∆ IDE        ∆ Conception
                        ∆ Framework ∆ Déploiement
                                     ∆ VCS     Capitalisation
                       Code
                                             ∆ Tests unitaires
                                 ∆ CI
                               ∆ Docs         ∆ Bug
                             ∆ Méthodes      Tracking

                                 ∆ Tests fonctionnels
                                     Implication



vendredi 28 mai 2010
Impliquer les
          utilisateurs



vendredi 28 mai 2010
Impliquer les utilisateurs

               Eviter l’effet tunnel
               Savoir affronter le tsunami des questions
                       bugs, changements, nouveautés, adaptations,
                       accélérations, etc.
               Rendre les utilisateurs autonome,
                       faire qu’ils se prennent en charge



vendredi 28 mai 2010
Bug tracker

               Mantis, Trac, Redline, Jira
               Rassembler les retours des utilisateurs et clients en un
               seul endroit
               Suivre leur évolution jusqu’à la conclusion
               Permet de produire le changelog
               A relier avec le VCS et le déploiement


vendredi 28 mai 2010
vendredi 28 mai 2010
vendredi 28 mai 2010
vendredi 28 mai 2010
vendredi 28 mai 2010
vendredi 28 mai 2010
vendredi 28 mai 2010
Tests fonctionnels

               A base de wiki : accessibles aux non-techniciens
               Collecte de tests métiers, et non plus techniques
               Tests a priori, tests en direct
               Les développeurs assurent la liaison avec le code
               Green pepper, fitnesse, concordion




vendredi 28 mai 2010
Intégration continue
               Vérification du code en tâche de fond
               phpUnderControl, Rephlux, Hudson, Maven, sonar,
               Xinc, script maison
               Présentation en graphique des résultats
                       Compilation, code sniffer, tests unitaires, couverture
                       de code
                       Journaux, inclusion, performances...



vendredi 28 mai 2010
vendredi 28 mai 2010
Méthodologies

               Expliquer comment on produit le code
                       Justifier comment on assure la qualité
               Impliquer les utilisateurs!
               Cycles de développement courts
                       Production, correction, adaptation
               Méthodologies agiles :
                       SCRUM, XP, Lean SD, Open Unified Process

vendredi 28 mai 2010
Pratiques agiles
               Les pratiques agiles sont souvent suffisantes
               Codage par paire
               Tester avant de coder
               Cycles courts de production
               Scénarios utilisateurs
               Poker collectif
               Point journalier (Daily Scrum)


vendredi 28 mai 2010
vendredi 28 mai 2010
La documentation
               A transférer des développeurs aux utilisateurs
               Les développeurs font la première version
               Ajouter un système de commentaires
                       Voir PHP.net : les commentaires sont plus
                       intéressants que la documentation!
               Utiliser un Wiki
               Les utilisateurs font la documentation


vendredi 28 mai 2010
vendredi 28 mai 2010
Encore plus loin?


               Déploiement continu (a la flickr)
               Audits croisés
               Audits collaboratifs
               Analyse statique




vendredi 28 mai 2010
Merci!


               http://www.alterway.fr/
               publications/
               livre-blanc-industrialisation-php
               Damien Seguy :
               damien.seguy@alterway.fr




vendredi 28 mai 2010
damien.seguy@alterway.fr
         http://www.slideshare.net/dseguy/

vendredi 28 mai 2010

Weitere ähnliche Inhalte

Andere mochten auch

Conference TDWI BI Open Source - 2011 11 29
Conference TDWI BI Open Source - 2011 11 29Conference TDWI BI Open Source - 2011 11 29
Conference TDWI BI Open Source - 2011 11 29canadadri
 
La gestión colectiva (“contingente”) de contratación de trabajadores extranje...
La gestión colectiva (“contingente”) de contratación de trabajadores extranje...La gestión colectiva (“contingente”) de contratación de trabajadores extranje...
La gestión colectiva (“contingente”) de contratación de trabajadores extranje...Universidad Autónoma de Barcelona
 
Marxinadas. A exclusión social dende unha perspectiva de xénero
Marxinadas. A exclusión social dende unha perspectiva de xéneroMarxinadas. A exclusión social dende unha perspectiva de xénero
Marxinadas. A exclusión social dende unha perspectiva de xéneroAsociación Lazos Pro Solidariedade
 
Décrire son projet php dans des rapports confoo 2011
Décrire son projet php dans des rapports   confoo 2011Décrire son projet php dans des rapports   confoo 2011
Décrire son projet php dans des rapports confoo 2011ALTER WAY
 
2. presentación
2.  presentación2.  presentación
2. presentaciónlucianapao
 
Practica3 rea
Practica3 reaPractica3 rea
Practica3 reaionbuc
 
Inclure le développement durable dans la formation professionnelle du secteu...
 Inclure le développement durable dans la formation professionnelle du secteu... Inclure le développement durable dans la formation professionnelle du secteu...
Inclure le développement durable dans la formation professionnelle du secteu...Office Nationale du Tourisme Madagascar
 
Photos de 2012
Photos de 2012Photos de 2012
Photos de 2012David Joly
 
Fichieracte117328
Fichieracte117328Fichieracte117328
Fichieracte117328genevieve38
 
Sobre la sentencia del Juzgado de lo Social nº 16 de Madrid de 17 de julio de...
Sobre la sentencia del Juzgado de lo Social nº 16 de Madrid de 17 de julio de...Sobre la sentencia del Juzgado de lo Social nº 16 de Madrid de 17 de julio de...
Sobre la sentencia del Juzgado de lo Social nº 16 de Madrid de 17 de julio de...Universidad Autónoma de Barcelona
 

Andere mochten auch (20)

AlsaceRaquel
AlsaceRaquelAlsaceRaquel
AlsaceRaquel
 
Conference TDWI BI Open Source - 2011 11 29
Conference TDWI BI Open Source - 2011 11 29Conference TDWI BI Open Source - 2011 11 29
Conference TDWI BI Open Source - 2011 11 29
 
La gestión colectiva (“contingente”) de contratación de trabajadores extranje...
La gestión colectiva (“contingente”) de contratación de trabajadores extranje...La gestión colectiva (“contingente”) de contratación de trabajadores extranje...
La gestión colectiva (“contingente”) de contratación de trabajadores extranje...
 
Marxinadas. A exclusión social dende unha perspectiva de xénero
Marxinadas. A exclusión social dende unha perspectiva de xéneroMarxinadas. A exclusión social dende unha perspectiva de xénero
Marxinadas. A exclusión social dende unha perspectiva de xénero
 
Décrire son projet php dans des rapports confoo 2011
Décrire son projet php dans des rapports   confoo 2011Décrire son projet php dans des rapports   confoo 2011
Décrire son projet php dans des rapports confoo 2011
 
2. presentación
2.  presentación2.  presentación
2. presentación
 
Regalías Para Siempre
Regalías Para SiempreRegalías Para Siempre
Regalías Para Siempre
 
Codiesel S.A
Codiesel S.ACodiesel S.A
Codiesel S.A
 
Guia puntos de investigacion 21010103203
Guia puntos de investigacion 21010103203Guia puntos de investigacion 21010103203
Guia puntos de investigacion 21010103203
 
Charla
CharlaCharla
Charla
 
Milagros Eucarsticos
Milagros EucarsticosMilagros Eucarsticos
Milagros Eucarsticos
 
Legal pres
Legal presLegal pres
Legal pres
 
Tic project
Tic projectTic project
Tic project
 
Practica3 rea
Practica3 reaPractica3 rea
Practica3 rea
 
Tic project
Tic projectTic project
Tic project
 
René
RenéRené
René
 
Inclure le développement durable dans la formation professionnelle du secteu...
 Inclure le développement durable dans la formation professionnelle du secteu... Inclure le développement durable dans la formation professionnelle du secteu...
Inclure le développement durable dans la formation professionnelle du secteu...
 
Photos de 2012
Photos de 2012Photos de 2012
Photos de 2012
 
Fichieracte117328
Fichieracte117328Fichieracte117328
Fichieracte117328
 
Sobre la sentencia del Juzgado de lo Social nº 16 de Madrid de 17 de julio de...
Sobre la sentencia del Juzgado de lo Social nº 16 de Madrid de 17 de julio de...Sobre la sentencia del Juzgado de lo Social nº 16 de Madrid de 17 de julio de...
Sobre la sentencia del Juzgado de lo Social nº 16 de Madrid de 17 de julio de...
 

Ähnlich wie Industrialisation en PHP

Techdays2011
Techdays2011 Techdays2011
Techdays2011 ALTER WAY
 
Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010Jean-Marc Fontaine
 
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...Djamel Zouaoui
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Microsoft
 
Adoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALMAdoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALMGrégory Ott
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerPhilippe Sentenac
 
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
 
Présentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expériencePrésentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expérienceKhanh Maudoux
 
Présentation Maven
Présentation MavenPrésentation Maven
Présentation MavenSOAT
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la rechercheJohan Moreau
 
Opensource - Méthodes et outils
Opensource - Méthodes et outilsOpensource - Méthodes et outils
Opensource - Méthodes et outilsEric Fesler
 
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
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Microsoft
 
Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Jean-Marc Fontaine
 
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 2010Microsoft Technet France
 
Soft fluent@md day2011
Soft fluent@md day2011Soft fluent@md day2011
Soft fluent@md day2011MDDAY11
 
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
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicEmmanuel Hugonnet
 
Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !Microsoft
 

Ähnlich wie Industrialisation en PHP (20)

Techdays2011
Techdays2011 Techdays2011
Techdays2011
 
Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010
 
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
 
Adoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALMAdoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALM
 
Adoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALMAdoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALM
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation Server
 
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...
 
Présentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expériencePrésentation sur Maven 2 et petit retour d'expérience
Présentation sur Maven 2 et petit retour d'expérience
 
Présentation Maven
Présentation MavenPrésentation Maven
Présentation Maven
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la recherche
 
Opensource - Méthodes et outils
Opensource - Méthodes et outilsOpensource - Méthodes et outils
Opensource - Méthodes et outils
 
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...
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?
 
Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011
 
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
 
Soft fluent@md day2011
Soft fluent@md day2011Soft fluent@md day2011
Soft fluent@md day2011
 
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...
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville Public
 
Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !
 

Mehr von ALTER WAY

Drupagora 2019 : Drupal, accessibilité et RGAA
Drupagora 2019 : Drupal, accessibilité et RGAADrupagora 2019 : Drupal, accessibilité et RGAA
Drupagora 2019 : Drupal, accessibilité et RGAAALTER WAY
 
#sharingLille : L'Open Source pour une société numérique ouverte, transparent...
#sharingLille : L'Open Source pour une société numérique ouverte, transparent...#sharingLille : L'Open Source pour une société numérique ouverte, transparent...
#sharingLille : L'Open Source pour une société numérique ouverte, transparent...ALTER WAY
 
Flyer promotions Alter Way Formation Avril Mai 2015
Flyer promotions Alter Way Formation Avril Mai 2015Flyer promotions Alter Way Formation Avril Mai 2015
Flyer promotions Alter Way Formation Avril Mai 2015ALTER WAY
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ? Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ? ALTER WAY
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?ALTER WAY
 
Open World Forum 2014 : From ES6 to Javascript 2.0. What use today ? par Jon...
Open World Forum 2014  : From ES6 to Javascript 2.0. What use today ? par Jon...Open World Forum 2014  : From ES6 to Javascript 2.0. What use today ? par Jon...
Open World Forum 2014 : From ES6 to Javascript 2.0. What use today ? par Jon...ALTER WAY
 
Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent
Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent
Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent ALTER WAY
 
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014Séminaire Big Data Alter Way - Elasticsearch - octobre 2014
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014ALTER WAY
 
Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch ALTER WAY
 
Solutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSA
Solutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSASolutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSA
Solutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSAALTER WAY
 
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...ALTER WAY
 
Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF
Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF
Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF ALTER WAY
 
Elasticsearch : petit déjeuner du 13 mars 2014
Elasticsearch : petit déjeuner du 13 mars 2014Elasticsearch : petit déjeuner du 13 mars 2014
Elasticsearch : petit déjeuner du 13 mars 2014ALTER WAY
 
Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014ALTER WAY
 
Présentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysPrésentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysALTER WAY
 
OpenStack havana tour d'horizon
OpenStack havana tour d'horizonOpenStack havana tour d'horizon
OpenStack havana tour d'horizonALTER WAY
 
H2O, le Cloud par Alter Way
H2O, le Cloud par Alter WayH2O, le Cloud par Alter Way
H2O, le Cloud par Alter WayALTER WAY
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php ALTER WAY
 
Reprise sur incident , par Jean Marc Fontaine
Reprise sur incident , par Jean Marc FontaineReprise sur incident , par Jean Marc Fontaine
Reprise sur incident , par Jean Marc FontaineALTER WAY
 
Organiser efficacement son depot de code par Jean Marc Fontaine
Organiser efficacement son depot de code par Jean Marc FontaineOrganiser efficacement son depot de code par Jean Marc Fontaine
Organiser efficacement son depot de code par Jean Marc FontaineALTER WAY
 

Mehr von ALTER WAY (20)

Drupagora 2019 : Drupal, accessibilité et RGAA
Drupagora 2019 : Drupal, accessibilité et RGAADrupagora 2019 : Drupal, accessibilité et RGAA
Drupagora 2019 : Drupal, accessibilité et RGAA
 
#sharingLille : L'Open Source pour une société numérique ouverte, transparent...
#sharingLille : L'Open Source pour une société numérique ouverte, transparent...#sharingLille : L'Open Source pour une société numérique ouverte, transparent...
#sharingLille : L'Open Source pour une société numérique ouverte, transparent...
 
Flyer promotions Alter Way Formation Avril Mai 2015
Flyer promotions Alter Way Formation Avril Mai 2015Flyer promotions Alter Way Formation Avril Mai 2015
Flyer promotions Alter Way Formation Avril Mai 2015
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ? Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
 
Open World Forum 2014 : From ES6 to Javascript 2.0. What use today ? par Jon...
Open World Forum 2014  : From ES6 to Javascript 2.0. What use today ? par Jon...Open World Forum 2014  : From ES6 to Javascript 2.0. What use today ? par Jon...
Open World Forum 2014 : From ES6 to Javascript 2.0. What use today ? par Jon...
 
Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent
Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent
Open World Forum 2014 : Guerre des IAAS par Stéphane Vincent
 
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014Séminaire Big Data Alter Way - Elasticsearch - octobre 2014
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014
 
Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch
 
Solutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSA
Solutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSASolutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSA
Solutions Linux 2014 – Alter Way : Révélations sur les pratiques de la NSA
 
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
 
Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF
Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF
Solutions Linux 2014 - Alter Way : Évolutions des back offices des CMS/CMF
 
Elasticsearch : petit déjeuner du 13 mars 2014
Elasticsearch : petit déjeuner du 13 mars 2014Elasticsearch : petit déjeuner du 13 mars 2014
Elasticsearch : petit déjeuner du 13 mars 2014
 
Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014
 
Présentation Drupal - Global Training Days
Présentation Drupal - Global Training DaysPrésentation Drupal - Global Training Days
Présentation Drupal - Global Training Days
 
OpenStack havana tour d'horizon
OpenStack havana tour d'horizonOpenStack havana tour d'horizon
OpenStack havana tour d'horizon
 
H2O, le Cloud par Alter Way
H2O, le Cloud par Alter WayH2O, le Cloud par Alter Way
H2O, le Cloud par Alter Way
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
Reprise sur incident , par Jean Marc Fontaine
Reprise sur incident , par Jean Marc FontaineReprise sur incident , par Jean Marc Fontaine
Reprise sur incident , par Jean Marc Fontaine
 
Organiser efficacement son depot de code par Jean Marc Fontaine
Organiser efficacement son depot de code par Jean Marc FontaineOrganiser efficacement son depot de code par Jean Marc Fontaine
Organiser efficacement son depot de code par Jean Marc Fontaine
 

Industrialisation en PHP

  • 1. Industrialisation en PHP UTT, Troyes, France, 20 mai 2010 vendredi 28 mai 2010
  • 2. Agenda Maîtriser les cycles de développements Accélérer le développement PHP Connaître et utiliser les outils et méthodes vendredi 28 mai 2010
  • 3. Qui parle? Damien Seguy Services expert en Open Source Sécurité, performances, industrialisation Eleveurs d’elePHPants damien.seguy@alterway.fr vendredi 28 mai 2010
  • 5. Yes, we take questions vendredi 28 mai 2010
  • 9. Sur le terrain 65 portails à refaire en 6 mois 6 personnes pour mettre à niveau 350 intranets 120 événements par an, sur 150 serveurs Une application sur une ville : 12 villes pour Noel, 2 pays l’an prochain. Un employé à temps plein pour le déploiement Multiplier les commandes par 6 en 2 mois vendredi 28 mai 2010
  • 11. Trois mantra Libérez-vous du code vendredi 28 mai 2010
  • 12. Trois mantra Libérez-vous du code Capitalisez vendredi 28 mai 2010
  • 13. Trois mantra Libérez-vous du code Capitalisez Impliquez vos utilisateurs vendredi 28 mai 2010
  • 14. ∆ Convention ∆ IDE ∆ Conception ∆ Framework ∆ Déploiement ∆ VCS Capitalisation Code ∆ Tests unitaires ∆ CI ∆ Docs ∆ Bug ∆ Méthodes Tracking ∆ Tests fonctionnels Implication vendredi 28 mai 2010
  • 15. Libérez-vous du code vendredi 28 mai 2010
  • 16. Libérez vous du code Le facteur bus Ne soyez pas le seul Le facteur WTF Écrivez du code qui peut être compris 50% du temps consacré à la production Ne vous mettez pas en travers du chemin vendredi 28 mai 2010
  • 17. Libérez vous du code S’arranger pour que l’on puisse travailler sans vous Ne vous investissez pas dans votre code Rendez votre code accessible aux autres vendredi 28 mai 2010
  • 19. Conventions de code Il en existe de nombreuses PEAR, Zend Frameworks, Symfony... Choisissez en une Évitez de créer la votre Cela apporte de l’unité au travail en équipe Pour vérifier son application Code_sniffer vendredi 28 mai 2010
  • 20. IDE Choisissez celui qui vous convient le mieux Évitez les éditeurs trop simples Netbean / Symfony, Zend tools / Zend Framework Komodo / cakePHP vendredi 28 mai 2010
  • 21. IDE Il faut au moins Navigateur de code, intégration avec un framework Editeur, coloration syntaxique, support des encodages intégration avec les tests unitaires interface avec VCS vendredi 28 mai 2010
  • 40. Frameworks Choisissez en un Pour accélérer le développement Pour son coté agréable et pratique Il doit avoir Des composants, des conventions, des tests unitaires, des utilitaires de mise en place Une communauté, des experts, des formations vendredi 28 mai 2010
  • 41. Au dela des frameworks Les frameworks sont généralistes et techniques Bâtissez votre propre bibliothèque métier Nous verrons bientôt des bibliothèques métier vendredi 28 mai 2010
  • 42. VCS Version Control System Subversion, git, CVS, mercurial Résolution des conflits Permet le développement parallèle, le retour en arrière, les versions. Stocke et distribue le code vendredi 28 mai 2010
  • 44. VCS Développement Tests Production unitaires VCS Suivi de Intégration bugs continue Le code hors du VCS n’existe pas! vendredi 28 mai 2010
  • 45. Le coeur du développement vendredi 28 mai 2010
  • 46. ∆ Convention ∆ IDE ∆ Conception ∆ Framework ∆ Déploiement ∆ VCS Capitalisation Code ∆ Tests unitaires ∆ CI ∆ Docs ∆ Bug ∆ Méthodes Tracking ∆ Tests fonctionnels Implication vendredi 28 mai 2010
  • 48. Capitalisation Accumuler à toutes les phases du projet Capturer l’information au fil de l’eau Evitez les culs de sacs Toujours se demander qui va l’utiliser? vendredi 28 mai 2010
  • 50. Les tests aident à découpler Évite les régressions Production Code Préviens votre rappel Affiche les progres Sert de manuel Aide aux communications Client vendredi 28 mai 2010
  • 51. Tests unitaires PHP Unit : standard de facto Simple Test, Lemon, Zend_Test, phpt vendredi 28 mai 2010
  • 52. Conception Description générale de l’application Documents très variés Diagrammes d’architecture Visio, Omnigraffle, Dia Diagrammes UML Diagrammes de classes, Cas d’utilisation StarUML, ArgoUML, BOUML, vendredi 28 mai 2010
  • 53. Conception Captures d’écran : WireFraming Axure, Basalmiq, pencil sketching Modèle de données Power Architect, MySQL WorkBench vendredi 28 mai 2010
  • 54. Conception Ayez un inventaire Classes, méthodes, constantes, $_SESSION, inclusions, fichiers, dossiers,... Vérifiez l’utilisation réelle Prévoyez de faire des allers-retours avec la réalité La conception n’est pas la programmation vendredi 28 mai 2010
  • 55. Déploiement automatisé Phing, maven, ant, pear Nécessaire pour l’intégration continue L’aspect le plus souvent négligé du développement Obligatoire pour les grandes architectures vendredi 28 mai 2010
  • 56. ∆ Convention ∆ IDE ∆ Conception ∆ Framework ∆ Déploiement ∆ VCS Capitalisation Code ∆ Tests unitaires ∆ CI ∆ Docs ∆ Bug ∆ Méthodes Tracking ∆ Tests fonctionnels Implication vendredi 28 mai 2010
  • 57. Impliquer les utilisateurs vendredi 28 mai 2010
  • 58. Impliquer les utilisateurs Eviter l’effet tunnel Savoir affronter le tsunami des questions bugs, changements, nouveautés, adaptations, accélérations, etc. Rendre les utilisateurs autonome, faire qu’ils se prennent en charge vendredi 28 mai 2010
  • 59. Bug tracker Mantis, Trac, Redline, Jira Rassembler les retours des utilisateurs et clients en un seul endroit Suivre leur évolution jusqu’à la conclusion Permet de produire le changelog A relier avec le VCS et le déploiement vendredi 28 mai 2010
  • 66. Tests fonctionnels A base de wiki : accessibles aux non-techniciens Collecte de tests métiers, et non plus techniques Tests a priori, tests en direct Les développeurs assurent la liaison avec le code Green pepper, fitnesse, concordion vendredi 28 mai 2010
  • 67. Intégration continue Vérification du code en tâche de fond phpUnderControl, Rephlux, Hudson, Maven, sonar, Xinc, script maison Présentation en graphique des résultats Compilation, code sniffer, tests unitaires, couverture de code Journaux, inclusion, performances... vendredi 28 mai 2010
  • 69. Méthodologies Expliquer comment on produit le code Justifier comment on assure la qualité Impliquer les utilisateurs! Cycles de développement courts Production, correction, adaptation Méthodologies agiles : SCRUM, XP, Lean SD, Open Unified Process vendredi 28 mai 2010
  • 70. Pratiques agiles Les pratiques agiles sont souvent suffisantes Codage par paire Tester avant de coder Cycles courts de production Scénarios utilisateurs Poker collectif Point journalier (Daily Scrum) vendredi 28 mai 2010
  • 72. La documentation A transférer des développeurs aux utilisateurs Les développeurs font la première version Ajouter un système de commentaires Voir PHP.net : les commentaires sont plus intéressants que la documentation! Utiliser un Wiki Les utilisateurs font la documentation vendredi 28 mai 2010
  • 74. Encore plus loin? Déploiement continu (a la flickr) Audits croisés Audits collaboratifs Analyse statique vendredi 28 mai 2010
  • 75. Merci! http://www.alterway.fr/ publications/ livre-blanc-industrialisation-php Damien Seguy : damien.seguy@alterway.fr vendredi 28 mai 2010
  • 76. damien.seguy@alterway.fr http://www.slideshare.net/dseguy/ vendredi 28 mai 2010