Industrialisation Php

Les DSI sont confrontées de plus en plus à de nouvelles problématiques depuis la généralisation de l'utilisation d'applications PHP hors des directions métiers.


Ces applications qui ont souvent été développées rapidement pour répondre à des besoins spécifiques et ponctuels sont devenues au fil du temps des applications critiques. 

 

Des applications hétérogènes


Ces applications PHP souffrent souvent d'hétérogénéité ; les bonnes pratiques de développement n’ont pas été définies, la qualité de code peut être disparate, le code n’a pas été testé de manière automatique, les différents indicateurs de qualités et de performances ne sont pas disponibles, des failles de sécurité existent.

 

Automatisation et intégration continue, ou comment dédramatiser les mises en production


Face à ces enjeux, Alter Way propose des solutions permettant de créer des usines de développement PHP et de les faire converger vers celles dédiées à Java.

 

Alter Way applique à toute sa chaîne d'intégration continue les mêmes processus d'industrialisation qu'elle préconise et implémente chez ses clients. Elle obtient grâce aux composants existants pour Java les mêmes indicateurs de qualité, de performance et de sécurité pour php. 

 

Nous sommes aussi en mesure d'automatiser tous les processus de passage entre les différents environnements applicatifs (intégration, recette, production). Ces processus automatisés intègrent des mécanismes de retour arrière (“rollback”). Ils ont été développés pour simplifier et dédramatiser les moments souvent tendus des mises en ligne des nouvelles versions.  


Les technologies mises en oeuvre


Les usines de développement conçues par Alter Way sont basées sur les technologies et logiciels suivants :

 

  • IDE :  Eclipse, NetBeans
  • Framework de développement : Zend Framework, Symfony, Silex, Jelix
  • SCM : SVN, Mercurial
  • GitPIC: Jenkins
  • Framework : Ant, Maven
  • Outils de qualimétrie : PHPCD, PHP Depend, PHPMD, PHPCodeSniffer, Cornac
  • Portail qualimétrie : Sonar,  PhpUnderControl, Jenkins
  • Tests unitaires : PHPUnit, SimpleTest, XDebug, Cachegrind
  • Tests fonctionnels : Selenium, Cucumber, Cucumber-nagios, GreenPaper
  • Tests de performances : JMeter, Twill, AB, Funkload
  • Framework de déploiements: Capistrano, Webistrano
  • Bug Tracker : Jira, Redmine
  • Documentation automatique : Doxygen
  • Documentation utilisateur : DocBook
  • Environnements à la demande : Puppet et Opscode Chef