Il est parfois plus pratique d’opter pour la réécriture et la migration de tout un système, que de continuer le développement sur des technologies vieillissantes. C’est pour cette raison que nous sommes intervenus chez notre client. La version originale des applications ne contenait pas de documentation et le code a été écrit avec un ancien Framework PHP ; de ce fait, un audit sur l’existant a été fait dans un premier lieu, en analysant le code, puis en testant les différentes fonctionnalités des applications, pour pouvoir étudier l’impact de la migration. Une nouvelle architecture a ensuite été mise en place pour chaque application, en gardant les mêmes fonctionnalités existantes, tout en assurant leur non-régression.

Défis

  • Manque de documentation pour les versions originales
  • Code source ne suivant pas les règles de bonnes pratiques de développement,
    et donc difficile à assimiler
  • Complexité de l’architecture choisie dans la version originale
  • Migration des fonctions PHP obsolètes (4, 5) vers la dernière version

Solutions apportées

  • Réécriture complète du code en gardant les mêmes aspects fonctionnels
  • Mise en place d’un ensemble de tests (unitaires et fonctionnels) assurant la non-régression
  • Établissement des rapports de gain de performance
  • Conception d’une architecture assurant une maintenance plus simple

Technologies & outils

PHP / Symfony ; Oracle ; HTML5 , CSS ; JavaScript ; Git