AFUP AFUP Day 2020 Baromètre Planète PHP

La parole est aux speakers : Vincent BEAUVIVRE

Jusqu’à l’AFUP Day 2020, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

L’amour en héritage !

Ah ! le code «legacy», comme on l’aime ! Ce moment merveilleux où l’on vous présente le projet avec un petit sourire en coin : «bon ça n’est pas basé sur la dernière techno à la mode, mais ça marche !». Alors on commence à prendre «ça» par un bout et on réalise le désastre :

  • Pas de versionning
  • Fichiers de plus de 3000 lignes que même les anciens n’osent plus toucher
  • Code tiers inclus dans le projet
  • Framework qui fait de la magie noire
  • Code mort J’en passe, et des meilleures !

J’ai moi-même connu ce type d’aventure en boulot et en perso, et j’aimerais partager avec vous quelques bonnes idées, et des mauvaises à éviter. On va parler de refactoring, de transition douce, d’amélioration continue, d’arbitrages techniques… Et c’est l’occasion de prendre un peu de recul aussi, pour penser global, mais agir local ! Pas pour la planète, mais pour le projet !

En ligne
19/06/2020
15:10-15:50

Cela fait plus de 20 ans que tu développes autour de PHP : comment as-tu vécu ces différentes années et traversé les évolutions du langage ?

Ouhla ! Je me considère vraiment comme un enfant de la communauté PHP : je suis arrivé au développement PHP par curiosité, sans aucun background, et j’ai grandi dans mon métier par mes rencontres et mes découvertes. Toutes ces années, c’était palpitant de suivre l’évolution du langage. À mon avis, PHP a trouvé une belle maturité de son système d’évolution, basé sur les RFC. Je me souviens aussi des flottements, comme PHP6 … Avec PHP7, la communauté est parvenu à un bon équilibre entre : retro-compatibilité, évolution fonctionnelle (ce qu’il fait), évolution technique (comment il le fait) et innovations. Ce qui me rend très optimiste quant à son avenir, surtout au vue des orientations de PHP8.
J’ajoute que j’aime beaucoup partager sur des problématiques typiques avec des développeurs d’autres langages, et découvrir d’autres solutions, ou d’autres problèmes 🙂

S’il ne fallait en retenir qu’une, y aurait-il une pratique que tu conseillerais pour limiter le code legacy ?

Aïe ! Mes amis ! Je crois bien que c’est peine perdue ! Votre meilleur code d’aujourd’hui sera vraisemblablement un boulet pour quelqu’un d’autre, ou pour vous même 😛
Gardez cela en tête ! Ça permet de garder du recul, un point de vue extérieur, pour épargner quelques cheveux blancs à vos successeurs. Arrêtez-vous parfois pour considérer l’ensemble du tableau. Peut-être que les meilleures bourdes ou les pires couplements vous sauteront aux yeux.

Comment as-tu fait pour obtenir du temps pour supprimer du code legacy ?

Ça fait parti du job. En général, je «vends» le refactoring avec des évolutions. Je défends l’idée de devoir faire une transition en me basant sur des problèmes récurrents de perf ou des difficultés de maintenance. Un socle de base de cohabitation entre ancien et nouveau système est mis en place. Puis on s’engage dans une voie dans laquelle, à chaque modification d’une partie de ce code (évolution ou debug important), cette partie sera simultanément transposée dans un «nouveau système». La pédagogie n’est pas de trop pour expliquer ce qu’est la dette technique et quel est son enjeu. Et parfois, je l’avoue, il est plus efficace de passer ces idées discrètement 😛

Le speaker

Vincent BEAUVIVRE
Vincent BEAUVIVRE
Vincent est un autodidacte qui a grandi et mûri depuis 20 ans au même rythme que PHP. Depuis le ```echo date('d/m/Y');``` en php 4, jusqu’aux designs patterns d’aujourd’hui, et en passant par le code spaghetti, le mvc, composer, les orms, le tdd puis le ddd. Rien ne lui a été épargné ! Pas même phpnuke, joomla, wordpress, prestashop, ou magento. Pourtant il en redemande encore 🙂

Autres interviews

En poursuivant votre navigation sur ce site, vous acceptez l’utilisation des cookies pour améliorer votre navigation. plus d'infos

1. Qu’est-ce qu’un cookie?

Un Cookie est un petit fichier texte enregistré sur votre terminal (ordinateur, tablette, smartphone, etc.), à l’occasion de la consultation d’un service en ligne grâce à votre logiciel de navigation. Il permet à son émetteur d’identifier le terminal dans lequel il est enregistré, pendant la durée de validité ou d’enregistrement du Cookie. Lors de la consultation de notre site Internet, des informations relatives à la navigation de votre terminal sont susceptibles d'être enregistrées dans ces fichiers dits "Cookies". Ces derniers sont installés sur votre terminal, sous réserve des choix que vous auriez exprimés concernant les Cookies et que vous pouvez modifier à tout moment.

2. A quoi servent les cookies émis sur notre site ?

Seul l’émetteur d’un cookie est susceptible de lire ou de modifier les informations qui y sont contenues.
Les cookies utilisés sur notre site permettent :

3. Vos choix concernant les cookies

Vous disposez de différents moyens pour gérer les cookies. Tout paramétrage que vous pouvez entreprendre sera susceptible de modifier votre navigation sur notre site et sur Internet en général et vos conditions d'accès à certains services de notre site nécessitant l'utilisation de cookies. Vous pouvez à tout moment exprimer et modifier vos souhaits en matière de cookies, par les moyens décrits ci-dessous. L'accord sur les cookies L'enregistrement d'un cookie dans un terminal est essentiellement subordonné à la volonté de l'utilisateur du terminal, que celui-ci peut exprimer et modifier à tout moment et gratuitement à travers les choix qui lui sont offerts par son logiciel de navigation. Si vous avez accepté dans votre logiciel de navigation l'enregistrement de cookies dans votre terminal, les cookies intégrés dans les pages et contenus que vous avez consultés pourront être stockés temporairement dans un espace dédié de votre terminal. Ils y seront lisibles uniquement par leur émetteur.

Le refus des cookies Si vous refusez l'enregistrement de cookies dans votre terminal, ou si vous supprimez ceux qui y sont enregistrés, vous ne pourrez plus bénéficier d'un certain nombre de fonctionnalités qui sont néanmoins nécessaires pour naviguer dans certains espaces de notre site. Tel serait le cas si vous tentiez d'accéder à votre compte ou à votre abonnement qui nécessite de vous identifier. Tel serait également le cas lorsque nous, ou nos prestataires, ne pourrions pas reconnaître, à des fins de compatibilité technique, le type de navigateur utilisé par votre terminal, ses paramètres de langue et d'affichage ou le pays depuis lequel votre terminal semble connecté à Internet. Le cas échéant, nous déclinons toute responsabilité pour les conséquences liées au fonctionnement dégradé de nos services résultant de l'impossibilité pour nous d'enregistrer ou de consulter les cookies nécessaires à leur fonctionnement et que vous auriez refusés ou supprimés. Les choix offerts par votre logiciel de navigation Vous pouvez configurer votre logiciel de navigation de manière à ce que des cookies soient enregistrés dans votre terminal ou, au contraire, qu'ils soient rejetés, soit systématiquement, soit selon leur émetteur. Vous pouvez également configurer votre logiciel de navigation de manière à ce que l'acceptation ou le refus des cookies vous soient proposés ponctuellement, avant qu'un cookie soit susceptible d'être enregistré dans votre terminal. Pour la gestion des cookies et de vos choix, la configuration de chaque navigateur est différente. Elle est décrite dans le menu d'aide de votre navigateur, qui vous permettra de savoir de quelle manière modifier vos souhaits en matière de cookies. Selon votre navigateur, consultez le lien ci-dessous pour configurer votre navigateur et refuser les cookies :