La lecture en ligne est gratuite
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Partagez cette publication

Industrialisation PHP

Professionnalisez vos développements

nU eocntributionAlter Way

Sommaire

Chapitre 1 - Introduction
................................................................................................................12

Chapitre 2 - Maîtriser le cycle de vie dun projet PHP
.................................................16

Chapitre 3 - Pratiques actuelles
..................................................................................................21
3.1 Faire faire un audit par un expert ...............................................................................22

3.2 Formation des équipes ....................................................................................................24
. 3.3 Employer une convention de programmation ......................................................28

3.4 Utiliser un dépôt de code................................................................................................33

3.5 Utiliser un framework .......................................................................................................36

3.6 Adopter un IDE de développement ...........................................................................39

Chapitre 4 - Outils et méthodes avancées
..........................................................................44

4.1 Tests dapplication Web...................................................................................................45

4.2 Intégration continue.........................................................................................................49

4.3 Déploiement automatique ............................................................................................53

4.4 Analyse statique.................................................................................................................57

4.5 Outils de conception........................................................................................................60

4.6 Méthodes de programmation ......................................................................................66

4.7 Maîtrise de la qualité du code ......................................................................................74
4.8 Implication des utilisateurs ...........................................................................................78

Chapitre 5 - Une nouvelle frontière
.........................................................................................85

5.1 PHP na pas encore exprimé son identité ...............................................................86





5.2 PHP nexploite pas encore ses capacités de collaboration ..............................87
5.3 Les outils sont plus nombreux ......................................................................................87
5.4 Des idées à explorer..........................................................................................................88
5.5 La communauté est un atout majeur .........................................................................89
5.6 Les développeurs ont gagné en discipline ...............................................................90

Chapitre 6 - Bibliographie
................................................................................................................92


6.1 Livres ........................................................................................................................................93

6.2 Portails sur lindustrialisation PHP.............................................................................93

6.3 Outils daudits de code .....................................................................................................93

6.4 Conventions de code .........................................................................................................93

6.5 Veille technologique ..........................................................................................................94

6.6 Dépôts de code ....................................................................................................................94

6.7 Frameworks ...........................................................................................................................94

6.8 IDE .............................................................................................................................................95

6.9 Débogueur .............................................................................................................................95

6.10 Tests unitaires...................................................................................................................95

6.11 Intégration continue .......................................................................................................95

6.12 Déploiement automatique...........................................................................................96

6.13 Analyse statique ................................................................................................................96

6.14 Modélisation UML ..........................................................................................................97

6.15 Modélisation de base de données ...........................................................................97

6.16 Issue trackers .....................................................................................................................97

Avant-proposAlter Way
,
opérateur de lentreprise numérique

nIudtsirlasitaoin PHAlter Way
est un opérateur de services dédié au Digital et au Système dInformation qui se
démarque par son
ADN 100 % Open Source
et sa démarche daccompagnement.

Les engagements dAlter Way :

P•

soutenir la stratégie de ses clients à travers une offre verticale : conseil, gouvernance,
conception graphique et ergonomique, intégration, développement, TMA, support,
hébergement, infogérance, formation ;


faire foisonner l
innovation
au coeur de lentreprise ;


industrialiser
pratiques et méthodes pour garantir la pérennité des systèmes et applications
déployés .

Précurseur dans linnovation,
Alter Way
se distingue par un investissement permanent,
à la pointe des plus récentes avancées technologiques :
le cloud
, DevOps, Open Data,
lindustrialisation des plates-formes PHP, laccessibilité numérique et le web cross-plateforme.

En tant que pure player Open Source, nous accordons dans notre modèle une place centrale à
notre démarche contributive. Notre journée de solidarité est dédiée à la contribution. Nous
sommes porteur du projet
Wampserver
, lun des principaux projets Open Source français avec
plus de 20 millions de téléchargements à ce jour.

6

Avant-proposnIudtsrialisation PHPEn contact direct avec les évolutions des technologies Open Source, nos équipes sont très
engagées dans les différentes communautés de développeurs, notamment
PHP
,
Drupal
,
Debian
,
Python
et
oVirt
et sont reconnues pour la valeur de leurs contributions.
Nous sommes également impliqués dans la promotion du Logiciel Libre en participant
activement aux initiatives de lécosystème, en particulier :

Actions institutionnelles :


Open World Forum
- co-organisateur de lévénement depuis 5 ans -Présidence en 2010,
Vice-présidence 2013 ;

Open CIO Summit
, le Think Tank des DSI utilisateur de solutions Open Source - co-fondateur
et présidence ;

PLOSS
( le réseau des entreprises logiciel libres de Paris Région) - Présidence


vice - présidence du
CNLL
;


membre du comité Open Source du
Syntec Numérique
;


membre du copil du
GTLL du pôle de compétitivité Systematic
;


membre du Comité de Programme de
Solution Linux
;


membre de l
April
.

Formation & emploi :



co-fondateur et présidence du
Think Tank Education, Job & Floss
;


co-fondateur et Signataire de la
Charte Libre Emploi

;


responsable du groupe de travail Emploi et Formation Open Source du
Syntec Numérique
;


création du programme de recrutement innovant
La Libre Académie
.

7

Avant-propos

Industrialisation PHP

Depuis quelques années,
Alter Way
publie régulièrement des livres blancs sur différentes
thématiques :


En route vers laccessibilité : comprendre et adopter laccessibilité ;
• Le support des Logiciels Libres : comprendre les enjeux et les offres ;

Python : le développement autrement ;

Les tendances du web & design 2011/2012 ;

Introduction au BPM ;

Etes-vous prêt pour linnovation ? Les vrais enjeux de lopen source pour les DSI

8

.

vAna-trpposoIndustrialisation PLes auteurs

Jean-François Lépine
est consultant PHP pour Alter Way Consulting et porteur de loffre PHP
pour lensemble du groupe
Alter Way.
Spécialisé dans les méthodologies et pratiques liées à lindustrialisation et à la qualité logicielle,
il est lauteur du mémento Industrialisation PHP : Outils et bonnes pratiques (Eyrolles).
Passionné et impliqué dans la communauté PHP, il est le secrétaire de lAFUP (Association
Française des Utilisateurs de PHP). (Twitter/Github: @Halleck45).

Damien Seguy
- Personnalité incontournable du Libre en France, il est lun des fondateurs
de lAssociation Française des Utilisateurs de PHP (AFUP) et de PHP Québec. Reconnu
internationalement, il uvre pour la promotion de la plate-forme LAMP.
Consultant PHP chez
Alter Way
, en 2009, il a co-initié le livre blanc Industrialisation PHP V. 1.

Jean-Marc Fontaine
est responsable de la qualité logicielle chez Profilsoft.
Il contribue également à différents projets Open Source et participe à la vie communautaire
notamment au travers de lAFUP dont il a été le président. Cest lun des meilleurs experts
français du Zend Framework.
Consultant PHP chez
Alter Way
, en 2009, il a co-initié le livre blanc Industrialisation PHP V.1.

H9

P
Chapitre 1

Introduction

PHP noLe constat est clair : PHP est définitivement implanté dans les DSI. Toutes les entreprises en
utilisent dans leur DSI, parfois même sans le savoir. Facebook se sert de PHP pour délivrer
son réseau social ; Dailymotion sen sert pour son infrastructure de distribution de vidéo à la
demande; Essilor, comme les premiers ministres de France, du Luxembourg et de Belgique, des
associations comme Médecins sans Frontières lont adopté pour leurs portails institutionnels;
Renault et le groupe HEC lutilisent pour leurs CRM.

Au fond, la question ne se pose plus de savoir si PHP est crédible : il a dépassé le stade de
lexpérimentation.

Lévolution dune nouvelle technologie passe par trois phases distinctes lors de sa
reconnaissance par lentreprise :


la phase de tests, où la technologie doit rassurer les utilisateurs quant à sa capacité à rendre

des services productifs ;

la phase de missions critiques, où des projets importants sappuient sur la technologie ;

la phase de mission stratégique, où la technologie est adoptée comme norme principale.

Lors de la première phase, les atouts maîtres de PHP étaient son caractère Open Source et
pragmatique. Facile à installer, agile à utiliser avec diverses bases de données et technologies,
PHPs’est infiltré dans l’entreprise via le marché de niche des applications de confort : toutes ces
applications, à durée de vie très courte, mais tellement utiles au quotidien. Elles tombent hors
du radar de la DSI, et sont souvent réclamées avec beaucoup dimpatience par les utilisateurs
finaux. Pour gérer des notes de frais, un carnet d’adresses ou un planning commun, PHP sait

13

1 - I tnorudtcoinIndustrialisatiapChreit
CcudonoitudnIirtspihae tr- 1 trInLe défi porte surtout sur le volume de travail à consacrer aux tâches de gestion du projet.
Certaines tâches faisaient partie du processus d’évolution du projet, mais doivent maintenant
être gérées différemment. En début de projet, avec un seul utilisateur, un coup de téléphone
permet de résoudre un bogue et de mettre à jour des spécifications. Lorsqu’il y a 10 utilisateurs,
et autant de bugs différents, le temps à passer au téléphone va être radicalement augmenté.
Et quand ce sont les clients qui appellent, le syndrome des interruptions permanentes va vite
simposer.

Avec la deuxième phase, ce nest plus la technologie qui fait la différence : ce sont les pratiques
de développement qui sont maintenant au coeur de laction. Les projets continuent de grossir
en taille : plus de développeurs, dutilisateurs et de durée de réalisation. Il apparaît alors
une nouvelle gamme de défis à relever : savoir planifier le développement, dialoguer avec la
communauté dutilisateurs, standardiser la qualité du code. Lindustrialisation est simplement
la prise en compte de tous ces nouveaux acteurs dans le processus de développement.

14

Plus que jamais, il est important dadopter des méthodologies de développement et des outils
adaptés pour les grands projets. PHP nest pas en peine à ce niveau. Son expérience de lOpen
Source lui donne une maturité suffisante pour être utilisé par des équipes de grande taille.
PHP adopte les pratiques standards de linformatique, et sadapte aux outils existants. Et au-
delà même, il apporte sa propre communauté et un vif esprit de collaboration.

composer avec toutes les technologies en place et fournir des services immédiats. De plus,
avec des applications ciblées et bien reconnues, comme Mantis, SugarCRM, Magento, Drupal,
il satisfaisait des clients internes aux calendriers plus exigeants.

silaoitaHP nP