SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Maîtrise du
développement PHP


Solutions Linux 2010
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
    Co-auteur du livre blanc « Industrialisation PHP »




16 mars 2010    ALTER WAY - Maîtrise du développement PHP   2
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 1 800 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/
16 mars 2010           ALTER WAY - Maîtrise du développement PHP                         3
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
    Partager la connaissance




16 mars 2010    ALTER WAY - Maîtrise du développement PHP   4
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
    Partager la connaissance




16 mars 2010    ALTER WAY - Maîtrise du développement PHP   5
Qu'est-ce que l'industrialisation ?

    PHP a dépassé le stade de l'expérimentation
    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




16 mars 2010          ALTER WAY - Maîtrise du développement PHP   6
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




16 mars 2010     ALTER WAY - Maîtrise du développement PHP    7
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
    Partager la connaissance




16 mars 2010    ALTER WAY - Maîtrise du développement PHP   8
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)




16 mars 2010          ALTER WAY - Maîtrise du développement PHP   9
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




16 mars 2010          ALTER WAY - Maîtrise du développement PHP           10
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


16 mars 2010          ALTER WAY - Maîtrise du développement PHP           11
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
    Partager la connaissance




16 mars 2010    ALTER WAY - Maîtrise du développement PHP   12
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




16 mars 2010          ALTER WAY - Maîtrise du développement PHP        13
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)




16 mars 2010          ALTER WAY - Maîtrise du développement PHP            14
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
    Partager la connaissance




16 mars 2010    ALTER WAY - Maîtrise du développement PHP   15
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 mars 2010    ALTER WAY - Maîtrise du développement PHP   16
Eviter de réinventer la roue

    Eviter le syndrôme « Pas inventé ici »
    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




16 mars 2010          ALTER WAY - Maîtrise du développement PHP              17
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
    Partager la connaissance




16 mars 2010    ALTER WAY - Maîtrise du développement PHP   18
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é




16 mars 2010          ALTER WAY - Maîtrise du développement PHP             19
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


16 mars 2010         ALTER WAY - Maîtrise du développement PHP   20
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)




16 mars 2010          ALTER WAY - Maîtrise du développement PHP            21
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
    Partager la connaissance




16 mars 2010    ALTER WAY - Maîtrise du développement PHP   22
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


16 mars 2010          ALTER WAY - Maîtrise du développement PHP              23
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
    Partager la connaissance




16 mars 2010    ALTER WAY - Maîtrise du développement PHP   24
Partager la connaissance

    Se prémunir des indisponibilités, des départs
    Faciliter l'intégration de nouvelles personnes
    Programmation en binôme
    Revue de code
    Documentations
          Architecture
          Technique
          Utilisateur
    Commentaires dans le code
          Format PHPDOC
          Un commentaire inutile est pire que pas de commentaire




16 mars 2010          ALTER WAY - Maîtrise du développement PHP     25
Merci

    Me contacter : jean-marc.fontaine@alterway.fr
    Retouver cette présentation :
     http://www.slideshare.net/jmf/solutions-linux-
     2010maitrisedudeveloppementphp
    Des questions ?




16 mars 2010    ALTER WAY - Maîtrise du développement PHP   26

Mais conteúdo relacionado

Mais procurados

20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyonClement Bouillier
 
La revue de code : facile !
La revue de code : facile !La revue de code : facile !
La revue de code : facile !Lucian Precup
 
La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !Lucian Precup
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarElsassJUG
 
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFEA la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFETelecomValley
 
Sonar 2.0 au JUG Genève
Sonar 2.0 au JUG GenèveSonar 2.0 au JUG Genève
Sonar 2.0 au JUG GenèveFreddy Mallet
 
Pourquoi est-ce si difficile de concevoir une API ?
Pourquoi est-ce si difficile de concevoir une API ?Pourquoi est-ce si difficile de concevoir une API ?
Pourquoi est-ce si difficile de concevoir une API ?PALO IT
 
TDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringTDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringneuros
 
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Jean-Pierre Lambert
 
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.12019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1TelecomValley
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAssociation Agile Nantes
 
Tdd en action - découverte
Tdd en action - découverteTdd en action - découverte
Tdd en action - découverteEric Mignot
 
Indicateurs REPaRéD pour le testing craftsmanship
Indicateurs REPaRéD pour le testing craftsmanshipIndicateurs REPaRéD pour le testing craftsmanship
Indicateurs REPaRéD pour le testing craftsmanshipChristophe Moustier
 
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet CytomineLa qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet CytomineGeeks Anonymes
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDXavier NOPRE
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifkemenaran
 
C'est quoi le Software Craftsmanship ?
C'est quoi le Software Craftsmanship ?C'est quoi le Software Craftsmanship ?
C'est quoi le Software Craftsmanship ?Jean-Pierre Lambert
 
Actifs agiles - Definition of Ready
Actifs agiles  - Definition of Ready Actifs agiles  - Definition of Ready
Actifs agiles - Definition of Ready Badr Hadria
 
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.Guillaume RICHARD
 
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
 

Mais procurados (20)

20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
 
La revue de code : facile !
La revue de code : facile !La revue de code : facile !
La revue de code : facile !
 
La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec Sonar
 
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFEA la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
 
Sonar 2.0 au JUG Genève
Sonar 2.0 au JUG GenèveSonar 2.0 au JUG Genève
Sonar 2.0 au JUG Genève
 
Pourquoi est-ce si difficile de concevoir une API ?
Pourquoi est-ce si difficile de concevoir une API ?Pourquoi est-ce si difficile de concevoir une API ?
Pourquoi est-ce si difficile de concevoir une API ?
 
TDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringTDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoring
 
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
 
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.12019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
 
Tdd en action - découverte
Tdd en action - découverteTdd en action - découverte
Tdd en action - découverte
 
Indicateurs REPaRéD pour le testing craftsmanship
Indicateurs REPaRéD pour le testing craftsmanshipIndicateurs REPaRéD pour le testing craftsmanship
Indicateurs REPaRéD pour le testing craftsmanship
 
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet CytomineLa qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
La qualité logicielle et l'intégration continue - Cas concret du projet Cytomine
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDD
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratif
 
C'est quoi le Software Craftsmanship ?
C'est quoi le Software Craftsmanship ?C'est quoi le Software Craftsmanship ?
C'est quoi le Software Craftsmanship ?
 
Actifs agiles - Definition of Ready
Actifs agiles  - Definition of Ready Actifs agiles  - Definition of Ready
Actifs agiles - Definition of Ready
 
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
 
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...
 

Semelhante a Solutions Linux 2010 - Maîtrise du développement PHP

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
 
Accessibilité numérique et Industrialisation @Orange
Accessibilité numérique et Industrialisation @Orange Accessibilité numérique et Industrialisation @Orange
Accessibilité numérique et Industrialisation @Orange vincent aniort
 
DU DEVOPS AU FASTLAB
DU DEVOPS AU FASTLABDU DEVOPS AU FASTLAB
DU DEVOPS AU FASTLABTREEPTIK
 
Techdays2011
Techdays2011 Techdays2011
Techdays2011 ALTER WAY
 
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...Sébastien Levert
 
Quelle métrique pour fédérer Dev & Ops ?
Quelle métrique pour fédérer Dev & Ops ? Quelle métrique pour fédérer Dev & Ops ?
Quelle métrique pour fédérer Dev & Ops ? Jacky Galicher
 
Quelle métrique pour fédérer Dev & Ops ?
Quelle métrique pour fédérer Dev & Ops ? Quelle métrique pour fédérer Dev & Ops ?
Quelle métrique pour fédérer Dev & Ops ? Jacky Galicher
 
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
 
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
 
Production logicielle, outils et pratiques
Production logicielle, outils et pratiquesProduction logicielle, outils et pratiques
Production logicielle, outils et pratiquesJohan Moreau
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php ALTER WAY
 
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
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...ENSIBS
 
Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?OCTO Technology Suisse
 
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
 
Du Manifeste Agile à Scrum
Du Manifeste Agile à ScrumDu Manifeste Agile à Scrum
Du Manifeste Agile à ScrumXavier Warzee
 
Wygday Session PléNièRe (1)
Wygday Session PléNièRe (1)Wygday Session PléNièRe (1)
Wygday Session PléNièRe (1)Gregory Renard
 
AlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPAlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPjulien pauli
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache MavenArnaud Héritier
 

Semelhante a Solutions Linux 2010 - Maîtrise du développement PHP (20)

Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011
 
Accessibilité numérique et Industrialisation @Orange
Accessibilité numérique et Industrialisation @Orange Accessibilité numérique et Industrialisation @Orange
Accessibilité numérique et Industrialisation @Orange
 
DU DEVOPS AU FASTLAB
DU DEVOPS AU FASTLABDU DEVOPS AU FASTLAB
DU DEVOPS AU FASTLAB
 
Techdays2011
Techdays2011 Techdays2011
Techdays2011
 
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
 
Quelle métrique pour fédérer Dev & Ops ?
Quelle métrique pour fédérer Dev & Ops ? Quelle métrique pour fédérer Dev & Ops ?
Quelle métrique pour fédérer Dev & Ops ?
 
Quelle métrique pour fédérer Dev & Ops ?
Quelle métrique pour fédérer Dev & Ops ? Quelle métrique pour fédérer Dev & Ops ?
Quelle métrique pour fédérer Dev & Ops ?
 
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 !
 
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...
 
Production logicielle, outils et pratiques
Production logicielle, outils et pratiquesProduction logicielle, outils et pratiques
Production logicielle, outils et pratiques
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
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 ?
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?
 
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
 
Du Manifeste Agile à Scrum
Du Manifeste Agile à ScrumDu Manifeste Agile à Scrum
Du Manifeste Agile à Scrum
 
Wygday Session PléNièRe (1)
Wygday Session PléNièRe (1)Wygday Session PléNièRe (1)
Wygday Session PléNièRe (1)
 
AlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPAlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHP
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 

Mais 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 2012Jean-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 2012Jean-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 2012Jean-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 2012Jean-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 2012Jean-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 2012Jean-Marc Fontaine
 
Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012Jean-Marc Fontaine
 
La qualité au-delà du code - ConFoo 2012
La qualité au-delà du code - ConFoo 2012La qualité au-delà du code - ConFoo 2012
La qualité au-delà du code - ConFoo 2012Jean-Marc Fontaine
 
Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011Jean-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 2011Jean-Marc Fontaine
 
Maintenir du code historique - RMLL 2011
Maintenir du code historique - RMLL 2011Maintenir du code historique - RMLL 2011
Maintenir du code historique - RMLL 2011Jean-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 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 6Jean-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 FirePHPJean-Marc Fontaine
 
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
 

Mais de Jean-Marc Fontaine (16)

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 - ConFoo 2012
Reprise sur incident - ConFoo 2012Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012
 
La qualité au-delà du code - ConFoo 2012
La qualité au-delà du code - ConFoo 2012La qualité au-delà du code - ConFoo 2012
La qualité au-delà du code - ConFoo 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
 
Maintenir du code historique - RMLL 2011
Maintenir du code historique - RMLL 2011Maintenir du code historique - RMLL 2011
Maintenir du code historique - 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
 

Solutions Linux 2010 - Maîtrise du développement PHP

  • 2. 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  Co-auteur du livre blanc « Industrialisation PHP » 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 2
  • 3. 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 1 800 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/ 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 3
  • 4. 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  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 4
  • 5. 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  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 5
  • 6. Qu'est-ce que l'industrialisation ?  PHP a dépassé le stade de l'expérimentation  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 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 6
  • 7. 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 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 7
  • 8. 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  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 8
  • 9. 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) 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 9
  • 10. 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 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 10
  • 11. 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 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 11
  • 12. 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  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 12
  • 13. 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 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 13
  • 14. 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) 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 14
  • 15. 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  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 15
  • 16. 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 mars 2010 ALTER WAY - Maîtrise du développement PHP 16
  • 17. Eviter de réinventer la roue  Eviter le syndrôme « Pas inventé ici »  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 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 17
  • 18. 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  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 18
  • 19. 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é 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 19
  • 20. 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 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 20
  • 21. 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) 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 21
  • 22. 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  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 22
  • 23. 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 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 23
  • 24. 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  Partager la connaissance 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 24
  • 25. Partager la connaissance  Se prémunir des indisponibilités, des départs  Faciliter l'intégration de nouvelles personnes  Programmation en binôme  Revue de code  Documentations  Architecture  Technique  Utilisateur  Commentaires dans le code  Format PHPDOC  Un commentaire inutile est pire que pas de commentaire 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 25
  • 26. Merci  Me contacter : jean-marc.fontaine@alterway.fr  Retouver cette présentation : http://www.slideshare.net/jmf/solutions-linux- 2010maitrisedudeveloppementphp  Des questions ? 16 mars 2010 ALTER WAY - Maîtrise du développement PHP 26