SlideShare une entreprise Scribd logo

Petit DéJeuner Industrialisation 13 10 2011 Eurosites

Industrialisation PHP via des plateformes d\'intégration continue

1  sur  70
Petit Déjeuner EUROSITES GEORGE V
Industrialisation PHP




Hervé Leclerc : CTO Alter Way Solutions
Agenda
Point de situation
     Constat
     Objectifs de l'industrialisation
     Défis
Solutions
     Axes
     IDE + SCM
     Frameworks
     Tests
     Intégration continue
     Audit Statique : Cornac
     Gestion des environnements
     Automatisation des déploiements
     Implémentation type d'une PIC
Bénéfices

13 octobre 2011                         Copyright Alter Way       2
Constat

L'utilisation de PHP en entreprise hors des directions
métiers et gouvernée par la DSI est relativement récente




13 octobre 2011      Copyright Alter Way              3
Constat

Les DSI se retrouvent désormais confrontées à différentes
problématiques




13 octobre 2011       Copyright Alter Way              4
Constat

                  Applicatifs hétérogènes




13 octobre 2011        Copyright Alter Way        5
Constat


Bonnes pratiques de développement non définies ou
dépendantes des applicatifs




13 octobre 2011    Copyright Alter Way          6

Recommandé

Contenu connexe

Tendances

Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange LabsEmmanuel Hugonnet
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
 
TechDays 2013 - Développer avec Visual Studio et TFS 2012 ses applications Wi...
TechDays 2013 - Développer avec Visual Studio et TFS 2012 ses applications Wi...TechDays 2013 - Développer avec Visual Studio et TFS 2012 ses applications Wi...
TechDays 2013 - Développer avec Visual Studio et TFS 2012 ses applications Wi...Cédric Leblond
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 
Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsCloudNetCare
 
Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Didier Durand
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreStéphane Traumat
 
Introduction à l'approche ADM de l'OMG
Introduction à l'approche ADM de l'OMGIntroduction à l'approche ADM de l'OMG
Introduction à l'approche ADM de l'OMGOlivier Le Goaër
 
Propulsez votre architecture grâce au TDD et aux Mocks (Agile Tour Québec 2012)
Propulsez votre architecture grâce au TDD et aux Mocks  (Agile Tour Québec 2012)Propulsez votre architecture grâce au TDD et aux Mocks  (Agile Tour Québec 2012)
Propulsez votre architecture grâce au TDD et aux Mocks (Agile Tour Québec 2012)Elapse Technologies
 

Tendances (15)

Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
 
Génie Logiciel : Conception
Génie Logiciel : ConceptionGénie Logiciel : Conception
Génie Logiciel : Conception
 
Maintenance logicielle
Maintenance logicielleMaintenance logicielle
Maintenance logicielle
 
TechDays 2013 - Développer avec Visual Studio et TFS 2012 ses applications Wi...
TechDays 2013 - Développer avec Visual Studio et TFS 2012 ses applications Wi...TechDays 2013 - Développer avec Visual Studio et TFS 2012 ses applications Wi...
TechDays 2013 - Développer avec Visual Studio et TFS 2012 ses applications Wi...
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests Logiciels
 
Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012
 
Cours Génie Logiciel - Introduction
Cours Génie Logiciel - IntroductionCours Génie Logiciel - Introduction
Cours Génie Logiciel - Introduction
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
Introduction à l'approche ADM de l'OMG
Introduction à l'approche ADM de l'OMGIntroduction à l'approche ADM de l'OMG
Introduction à l'approche ADM de l'OMG
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Tests Logiciel
Tests LogicielTests Logiciel
Tests Logiciel
 
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyseGénie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
 
Propulsez votre architecture grâce au TDD et aux Mocks (Agile Tour Québec 2012)
Propulsez votre architecture grâce au TDD et aux Mocks  (Agile Tour Québec 2012)Propulsez votre architecture grâce au TDD et aux Mocks  (Agile Tour Québec 2012)
Propulsez votre architecture grâce au TDD et aux Mocks (Agile Tour Québec 2012)
 

En vedette

Ruby and Framework Security
Ruby and Framework SecurityRuby and Framework Security
Ruby and Framework SecurityCreston Jamison
 
Retour d'expérience sur Capistrano
Retour d'expérience sur CapistranoRetour d'expérience sur Capistrano
Retour d'expérience sur CapistranoOxalide
 
Capistrano : un outil pour déployer vos applications PHP | PHP Tour Nantes 2012
Capistrano : un outil pour déployer vos applications PHP | PHP Tour Nantes 2012Capistrano : un outil pour déployer vos applications PHP | PHP Tour Nantes 2012
Capistrano : un outil pour déployer vos applications PHP | PHP Tour Nantes 2012Rodolfo Ripado
 
Happy birthday "monUPMC": 9 years of Portal at UPMC
Happy birthday "monUPMC": 9 years of Portal at UPMCHappy birthday "monUPMC": 9 years of Portal at UPMC
Happy birthday "monUPMC": 9 years of Portal at UPMCLudovic A
 
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMCRetour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMCLudovic A
 
Deploiement continu AgileFfrance 2011
Deploiement continu AgileFfrance 2011Deploiement continu AgileFfrance 2011
Deploiement continu AgileFfrance 2011Claude Falguiere
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - PrésentationDavid RIEHL
 
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséDécouvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséECAM Brussels Engineering School
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nulsMalk Zameth
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShareSlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShareSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

En vedette (14)

Ruby and Framework Security
Ruby and Framework SecurityRuby and Framework Security
Ruby and Framework Security
 
Ruby Daemons
Ruby DaemonsRuby Daemons
Ruby Daemons
 
Capistrano 3 Deployment
Capistrano 3 DeploymentCapistrano 3 Deployment
Capistrano 3 Deployment
 
Retour d'expérience sur Capistrano
Retour d'expérience sur CapistranoRetour d'expérience sur Capistrano
Retour d'expérience sur Capistrano
 
Capistrano : un outil pour déployer vos applications PHP | PHP Tour Nantes 2012
Capistrano : un outil pour déployer vos applications PHP | PHP Tour Nantes 2012Capistrano : un outil pour déployer vos applications PHP | PHP Tour Nantes 2012
Capistrano : un outil pour déployer vos applications PHP | PHP Tour Nantes 2012
 
Happy birthday "monUPMC": 9 years of Portal at UPMC
Happy birthday "monUPMC": 9 years of Portal at UPMCHappy birthday "monUPMC": 9 years of Portal at UPMC
Happy birthday "monUPMC": 9 years of Portal at UPMC
 
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMCRetour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
 
Deploiement continu AgileFfrance 2011
Deploiement continu AgileFfrance 2011Deploiement continu AgileFfrance 2011
Deploiement continu AgileFfrance 2011
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - Présentation
 
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséDécouvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nuls
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similaire à Petit DéJeuner Industrialisation 13 10 2011 Eurosites

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
 
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
 
Proposition forge agile 1.0
Proposition forge agile 1.0Proposition forge agile 1.0
Proposition forge agile 1.0Laurent MEURISSE
 
La Duck Conf - DevOps et Dataviz, un amour impossible ?
La Duck Conf - DevOps et Dataviz, un amour impossible ? La Duck Conf - DevOps et Dataviz, un amour impossible ?
La Duck Conf - DevOps et Dataviz, un amour impossible ? OCTO Technology
 
Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...
Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...
Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...Association Agile Nantes
 
Devops - vision et pratiques
Devops - vision et pratiquesDevops - vision et pratiques
Devops - vision et pratiquesJoseph Glorieux
 
Afterwork Devops : vision et pratiques
Afterwork Devops : vision et pratiquesAfterwork Devops : vision et pratiques
Afterwork Devops : vision et pratiquesOCTO Technology Suisse
 
Fast and Furious XAML Apps!
Fast and Furious XAML Apps!Fast and Furious XAML Apps!
Fast and Furious XAML Apps!Microsoft
 
Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11Microsoft
 
defuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdfdefuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdfSami Asmar
 
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...Sébastien Levert
 
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
 
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
 
TFS 2010 And Agility
TFS 2010 And AgilityTFS 2010 And Agility
TFS 2010 And AgilityDominic Danis
 
Intégration Continue (Agile Nantes)
Intégration Continue (Agile Nantes)Intégration Continue (Agile Nantes)
Intégration Continue (Agile Nantes)Fabian Piau
 
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
 
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
 
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
 

Similaire à Petit DéJeuner Industrialisation 13 10 2011 Eurosites (20)

Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011
 
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...
 
Proposition forge agile 1.0
Proposition forge agile 1.0Proposition forge agile 1.0
Proposition forge agile 1.0
 
La Duck Conf - DevOps et Dataviz, un amour impossible ?
La Duck Conf - DevOps et Dataviz, un amour impossible ? La Duck Conf - DevOps et Dataviz, un amour impossible ?
La Duck Conf - DevOps et Dataviz, un amour impossible ?
 
Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...
Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...
Agile Tour Nantes 2011 - Jean philippe gouigoux - architecture et agilité, ré...
 
Devops - vision et pratiques
Devops - vision et pratiquesDevops - vision et pratiques
Devops - vision et pratiques
 
Afterwork Devops : vision et pratiques
Afterwork Devops : vision et pratiquesAfterwork Devops : vision et pratiques
Afterwork Devops : vision et pratiques
 
Fast and Furious XAML Apps!
Fast and Furious XAML Apps!Fast and Furious XAML Apps!
Fast and Furious XAML Apps!
 
Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11
 
defuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdfdefuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdf
 
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
 
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...
 
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
 
TFS 2010 And Agility
TFS 2010 And AgilityTFS 2010 And Agility
TFS 2010 And Agility
 
Intégration Continue (Agile Nantes)
Intégration Continue (Agile Nantes)Intégration Continue (Agile Nantes)
Intégration Continue (Agile Nantes)
 
20111004 04 - Présentation ATDD
20111004 04 - Présentation ATDD20111004 04 - Présentation ATDD
20111004 04 - Présentation ATDD
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
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 !
 
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 !
 
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
 

Plus de Hervé Leclerc

Octo talk : docker multi-host networking
Octo talk : docker multi-host networking Octo talk : docker multi-host networking
Octo talk : docker multi-host networking Hervé Leclerc
 
Alter Way Petit Dejeuner Drupal7
Alter Way Petit Dejeuner Drupal7Alter Way Petit Dejeuner Drupal7
Alter Way Petit Dejeuner Drupal7Hervé Leclerc
 
Pizza party 30-09-2011 bdd-cucumber
Pizza party 30-09-2011 bdd-cucumberPizza party 30-09-2011 bdd-cucumber
Pizza party 30-09-2011 bdd-cucumberHervé Leclerc
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLHervé Leclerc
 
Mobile Cloud Computing
Mobile Cloud ComputingMobile Cloud Computing
Mobile Cloud ComputingHervé Leclerc
 
Expertise Alterway Au Service Des Projets Drupal 0.6
Expertise Alterway Au Service Des Projets Drupal   0.6Expertise Alterway Au Service Des Projets Drupal   0.6
Expertise Alterway Au Service Des Projets Drupal 0.6Hervé Leclerc
 
Expertise Alterway Au Service Des Projets Talend
Expertise Alterway Au Service Des Projets TalendExpertise Alterway Au Service Des Projets Talend
Expertise Alterway Au Service Des Projets TalendHervé Leclerc
 

Plus de Hervé Leclerc (8)

Octo talk : docker multi-host networking
Octo talk : docker multi-host networking Octo talk : docker multi-host networking
Octo talk : docker multi-host networking
 
Alter Way Petit Dejeuner Drupal7
Alter Way Petit Dejeuner Drupal7Alter Way Petit Dejeuner Drupal7
Alter Way Petit Dejeuner Drupal7
 
Pizza party 30-09-2011 bdd-cucumber
Pizza party 30-09-2011 bdd-cucumberPizza party 30-09-2011 bdd-cucumber
Pizza party 30-09-2011 bdd-cucumber
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
 
Ecl J2ee Igc2
Ecl J2ee Igc2Ecl J2ee Igc2
Ecl J2ee Igc2
 
Mobile Cloud Computing
Mobile Cloud ComputingMobile Cloud Computing
Mobile Cloud Computing
 
Expertise Alterway Au Service Des Projets Drupal 0.6
Expertise Alterway Au Service Des Projets Drupal   0.6Expertise Alterway Au Service Des Projets Drupal   0.6
Expertise Alterway Au Service Des Projets Drupal 0.6
 
Expertise Alterway Au Service Des Projets Talend
Expertise Alterway Au Service Des Projets TalendExpertise Alterway Au Service Des Projets Talend
Expertise Alterway Au Service Des Projets Talend
 

Petit DéJeuner Industrialisation 13 10 2011 Eurosites

  • 1. Petit Déjeuner EUROSITES GEORGE V Industrialisation PHP Hervé Leclerc : CTO Alter Way Solutions
  • 2. Agenda Point de situation Constat Objectifs de l'industrialisation Défis Solutions Axes IDE + SCM Frameworks Tests Intégration continue Audit Statique : Cornac Gestion des environnements Automatisation des déploiements Implémentation type d'une PIC Bénéfices 13 octobre 2011 Copyright Alter Way 2
  • 3. Constat L'utilisation de PHP en entreprise hors des directions métiers et gouvernée par la DSI est relativement récente 13 octobre 2011 Copyright Alter Way 3
  • 4. Constat Les DSI se retrouvent désormais confrontées à différentes problématiques 13 octobre 2011 Copyright Alter Way 4
  • 5. Constat Applicatifs hétérogènes 13 octobre 2011 Copyright Alter Way 5
  • 6. Constat Bonnes pratiques de développement non définies ou dépendantes des applicatifs 13 octobre 2011 Copyright Alter Way 6
  • 7. Constat Qualité de code disparate 13 octobre 2011 Copyright Alter Way 7
  • 8. Constat Base de code non testée de manière automatique 13 octobre 2011 Copyright Alter Way 8
  • 9. Constat Pas ou peu d'indicateurs de qualité, de performance, de maintenabilité du code 13 octobre 2011 Copyright Alter Way 9
  • 10. Constat Pas de processus unifié sur l'ensemble des acteurs 13 octobre 2011 Copyright Alter Way 10
  • 11. Constat Pression continue de la production 13 octobre 2011 Copyright Alter Way 11
  • 12. 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. 13 octobre 2011 Copyright Alter Way 12
  • 13. Objectifs Gagner du temps en automatisant au maximum toutes les tâches récurrentes 13 octobre 2011 Copyright Alter Way 13
  • 14. Objectifs Gagner en qualité (documentation, tests unitaires, normes, respect des licences, mutualisation…) 13 octobre 2011 Copyright Alter Way 14
  • 15. Objectifs Raccourcir les cycles de mise en production 13 octobre 2011 Copyright Alter Way 15
  • 16. Objectifs Suivre l’évolution des projets par des indicateurs clés 13 octobre 2011 Copyright Alter Way 16
  • 17. Défis Exemples de défis quotidiens  65 portails à refaire en 6 mois  120 événements par an, sur 150 serveurs  6 personnes pour mettre à niveau 350 intranets  Une application sur une ville : 12 villes pour Noël, 2 pays l’an prochain  Un employé à temps plein pour le déploiement 13 octobre 2011 Copyright Alter Way 17
  • 18. Outillage  Les outils sont nombreux et dissociés  Il faut du temps pour les mettre en place et les entretenir  Pour de nombreux petits projets, il faut les automatiser 13 octobre 2011 Copyright Alter Way 18
  • 19. Agenda Point de situation Constat Objectifs de l'industrialisation Défis Solutions Axes IDE + SCM Frameworks Tests Intégration continue Audit Statique : Cornac Gestion des environnements Automatisation des déploiements Implémentation type d'une PIC Bénéfices 13 octobre 2011 Copyright Alter Way 19
  • 20. Axes 3 axes majeurs  Libération du code  Capitalisation  Implication des utilisateurs 13 octobre 2011 Copyright Alter Way 20
  • 21. Axes → Relations Code Capitalisation ●IDE ●Conception ●Déploiement ●Framework ●SCM ●Tests ●Debugging ●IC ●Docs Techniques ●Méthodes ●Bug Tracking ●Tests Fonctionnels ●Documentation Utilisateur Implication 13 octobre 2011 Copyright Alter Way 21
  • 22. IDE IDE : Integrated Development Environment 13 octobre 2011 Copyright Alter Way 22
  • 23. IDE Pourquoi utiliser un IDE ? Un éditeur simple n'est souvent pas suffisant Donner aux développeurs un environnement complet qui accélère et simplifie son travail 13 octobre 2011 Copyright Alter Way 23
  • 24. IDE Comment un IDE augmente la productivité et la qualité du travail :  En fournissant un outil d'édition puissant, graphique  En utilisant des composants réseaux (SCM SSH/FTP/WEBDAV...)  En gérant les différents librairies et frameworks  En fournissant un environnement de débogage et tests intégrés  En facilitant la production de documentation 13 octobre 2011 Copyright Alter Way 24
  • 25. IDE Fonctions intégrées  Colorisation syntaxique  Auto-complétion  Intégration aux dépôts de code  Intégration avec un ou plusieurs frameworks  Débogueur  Profiler  Intégration d'outils externes (Tests unitaires, déploiement,..)  Refactoring et génération de code Quelques IDE open source  Eclipse  PDT, DLTK, Pulse, RT …  NetBeans  Aptana 13 octobre 2011 Copyright Alter Way 25
  • 26. SCM SCM : Source Control Management  Gestion des versions et révisions de code  Outils très puissants permettant de gérer dans des dépôts centralisés ou non du code source  Facilite le travail en équipe  Historisation du code  Pérennité du code  Quelques SCM open source :  Centralisés : CVS, Subversion  Décentralisés : Git, Bazaar, Mercurial 13 octobre 2011 Copyright Alter Way 26
  • 27. Frameworks  Très souvent version pro  Ensemble de composants éprouvés et prêts à l'emploi  Cœur technique des projets  Simplifient, standardisent et accélèrent les développements  Imposent des règles strictes de développement Quelques Frameworks PHP  Zend Framework  Symfony  Jelix  CakePHP  Yii  eZ Publish  Drupal  ... 13 octobre 2011 Copyright Alter Way 27
  • 28. Tests Les Tests Ils sont de plusieurs types :  Unitaires  SimpleTest  PHPUnit  Fonctionnels  Selenium  SimpleTest  Cucumber  Performance et montée en charge  JMeter  OpenSTA  Twill Ils sont automatisés Ils fournissent des résultats structurés utilisables dans des portails de restitution 13 octobre 2011 Copyright Alter Way 28
  • 29. Intégration Continue 13 octobre 2011 Copyright Alter Way 29
  • 30. Intégration Continue 13 octobre 2011 Copyright Alter Way 30
  • 31. Intégration Continue Permet de valider, vérifier au fil de l'eau toutes les modifications effectuées sur un code source 13 octobre 2011 Copyright Alter Way 31
  • 32. Intégration Continue Permet de supprimer les effets négatifs des cycles en V 13 octobre 2011 Copyright Alter Way 32
  • 33. Intégration Continue Elle met en œuvre tous les outils et concepts vus précédemment 13 octobre 2011 Copyright Alter Way 33
  • 34. Intégration Continue Tous les processus sont automatisés 13 octobre 2011 Copyright Alter Way 34
  • 35. Intégration Continue La qualité du code est en permanence mesurée (couverture des tests unitaires et fonctionnels) 13 octobre 2011 Copyright Alter Way 35
  • 36. Intégration Continue Les indicateurs sont rassemblés dans une interface de présentation (Sonar/PHPUnderControl) ou Jenkins elle même 13 octobre 2011 Copyright Alter Way 36
  • 37. Intégration Continue La documentation est aussi générée automatiquement dans ces processus 13 octobre 2011 Copyright Alter Way 37
  • 38. Focus Qualimétrie 13 octobre 2011 Copyright Alter Way 38
  • 39. Focus Qualimétrie  phpcpd Plugin PHP_CodeSniffer 13 octobre 2011 Copyright Alter Way 39
  • 40. Jenkins 13 octobre 2011 Copyright Alter Way 40
  • 41. Jenkins 13 octobre 2011 Copyright Alter Way 41
  • 42. Jenkins 13 octobre 2011 Copyright Alter Way 42
  • 43. Jenkins 13 octobre 2011 Copyright Alter Way 43
  • 44. Sonar Architecture et conception Architecture et conception Duplications Duplications Test unitaires Test unitaires Complexité Complexité Bogues potentiels Bogues potentiels Règles de codage Règles de codage Commentaires Commentaires 13 octobre 2011 Copyright Alter Way 44
  • 45. Sonar 13 octobre 2011 Copyright Alter Way 45
  • 46. Sonar 13 octobre 2011 Copyright Alter Way 46
  • 47. PHPUnderControl 13 octobre 2011 Copyright Alter Way 47
  • 48. PHPUnderControl 13 octobre 2011 Copyright Alter Way 48
  • 49. Doxygen / PhpDoc Doxygen PhpDocumentor 13 octobre 2011 Copyright Alter Way 49
  • 50. Cornac Audit Statique 13 octobre 2011 Copyright Alter Way 50
  • 51. Cornac  Cornac : auditeur statique pour PHP  Édité par Alter Way, open source https://github.com/alterway/cornac  Exécution automatique  Analyse sans exécution  Scrute l'application dans son ensemble  Proche de PHPMD et PHPDepend 13 octobre 2011 Copyright Alter Way 51
  • 52. Cornac → Principales fonctions  Inventaire d'application  Migration 5.3  Prendre du recul sur  Fonctions obsolètes l'application  Passage par référence  Lister les noms utilisés  Référence après « new »  Lister les fonctionnalités  Ex : mktime ne prend plus 7 utilisées paramètres  Voir rapidement les incohérences techniques  Nom de structure  Aspects techniques  Extrait toutes les structures  Lister tous les aspects nommées techniques  Étudie leurs conventions  Fonctionnalités PHP  Fonctionnalités avancées  Étudie leur ensemble  Fonctionnalités obsolètes  Étudie leur sémantique  Dépendances 13 octobre 2011 Copyright Alter Way 52
  • 53. Cornac → inventaire #./bin/cornac -I spotweb.ini # « Tokenizeur » # Auditeur # Done 13 octobre 2011 Copyright Alter Way 53
  • 54. Cornac → inventaire 13 octobre 2011 Copyright Alter Way 54
  • 55. Cornac → Cartographie Utilisation des constantes Réseau d'inclusion Hiérarchies 13 octobre 2011 Copyright Alter Way 55
  • 56. Relations Code Capitalisation - Eclipse, NetBeans, - ArgoUML, StarUML, PowerArchictect Aptana - Phing, Capistrano, Fabric - Zend, Symfony, Jelix, Yii, Cakephp, Drupal, eZ - Hg, SVN, Git, CVS - SimpleTest, UnitTest, PHPUnit, - Xdebug, PHPMD, PHPCD, cachegrind, - Jenkins, - Selenium, PHPCS wireshark Hudson, Httperf, PhpUnderControl Jmeter, - Doxygen, Funkload PHPdocs - Jira, Redmine, Mantis - Agilefant, Xplanner, IceScrum, Agilo,XPStoryStudio - Selenium, GreenPaper - Docbook Implication 13 octobre 2011 Copyright Alter Way 56
  • 57. Gestion des environnements Quatre types d'environnements classiques :  Développement  Intégration  Pré-production  Production Développement  En local ou sur un serveur spécialisé  Débogueur et profileur disponibles  Affichage des erreurs Intégration  Permet de d’effectuer la recette des changements Pré-production  Identique à la production (performances, configuration, données) Production  Optimisé pour la performance et la sécurité  Supervisé pour assurer la qualité de service 13 octobre 2011 Copyright Alter Way 57
  • 58. Automatisations  Capistrano  Ne faire que ce qui est utile  Le tout simplement  ROI assuré  Gestion des « releases »  Gestion des « rollbacks »  Webistrano  Interface WEB pour Capistrano  Gestion des droits possibles par greffons  Comptes-rendus et historiques  Gestion centralisée 13 octobre 2011 Copyright Alter Way 58
  • 59. Staging  Interface Web pour gérer les déploiements  Gestions des différents « stages »  Dédramatisation des déploiements  Scenarii exportables (capistrano)  Recettes disponibles dans la communauté 13 octobre 2011 Copyright Alter Way 59
  • 61. Webistrano 13 octobre 2011 Copyright Alter Way 61
  • 62. Webistrano 13 octobre 2011 Copyright Alter Way 62
  • 63. Webistrano 13 octobre 2011 Copyright Alter Way 63
  • 64. Webistrano 13 octobre 2011 Copyright Alter Way 64
  • 65. Webistrano 13 octobre 2011 Copyright Alter Way 65
  • 66. Webistrano 13 octobre 2011 Copyright Alter Way 66
  • 67. Implémentation IC typique Jenkins 13 octobre 2011 Copyright Alter Way 67
  • 68. Agenda Point de situation Constat Objectifs de l'industrialisation Défis Solutions Axes IDE + SCM Frameworks Tests Intégration continue Audit Statique : Cornac Gestion des environnements Automatisation des déploiements Implémentation type d'une PIC Bénéfices 13 octobre 2011 Copyright Alter Way 68
  • 69. Bénéfices  Augmentation et uniformisation de la qualité du code  Traçabilité  Visibilité (indicateurs)  Maintenabilité et pérennité  Confort du développeur  Montée en compétence facilitée  Faciliter les changements d'acteurs sur un projet  Dédramatisation des mises en production  Relations plus fluides avec l'exploitation 13 octobre 2011 Copyright Alter Way 69
  • 70. 13 octobre 2011 Copyright Alter Way 70