Standardisation de développements PHP sous Symfony

Le Grand Lyon (communauté urbaine de Lyon) regroupe 57 communes au cœur de la région Rhône-Alpes, deuxième région de France, avec un peu plus de 5 millions d’habitants.

Le Grand Lyon (communauté urbaine de Lyon) regroupe 57 communes au cœur de la région Rhône-Alpes, deuxième région de France, avec un peu plus de 5 millions d’habitants.

Pour standardiser ces projets développement PHP, le Grand Lyon a fait appel à Clever Age en deux étapes :
– Etape 1 : Identifier les problèmes rencontrés au sujet de :

  • * La maintenance de ces applications
  • * La productivité des intervenants produisant les applications PHP
  • * La normalisation des développements autour de cette plateforme.

Une analyse critique de l’existant a été menée afin de mettre en oeuvre les recommandations les plus pertinentes.

Un référentiel technique de développement PHP, adapté aux besoins du Grand Lyon, a ensuite été élaboré. Il concerne :

  • * les standards de codage, la configuration et l’optimisation de PHP5, l’auto-documentation
  • * l’architecture générale, les briques tierces et le framework préconisé,
  • * la méthodologie de développement, les outils préconisés pour les développeurs
  • * la gestion des versions et le cycle de vie des logiciels.
  • Etape 2 : Standardiser ses développements PHP5 à l’aide du framework Symfony. Il a fait appel à Clever Age Lyon pour reprendre des briques existantes et les adapter aux nouvelles normes adoptées.

Ont été réalisés :

  • * Un fournisseur de Web services REST gérant les demandes d’authentification
  • * Un client REST en PHP pour le système de SSO
  • * Un plug-in destiné à faciliter l’intégration des fonctionnalités d’identification dans les applications Symfony
  • * Un thème pour le générateur d’administration de Symfony

Ces briques ont été créées afin d’être réutilisées dans tous les projets du Grand Lyon. Des ateliers de transferts de compétences techniques ont eu lieu auprès des équipes du Grand Lyon et de leurs prestataires.

Technologies utilisées

IDE : Eclipse v1.3

Frameworks : Symfony 1

Gestion de code source : Subversion

Plateforme de développement : PHP 5