Notre équipe a développé une expertise dans la migration d’applications PHP vers Symfony ou la mise à jour d’anciennes stacks Symfony vers la dernière version 7.3 (à l’heure où est écrit cet article).
Nous avons en effet été en charge de migrer plusieurs projets impliquant le framework Symfony dont voici deux cas clients typiques récents :
Migration d’applications PHP natives vers Symfony
Un de nos clients avait un site développé avec une vieille stack MVC maison qui était devenue difficile à maintenir et à faire évoluer. Nous lui avons donc proposé une migration progressive vers le robuste framework Symfony permettant de faire évoluer son site sur la nouvelle technologie tout en conservant le fonctionnement du site actuel.
Voici les grandes étapes entreprises pour mener à bien ce projet :
1/ Mise en place technique de Symfony en proxy
Cette première étape consiste à encapsuler le site dans un applicatif Symfony qui agit comme un proxy. Toutes les requêtes arrivent ainsi sur le contrôleur principal Symfony qui dispatche ensuite l’appel soit vers une route Symfony si la fonctionnalité a été redéveloppée, soit vers l’ancien site.
Il n’y a ainsi aucun changement pour l’internaute et cela nous permet d’avancer les développements tout en faisant évoluer la stack technique progressivement.
2/ Migration de la base de données
Il s’agit ensuite de « connecter » la base de données actuelle à Doctrine qui est utilisée par Symfony pour effectuer toutes les opérations de requêtes de données. Cette tâche consiste également à créer les « entités » (classes PHP) qui permettent de manipuler ces données plus efficacement.
3/ Migration du Back Office
Nous avons tout d’abord implémenté le système d’authentification et sécurité de Symfony avant de progressivement redévelopper les différents modules d’administration métiers du client.
4/ Migration du Front Office
Nous avons pour cela basculé du système de template Smarty précédemment utilisé vers Twig et Symfony UX et réimplémenté les différents modules nécessaires au bon fonctionnement du site.
Montée en version de Symfony
Un autre projet client nous a récemment conduit à effectuer une montée en version de Symfony et de différents bundles qui l’accompagnait.
La stack était composée entre autre de Symfony 4.3, ElasticSearch 6 (exploité via FOS Elastica), Lexik Translation pour la gestion du multilingue, ainsi que de nombreux bundles Sonata (Admin, Media, Translation, User), le tout tournant sous PHP 7.3.
Nous avons tout d’abord effectué la migration vers Symfony 4.4 puis avons passé PHP en version 7.4. Nous avons ensuite mis à jour le plus de bundles possibles afin de préparer la migration vers Symfony 5. Nous avons ensuite lancé les migrations successives: Symfony 5.4, puis 6.4 et enfin 7.3 en faisant évoluer en même temps les versions des bundles, de PHP vers 8.1, 8.2 et 8.3, mais aussi en migrant ElasticSearch de la version 6 à la version 7.
Vous avez vous aussi un applicatif PHP avec du code difficile à maintenir ou vous souhaitez effectuer une montée en version vers la dernière release stable du meilleur framework PHP du marché ?
N’hésitez pas à nous contacter pour plus d’information.