SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
L’OPEN SOURCE EN AGENCE
           WEB
des outils pour industrialiser les développements en agence web




                       Pierre de La Celle - @pierredelacelle
UNE AGENCE WEB

• du   commercial

• du   graphisme

• de   l’intégration HTML

• du   développement

• de   l’exploitation

• un   minimum d’organisation
INDUSTRIALISATION ?


«Quand on a pas de technique, il faut
         y aller à la zob»
       Perceval le Gallois - Morituri - Kaamelott
STRUCTURER L’INFORMATION
        PROJET
• l’information projet (info client, contexte, interlocuteurs,
  équipe, rôles)

• l’AO  répondu, les cahiers des charges (techniques,
  fonctionnels)

• la   documentation (wiki, docs, etc)

• le   bugtracking !!!

• Redmine, Trac
EX: REDMINE
CLOISONNER LES
                  ENVIRONNEMENTS
•   Chaque projet doit avoir son environnement (versions de lib
    spécifiques, accès, etc)

•   Garder des environnements cohérents et à iso conf

    •   développement

    •   recette

    •   (pré-production)

    •   production
VERSIONNER


• historiser

• respecter    la séparation des environnements

• identifier    des livrables

• Subversion, git, cvs, etc
EX DE STRUCTURE DE DÉPOT
•   dev

    •   branches

          •   pdelacelle

          •   jmiglino

          •   production

          •   integration

    •   tags

          •   v1.0

          •   v1.1

    •   trunk

•   email

•   documentation

•   html
CAPITALISATION

• Structurer
           les développements en vue d’une réutilisation
 (modules, plugins)

• packager   les développements capitalisés

• automatiser   les releases...

• participer   aux communautés...

• pear, ruby   gems, pearhub
CONTRÔLE QUALITÉ
•   Mettre en place une charte de codage

•   Mettre en place des revues de codes

•   Automatiser les contrôles

    •   tests unitaires : PHPunit, Junit, Lime, etc

    •   tests fonctionnels : Selenium, Canoo

    •   tests de charge : Tsung, JMeter

    •   contrôle automatique de couverture de code : phpMilkyWay, PIC
VERROUILLER LES PHASES
          CRITIQUES
• Mise   en production

  • release   manager

  • tests, tests, tests

• Exploitation

  • monitoring    (nagios)

  • suivi   sécurité, maj système (infogérance)
ldap          redmine                pearhub



                                                  Serveur
                             svn
                                                    dev
     tsung

                 selenium                        phpMilkyWay
à la maison


              Serveur       Serveur          Serveur
              recette       pré-prod          prod
production
QUESTIONS



• Oui, toi   là bas?

Contenu connexe

Similaire à Industrialiation PHP plugfr

Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Camille Roux
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
dev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiéedev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiéeNicolas Silberman
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsZenikaOuest
 
Deux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succèsDeux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succèsAgile Tour 2009 Québec
 
Du JavaScript dans mon projet
Du JavaScript dans mon projetDu JavaScript dans mon projet
Du JavaScript dans mon projetjollivetc
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapresLaurent Tardif
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
Orchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesOrchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesXavier Gorse
 
Devoxx java script-1280-720
Devoxx java script-1280-720Devoxx java script-1280-720
Devoxx java script-1280-720Romain Linsolas
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?ekino
 
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)Camille Roux
 

Similaire à Industrialiation PHP plugfr (20)

Maven
MavenMaven
Maven
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
Cerberus Testing
Cerberus TestingCerberus Testing
Cerberus Testing
 
dev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiéedev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiée
 
Hello xcode 4 v2
Hello xcode 4 v2Hello xcode 4 v2
Hello xcode 4 v2
 
Hello Xcode 4 v2
Hello Xcode 4 v2Hello Xcode 4 v2
Hello Xcode 4 v2
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / Jenkins
 
Deux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succèsDeux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succès
 
Du JavaScript dans mon projet
Du JavaScript dans mon projetDu JavaScript dans mon projet
Du JavaScript dans mon projet
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapres
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
Orchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesOrchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notes
 
Devoxx java script-1280-720
Devoxx java script-1280-720Devoxx java script-1280-720
Devoxx java script-1280-720
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
 
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
 

Industrialiation PHP plugfr

  • 1. L’OPEN SOURCE EN AGENCE WEB des outils pour industrialiser les développements en agence web Pierre de La Celle - @pierredelacelle
  • 2. UNE AGENCE WEB • du commercial • du graphisme • de l’intégration HTML • du développement • de l’exploitation • un minimum d’organisation
  • 3. INDUSTRIALISATION ? «Quand on a pas de technique, il faut y aller à la zob» Perceval le Gallois - Morituri - Kaamelott
  • 4. STRUCTURER L’INFORMATION PROJET • l’information projet (info client, contexte, interlocuteurs, équipe, rôles) • l’AO répondu, les cahiers des charges (techniques, fonctionnels) • la documentation (wiki, docs, etc) • le bugtracking !!! • Redmine, Trac
  • 6. CLOISONNER LES ENVIRONNEMENTS • Chaque projet doit avoir son environnement (versions de lib spécifiques, accès, etc) • Garder des environnements cohérents et à iso conf • développement • recette • (pré-production) • production
  • 7. VERSIONNER • historiser • respecter la séparation des environnements • identifier des livrables • Subversion, git, cvs, etc
  • 8. EX DE STRUCTURE DE DÉPOT • dev • branches • pdelacelle • jmiglino • production • integration • tags • v1.0 • v1.1 • trunk • email • documentation • html
  • 9.
  • 10. CAPITALISATION • Structurer les développements en vue d’une réutilisation (modules, plugins) • packager les développements capitalisés • automatiser les releases... • participer aux communautés... • pear, ruby gems, pearhub
  • 11. CONTRÔLE QUALITÉ • Mettre en place une charte de codage • Mettre en place des revues de codes • Automatiser les contrôles • tests unitaires : PHPunit, Junit, Lime, etc • tests fonctionnels : Selenium, Canoo • tests de charge : Tsung, JMeter • contrôle automatique de couverture de code : phpMilkyWay, PIC
  • 12. VERROUILLER LES PHASES CRITIQUES • Mise en production • release manager • tests, tests, tests • Exploitation • monitoring (nagios) • suivi sécurité, maj système (infogérance)
  • 13. ldap redmine pearhub Serveur svn dev tsung selenium phpMilkyWay à la maison Serveur Serveur Serveur recette pré-prod prod production