PHP Legacy

J’ai travaillé de 2017 à 2019 chez Modis, en tant que prestataire. Comme maintenant, j’y étais backend developer, et travaillais principalement sur du code Legacy. Mais au fait, qu’est-ce qu’un développeur PHP Legacy ?

Legacy ?

En anglais, « legacy » signifie « héritage ». Il s’agit donc de code qui date, un ancien code qui a peut emprunté aux nouvelles façons de coder. On oppose généralement ces anciennes façons de coder à l’utilisation de frameworks. Ce sont des cadres de travail. Symfony et Laravel sont les plus représentatifs en ce moment dans le mode de PHP. Mais il en existe plein d’autres.

Utiliser un framework, c’est très pratique. Tout y est bien ordonné, on trouve des raccourcis pour tout un tas de trucs, la gestion de la base de données est facilitée à l’extrême, par exemple, et un tas de fonctionnalités compliquées en Legacy sont ici faciles à utiliser.

Framework ?

Bien entendu, cela suppose de connaître ce framework… S’il utilise des raccourcis, il faut savoir comment ils s’articulent. Si les fonctionnalités compliquées sont simplifiées, il faut quand même les connaître. Du coup, en se spécialisant sur un framework, on peut perdre un peu de vue ce qui le compose, son langage natif. Comme PHP et MySQL le sont pour Symfony et Laravel, par exemple. Le langage du framework devient plus important presque que le langage PHP natif.

Migration ?

Quand un code est ancien, souvent développé avec d’anciennes versions de PHP, il devient difficile à maintenir. Il faut comprendre comment le développeur d’origine a voulu articuler son contenu et ses fonctions, et parfois, la logique est un peu absconse.

Et il peut y avoir d’autres problèmes : les bibliothèques, notamment. Celles-ci peuvent faire le job. Elles peuvent être utilisées un peu partout dans le code, mais ne plus être maintenues par son auteur… On risque les problèmes de sécurité. Et ça peut même empêcher de mettre à jour d’autres bibliothèques ou même carrément PHP.

Là, on est en droit de se poser la question suivante : je continue à maintenir mon code en l’état, ou je le refond complètement ? Si on le maintient tel quel, on accepte peu ou prou d’arrêter de développer de nouvelles fonctionnalités… Et si on on le refond, on accepte de galérer pendant un sacré bout de temps pour arriver à faire aussi bien avec des technologies plus modernes. Pour une entreprise, cela correspond à investir beaucoup de temps dans peu de résultat immédiat. Parce qu’au final, les seules personnes qui en bénéficieront vraiment et qui verront la différence, ce sont les développeurs, pas les utilisateurs.

Votre valeur ajoutée

Alors, savoir comprendre le code Legacy, savoir se mettre dans la peau et dans l’esprit du développeur d’origine, savoir développer un peu comme le développeur d’origine l’aurait fait, sans avoir à réinventer la roue à chaque ligne de code… Eh bien c’est une vraie compétence, qui est très demandée en entreprise ! Vous pouvez avoir, avec ce type de compétences, une vraie valeur ajoutée.