[:fr]La parole est aux speakers : Stéphane HULARD[:]

Publié le

[:fr]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

Unplug the HTTPlug !

ll y a beaucoup de librairies qui permettent de faire des appels HTTP depuis nos applications. Parfois un projet utilise plus d'un "client" et il devient compliqué de savoir et contrôler comment ces appels sont déclenchés.

HTTPlug est un petit écosystème (librairies, adapteurs, bridges avec les frameworks, actif dans la création des PSRs…) qui peut aider à créer une abstraction autour du client HTTP. Il contient les adapteurs vers les librairies les plus connues (Guzzle, cURL, …) et adopte complètement les PSR7 et PSR18. En utilisant quelque chose comme HTTPlug, vous aurez la possibilité de normaliser le comportement et d'avoir un seul point d'entrée pour interagir avec les APIs.

Avec ce talk, l'objectif est de présenter l'écosystème, ses avantages, inconvénients et comment il peut aider votre projet à être plus solide.

En ligne
24/06/2020
15:15-15:35

L’arrivée d’un nouveau composant Symfony dédié à faire des appels HTTP a parfois été questionnée. Quel est ton avis sur cette pluralité et le nombre de librairies disponibles dédiées à cette tâche ?

Lorsque j’ai entendu l’annonce du composant HTTP de Symfony j’avoue avoir été très surpris au début. À une époque où l’interopérabilité est au centre des préoccupations, pourquoi créer un nouvel outil pour répondre à cette problématique courante dans nos projets et surtout pourquoi le faire un peu hors des sentiers battus ?
En effet les recommandations sur les messages HTTP (PSR7) et sur les clients HTTP (PSR18) avaient été acceptées quand ce composant est sorti et ont pourtant été un peu boudées au départ… La sortie de Symfony du PHP-FIG en novembre 2018, quelques mois avant l’annonce du HttpClient n’a clairement pas aidé.

Malgré tout, après avoir pris un peu de recul, lu un peu de code et vu les adapteurs pour les PSR j’étais rassuré. J’ai découvert dans ce composant une approche différente pour résoudre certaines problématiques (compatibilité HTTP2 et multiplexage par exemple) qui n’était pas disponible ailleurs à ma connaissance. Il a donc apporté sa brique à l’écosystème et a permis à toute la communauté d’avancer.

Le côté un peu “fermé” qui est induit par la création de tout ces composants sous la bannière Symfony ne me plait pas toujours mais la communauté derrière ce framework est tellement active qu’il est difficile d’y trouver à redire. Cependant je pense qu’il est important que tout ceux qui n’ont qu’une vision Symfony de l’écosystème découvrent les autres solutions qui leur sont offertes.

Pour terminer, je dirais que ça ne me gêne pas qu’il y ait pluralité tant que tout le monde est libre de s’appuyer sur la solution qui lui convient le mieux, quel que soit le framework qu’il a choisi pour l’accompagner.

Que ce soit pour des appels HTTP ou pour d’autres librairies, quels sont les critères de choix que tu regardes avant d’en utiliser une ?

Mes critères sont différents en fonction du contexte dans lequel je dois faire ce choix. Quand je travaille sur un projet perso, tout seul, je le fais souvent pour expérimenter. Dans ce cas je choisis les librairies avec lesquelles j’ai envie de jouer. C’est souvent celles qui ont une approche qui m’est inconnue ou que j’ai envie de tester qui attirent mon attention. Ça me permet d’enrichir ma vision de la programmation en la confrontant à celles des contributeurs derrières ces outils.

Par contre quand je travaille dans le cadre professionnel avec une équipe je vais plutôt me poser ces questions dans l’ordre :
– Est-ce que l’équipe connaît déjà cette solution et est à l’aise avec ?
– Est-ce que la librairie est correctement maintenue (mise à jour régulière, réponse aux tickets, activité en ligne) pour obtenir de l’aide en cas de besoin ?
– Est-ce qu’elle répond bien à ce dont nous avons besoin ? Qu’est ce qu’il y a en trop ? Qu’est-ce qui manque ?
– Est-ce que l’équipe pourra utiliser facilement ce nouveau code ?

Le reste n’est qu’une histoire de compromis. Intégrer un code tiers nécessite de le brancher correctement dans l’application et c’est finalement le dernier point. Si la librairie est trop compliquée à connecter dans le projet on essaie de se tourner vers d’autres solutions quand il y en a. Sinon la documentation est de mise pour décrire cette complexité.

Tu interviens lors du programme de mentorat, quels retours peux-tu nous faire à ce sujet ?

Effectivement, j’interviens depuis plus de six mois maintenant dans ce programme. J’ai eu le plaisir d’accompagner deux personnes, avec lesquelles ça s’est bien passé (et ça continue de bien se passer). Les échanges autour du métier, des contraintes, des évolutions, du code ont été très enrichissants pour moi et je l’espère pour eux.

Le mentorat est très intense pour les deux parties, mentor comme mentoré·e car il nous met face à la réalité. De mon côté, je confronte mes points de vue, idées et solutions à de nouvelles situations ce qui me permet de continuellement me remettre en question. Expliquer des choix est un bon moyen de se rendre compte qu’ils sont perfectibles ou qu’il existe aussi d’autres chemins pour atteindre le même but. De leur côté j’espère partager ma passion pour cet univers et leur donner envie de persévérer dans cette voie en les accompagnant de mieux que je le peux !

Il y a tellement de belles choses à faire qu’il est important que tout le monde trouve sa place ?

Une conférence présentée par

Stéphane HULARD
Stéphane HULARD
Depuis 2006, il baigne dans le web et son écosystème. Consultant et formateur indépendant, il apprécie particulièrement travailler sur des projets legacy pour accompagner les équipes à les reprendre en main et il s'obstine à la mise en place des méthodes d'ingénierie logicielle sur le web (intégration et déploiement continu, tests unitaires, documentation…). Il essaie de rendre à la communauté au maximum à travers des contributions Open Source. Il télétravaille presque à 100% ce qui lui permet de vivre à l'étranger la moitié de l'année.

Autres interviews

[:]