AFUP AFUP Day 2021 Baromètre Planète PHP

La parole est aux speakers : Benoit VIGUIER

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

6play_API-v2-Final(1).doc

Votre API est confrontée à des contraintes techniques mais elle doit surtout répondre à vos problématiques métier qui ne cessent d'évoluer. Nous avons souvent vécu cette situation pour 6play (service de Replay du Groupe M6), et il nous a fallu plusieurs générations d'API avant d'arriver à une version adaptée à nos besoins. Micro-services, Rest/GraphQL, Developer eXperience… Un récit et des conseils pragmatiques pour concevoir et maintenir votre API.

En ligne
24/06/2020
14:30-15:10

Tu es l’un des conférenciers les plus réguliers des évènements AFUP et nous t’en remercions ! Qu’est-ce qui continue d’animer ce sens du partage auprès de la communauté après toutes ces années ?

Lorsqu’on a un sujet à présenter qui nous tient à cœur c’est toujours un plaisir de le partager, surtout dans le cadre des évènements AFUP ! Je suis très content d’avoir pu être présent ces dernières années, mais cette régularité est aussi dûe à la chance : trouver un sujet qui m’intéresse, susceptible d’intéresser aussi les autres, de savoir comment le mettre en forme pour susciter l’attention du comité de sélection… Ça représente beaucoup de travail, de remises en question, qui finissent souvent par la déception de ne pas être retenu. Alors quand toutes les planètes sont alignées et qu’on a enfin l’opportunité d’aller jusqu’au bout, c’est une vraie satisfaction de pouvoir échanger avec les gens de la communauté qui ont les mêmes problèmes (ou les mêmes solutions). Et du coup on retente sa chance l’année d’après 🙂

Est-ce que le versionning des APIs permet d’être plus serein·e lorsqu’on conçoit une évolution, étant donné que cela peut autoriser plus facilement des ruptures et changements de comportements tout en limitant les effets de bords ?

De la manière dont je le pratique, le versionning d’API n’est rien de plus qu’une facilité de nommage pour éviter d’avoir à trouver un nouveau nom de domaine. En général on fait évoluer chaque API au maximum de ses capacités : on ajoute des routes, des nouveaux champs, parfois quelques nouveaux concepts, mais sans jamais casser nos contrats d’interface. Le jour où l’on se retrouve bloqué, où les évolutions deviennent trop coûteuses, ou que le besoin fonctionnel a divergé des motivations initiales, alors on réfléchit à une évolution majeure. C’est seulement à ce moment qu’on se pose la question philosophique (mais importante) de savoir s’il vaut mieux incrémenter le numéro de version, ou choisir un nouveau nom d’hôte pour API. Cette dernière solution est privilégiée quand le périmètre fonctionnel évolue de manière significative. La vraie difficulté, c’est de réussir à éteindre les vieilles versions pour de bon, car elles deviennent difficiles/coûteuses à maintenir et il est souvent difficile d’imposer ça aux utilisateurs. Le meilleur moyen reste de proposer une nouvelle API avec une vraie valeur ajoutée (plus de fonctionnalités, plus facile à utiliser, plus performante…) et de bien communiquer sur ces atouts. Pour l’anecdote, nous n’avons encore jamais dépassé la version 3 sur notre dizaine d’API, et nous avons réussi à éteindre une seule version 1.

Interface graphique, programmation asynchrone, tes différents retours montrent qu’on peut sortir des chemins balisés. Peux-tu donner un conseil, une méthode à une personne souhaitant utiliser un de ces outils de manière « non conventionnelle »?

Partir d’un besoin concret, qu’il soit professionnel ou personnel.
Regarder ce qui existe dans d’autres langages, faire de la veille, être curieux·se.
Avoir une bonne raison de le faire en PHP : c’est à partir de là qu’on prend des risques, surtout pour un projet professionnel. Si tout le monde utilise un marteau pour enfoncer des clous, pourquoi essayer avec autre chose? Il peut y avoir de vraies raisons, c’est au cas par cas… Mais j’avoue que pour mes projets personnels, je n’ai aucun remords à utiliser PHP à outrance juste pour le plaisir de faire tomber des préjugés !
Être prêt à être tout·e seul·e… C’est très rigolo d’être le·la premier·e à marcher dans la neige, mais si vous tombez sur un obstacle il n’y aura pas grand monde pour vous montrer le chemin. Dans mon cas, j’aime bien cette sensation que tout est à construire/imaginer, ça oblige à sortir de sa zone de confort et à revoir tout ce qu’on considère comme acquis sous un autre angle.
Proposer une conférence à l’AFUP bien sûr !

Le speaker

Benoit VIGUIER
Benoit VIGUIER
Lead Développeur Backend sur 6play, chez M6 Distribution. Initialement développeur 3D pour le jeu vidéo ou la CAO, mais reconverti dans le Web depuis 6 ans. Qu'importent les technologies, pourvu qu’on ait l'ivresse.

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 :