01Business
Actualités gestion et logiciel informatique professionnel
Offre et recherche Emploi informatique internet
Salon conférences inofrmatique IT ebusiness 01
Le Cloud Computing
Vidéos reportage entreprise acteur informatique
Retrouvez tous les services 01Net dédiés aux professionnels !
Télécharger logiciels Pro et progiciels
Livres blancs e-commerce informatique et nouvelles technologies
Retrouvez l'ensemble des dossiers de la rédaction 01net Entreprise
Les synthèses des bonnes pratiques sur les sujets IT du moment

La gendarmerie nationale se convertit au PHP

Après avoir standardisé ses applications critiques sur Java EE, la gendarmerie rééquilibre sa stratégie de développement pour bénéficier de la souplesse et de la légèreté de PHP.

Les faits

En 2005 la gendarmerie lance Puls@r, un projet visant à remplacer l'application de gestion du service des brigades. Le projet en Java EE vient d'être recetté après plusieurs mois de retard. Les aléas rencontrés ont poussés les gendarmes à se doter d'une plate-forme de développement continu pour PHP.

L'analyse

Ce devrait être en 2009 la dernière ligne droite : dès les dernières formalités réglementaires accomplies, l'application qui va constituer le véritable système d'information de plus de 4 000 brigades de gendarmerie va entrer en production... pour être remplacée dès que possible. Attendue par les gendarmes depuis 2006 en remplacement de ' Bureautique Brigade 2000 ', une application Windows fonctionnant en local, l'application intranet Puls@r s'adresse à plus de 50 000 gendarmes. C'est elle qui va assurer le suivi de l'emploi des gendarmes, la mesure et le suivi des résultats des unités et donc, notamment, remonter les statistiques relatives à la délinquance, aux infractions et accidents de la route. Application du quotidien des gendarmes, elle nécessite de fréquentes évolutions et les demandes se sont accumulées depuis 2005 : il faut déjà songer à la nouvelle version.
Conformément à son cadre de cohérence technique, c'est sur la plate-forme Java EE que la gendarmerie nationale va lancer un appel d'offres pour développer le successeur de BB2000. Le marché est remporté en juin 2005 par GFI Informatique pour une mise en production planifiée pour le second semestre 2006. ' La première livraison a donné satisfaction, souligne Christian Plumas, directeur de la division Administration de GFI Informatique,mais très vite des dérives sont apparues. L'expression de besoin initiale était incomplète : toutes les relations de dépendances entre unités et de visibilité sur les données n'étaient pas implémentées dans BB2000 car elles étaient sur une application locale. Cela nous a amenés à faire des choix de conception erronés. '

Difficile montée en charge

De plus, les contraintes de production sont fortes avec des pointes à 25 000 utilisateurs simultanés le matin lors de la prise de service, ou bien en fin de nuit, lors de la saisie des comptes rendus d'opérations. Et les contraintes techniques bien spécifiques, comme le souligne Gilles Boutégège, le chef de projet de GFI Informatique : ' En termes fonctionnels, Puls@r ne nous a pas posés de problème. Par contre, l'application gère des structures de données très complexes, des structures arborescentes présentant des liens entre structures. Celles-ci sont mises à jour de manière incrémentale et par plusieurs personnes simultanément. ' De fait, si les modules de l'application passaient les tests d'intégration et les tests fonctionnels sans encombre, les tests de charge faisaient apparaître de multiples bogues : la simulation de plusieurs utilisateurs mettant à jour les mêmes structures en même temps générait en effet de multiples incohérences dans les bases de données ?" la couche d'accès aux données devait être réécrite.
Devant l'impossibilité de déployer Puls@r, la gendarmerie et GFI Informatique décident alors de reprendre le c?"ur technique de l'application, sans toucher à la partie fonctionnelle en s'appuyant sur une plate-forme d'intégration continue, Maven, pour renforcer le suivi des travaux sur le plan des processus de développement et de tests. ' Nous avons mis en place cette plate - forme pour nous donner toutes les chances de succès au projet, mais dans un projet d'amplitude moyenne, on n'envisage généralement pas un tel déploiement ', reconnaît Gilles Bouté-gège qui tient à préciser que ' ça reste un outillage complexe à mettre en ?"uvre et des processus plus lourds. '

L'interface utilisateur sera la même avec PHP

Cette phase de refactoring va durer presque aussi longtemps que le développement lui-même (un an et demi) pour aboutir, voici quelques mois, à la recette d'un logiciel répondant au cahier des charges initial. Toutefois, le colonel Dégez prévient : ' Cette application a été longuement testée et on peut dire aujourd'hui qu'elle fonctionne. Par contre, j'estime qu'il nous sera impossible de la maintenir en interne avec la réactivité souhaitée. ' La gendarmerie décide alors de changer de technologie pour les futures versions : l'application va être migrée, par ses équipes internes, en langage PHP. Seule l'interface utilisateur sera identique pour ne pas dérouter les gendarmes qui commenceront à utiliser Puls@r dans sa version Java EE.

Une stratégie basée sur l'intégration continue

De l'expérience Puls@r, le colonel Dégez a retenu l'intérêt de la mise en place d'une plate-forme d'intégration continue, c'est ce mode de fonctionnement qui a aidé à déboguer efficacement Pulsar et enfin envisager sa mise en production. C'est désormais un élément clef de la stratégie PHP de la gendarmerie. ' Puls@r a joué le rôle de catalyseur dans notre intérêt à disposer d'une usine d'intégration continue ', précise le colonel Dégez. ' Si c'est une démarche qui devient aujourd'hui relativement courante dans le monde Java EE, notre volonté de mettre en place une telle démarche pour PHP est très innovante. '
Outre sa mission d'assistance à maîtrise d'ouvrage sur le ' nouveau ' Puls@r, SQLi se voit chargé de mettre en place cette plate- forme d'intégration continue PHP. Son élément principal, celui qui assure la boucle d'intégration, est phpUnderControl. De plus, SQLi a implémenté dans le module PHP_CodeSniffer les règles de codage de la Zend Platform, ainsi que la trentaine de règles de codage spécifiques aux applications PHP de la gendarmerie nationale. ' Ce que nous recherchions, ajoute le colonel Dégez, ce n'était pas une solution fermée, mais bien standardiser notre plate-forme sur des briques open source, maintenues par la communauté. Cela fait partie de notre stratégie d'indépendance vis-à-vis des fournisseurs. '
Une stratégie qui n'exclut toutefois pas les éditeurs, puisque comme outil de développement, c'est Zend Studio for Eclipse qui est choisi, le framework Zend, de même que le moteur d'exécution Zend Engine pour la production. Gabriele Santini, architecte PHP chez SQLi anticipe : ' Nous étudions la possibilité d'aller plus loin encore, notamment dans l'intégration des métriques délivrées par la Zend Platform. Cette intégration nous permettrait, dès la génération d'un build, de mener automatiquement tests unitaires, tests fonctionnels et de disposer de métriques de performances. '
La plate-forme d'intégration de la gendarmerie est aujourd'hui opérationnelle et les développements PHP de Puls@r, première application de la gendarmerie à en bénéficier, viennent de débuter. Le groupe Alter Way, avec les entités Nexen Services et Alaska, assure la conception du c?"ur applicatif de Puls@r PHP, ainsi que l'assistance de la maîtrise d'?"uvre de l'équipe de gendarmes qui sont engagés dans ce développement.
L'objectif final : mettre en service une nouvelle version avant la fin de 2009, pour ce projet qui a coûté 3,5 millions d'euros. Le planning retenu pour la migration en PHP devrait le permettre. Il est ultracourt : trois mois pour le développement du premier module pour l'équipe de quatre gendarmes développeurs, donc du socle de l'application, puis les trois modules suivants au rythme d'un par mois. Un projet assisté par Alter Way et SQLi.

La chronologie du projet Puls@r de la gendarmerie nationale

Février 2004 : rédaction du cahier des charges de l'application Puls@r.
Juin 2005 : attribution du marché à GFI Informatique, début de la réalisation de l'application Java EE.
Mars 2007 : recette négative de l'application Puls@r.
Septembre 2007 : protocole transactionnel, mise en place d'une intégration continue Java EE.

D'avril à mai 2008 : rédaction du cahier des charges pour la version PHP de Puls@r.
Juillet 2008 : livraison finale de l'application Java EE.
Octobre 2008 : phase pilote menée en Seine-Saint-Denis avec des conclusions positives pour la nouvelle évolution de Puls@r Java EE.
Novembre 2008 : commencement de la mise en place de la plate-forme d'intégration continue PHP par SQLi.
Janvier 2009 : début de réalisation dans l'usine PHP des premiers modules de l'application devant succéder à Puls@r Java EE.

Interview : François Dégez (la gendarmerie nationale) : ' PHP facilite les développements internes dans les cas d'urgence '

Comment expliquez-vous les retards dont a été victime le projet Puls@r ?

François Dégez : Cette application conditionne le travail quotidien des gendarmes et, à ce titre, est soumise à de très fortes exigences en termes de haute disponibilité. Par ailleurs, la transition d'une application locale à une application centralisée n'autorisant aucun retour en arrière, nous n'avions pas le droit à l'erreur. Nous avons donc été particulièrement intransigeants sur tout ce qui touchait à la robustesse, notamment en charge.

Vous redéveloppez aujourd'hui Puls@r en interne et en langage PHP. Pourquoi ce choix ?

FG : Les personnels SIC (systèmes d'information et de communication) de la gendarmerie assurent ainsi le plus souvent eux-mêmes les évolutions qui sont demandées sans cesse aux applications pour ' coller ' aux besoins opérationnels. C'est un facteur qui a fortement milité pour un accroissement de la part PHP dans les applications mises en ?"uvre par la gendarmerie.

Allez-vous abandonner Java EE comme plate-forme de développement au profit de PHP ?

FG : ' Nous n'allons pas pour autant abandonner les développements Java EE. Nous avons de grands projets en cours sur Java EE, notamment Vulcain avec Valtech ou encore le projet Foves réalisé en commun avec la police nationale. Toutefois ' le ticket d'entrée ', pour arriver à un niveau de maturité tel que la gendarmerie puisse construire elle-même la plupart de ses applications en Java EE, est nettement plus élevé que pour PHP. Seul PHP permet à la gendarmerie de réaliser en interne rapidement des applications en vue de répondre à un besoin urgent. '

Ce qu'en pense le prestataire Java : Gilles Boutégège (GFI Informatique) : ' Java EE reste légitime sur les grands projets '

' L'architecture Java EE pour le projet Puls@r peut paraître lourde pour un projet de taille moyenne : container de servlets Tomcat, container d'EJB Jonas, couche DAO (Data Access Object), persistance objet Hibernate. Pour les performances, les tests de montée en charge ont validé la capacité à assumer les 50 000 utilisateurs potentiels, et les goulets d'étranglement ont été levés. A ce jour, je pense que Java EE reste une solution plus pérenne et plus souple que PHP : en Java EE, il est facile de découpler la gestion de l'IHM et de la navigation, les règles et objets métier et la couche d'accès aux données. C'est une architecture de qualité, maintenable pour les grosses applications multitiers là où PHP reste plus adapté aux applications isolées et monolithiques, devant être développées rapidement sans contrainte particulière. '

Ce qu'en pensent les prestataires sur le projet PHP

Christophe Ballihaut (Alter Way Consulting) : ' PHP répond très bien au problème du coût de possession des applications '

' La gendarmerie nationale a souhaité revoir sa stratégie d'outils de développement à des fins d'optimisation de ses dépenses. Globalement, le projet devait faire face à un véritable enjeu de coûts de possession tant en termes de développement des applications, d'exploitation et de maintenance. Sur ces trois points, PHP, associé à son écosystème, apporte une solution industrielle et présente un avantage certain par rapport à Java EE. L'approche a consisté à associer un framework de développement industriel à une plate-forme d'intégration continue, tous disponibles dans le monde libre. De plus, le choix d'internaliser l'équipe de développement PHP, va être un vrai levier en termes de réduction des coûts. En outre, cela facilitera la relation entre l'équipe de développement et celle en charge de l'exploitation. '

Gabriele Santini (SQLi) : ' la démarche de ce projet se révèle être judicieuse '

' Je pense que la gendarmerie nationale, en misant sur ses compétences internes pour les développements et en se faisant aider pour cadrer le projet, à fait un choix très judicieux. PHP offre aujourd'hui un bon équilibre entre complexité maîtrisée et puissance grâce à des framework aboutis. Il permet aux entreprises de conserver la maîtrise de leurs codes critiques et celle de leur outillage, qui est pour l'essentiel en open source. PHP est en quelque sorte entré dans les grandes entreprises par la fenêtre, c'est-à-dire sur de petits projets complémentaires, mais est actuellement en train de monter au fur et à mesure sur des projets critiques. Dans le cas de la gendarmerie, la plate-forme d'intégration continue, mise en place à l'occasion de Puls@r, va accueillir progressivement leurs autres projets PHP. '

envoyer
par mail
imprimer
l'article
@01Business_fr sur
Nos partenaires