Retour sur l'AFUP DAY Lyon 2020

Cédric

Cédric, Directeur général 30 juin 2020

Mercredi 24/06, Novaway était présent à l’AFUP Day Lyon… enfin virtuellement présent. Crise sanitaire oblige, l’événement n’a pas pu se dérouler comme prévu à la Manufacture des Tabacs. Cela n’a pas empêché l’équipe de rebondir et d’organiser une version en ligne que nous avons donc suivie de chez nous. Si le buffet de friandises nous a manqué, les conférences de qualité étaient bien au rendez-vous.

La programmation défensive

Intervenant : Alexandre Balmes

On a beaucoup parlé du métier de développeur·se en lui-même. A commencer par Alexandre BALMES avec La programmation défensive ou l'art de ne pas se faire confiance, une conférence issue de son expérience et du besoin de pouvoir assurer les projets sur le long terme.

A contre courant du pragmatisme actuel, il nous a recommandé de faire confiance à notre expertise et notre capacité à analyser le contexte. Cela permet de mettre en place des sécurités qui ont parfois l’air too much, mais qui assurent une protection contre l’erreur humaine (qui est courante et parfaitement naturelle).

Typage strict, composition plutôt qu’abstraction ou utilisation d’objets immuables ont fait partie des différentes recommandations à mettre en place pour une vraie maintenabilité dans le temps.

Tu n’es pas un {framework} développeur

Intervenant : Thomas Dutrion

Dans la même veine, Tu n'es pas un {framework} developpeur ! de Thomas DUTRION s’intéressait à notre expertise mais plutôt d’un point de vue outil. Si aujourd’hui beaucoup d’entre nous se définissent comme Dev Symfony, Dev Laravel, voire Dev PHP, très peu de personnes se disent Ingénieur·e Logiciel. Et pour cause, la demande sur le marché de l’emploi est structurée comme ça, bien que ça ait autant de sens que de rechercher un jardinier par marque de tondeuse.

Avec quelques exemples, il a montré que l’on pouvait, en partant des principaux frameworks du marché, faire du code qui soit plus agnostique et, qu’in fine : 

Notre métier ce n’est pas de connaître une syntaxe, mais de bien savoir modéliser les applications.

DevOps, je n’ai jamais voulu faire ça, et pourtant…

Intervenante : Sofia Lescano

Mais notre métier peut aller encore plus loin, comme l’a montré Sofia LESCANO dans son DevOps ? Je n'ai jamais voulu faire ça, et pourtant…. Ce retour d’expérience fait référence à son arrivée chez 6play pour une mission où on lui a demandé de pousser en production dès le premier jour.

Si cette façon de travailler s’appuie sur des process et outils en perpétuelle évolution, il y a quelques constantes importantes, comme la construction d’équipe. Celle-ci assume une responsabilité commune et résout ensemble les problèmes. Mais aussi et surtout la mise en place d’un environnement humain et technique qui tolère l’erreur et permet d'expérimenter dans un cadre de confiance pour monter correctement en compétences. Elle a également découvert que :

Dans un contexte Devops, déployer n’est pas une fin en soi, c’est même le début. Il faut ensuite monitorer les impacts d’un changement si l’on veut prendre correctement en main l’infrastructure de manière générale.

6play_API-V2-Final(1).doc

Intervenant : Benoît Viguier

En parlant des équipes de 6play, 6play_API-v2-Final(1).doc de Benoît VIGUIER est une conférence qui, avec son nom un peu particulier, a retracé les différentes évolutions de l’API qui fait tourner le service 6play.

Au fil des solutions et de leurs limites, nous avons pu voir comment la plateforme est passée d’un système basé sur un échange de fichiers XML via FTP à une architecture composée de microservices cloud dans lesquels les front-end viennent piocher selon leurs besoins. Ce que l’on retient de ce talk :

Une API, ça n’est pas une brique tech faite par et pour les tech. Une API se conçoit comme n’importe quelle application web, avec une roadmap, une étude de l’UX, la définition du data ownership…

Unplug de HTTPlug

Intervenant : Stéphane Hulard

Et puisqu’on est sur les API, autant rester dans le thème avec Unplug the HTTPlug ! de Stéphane HULARD.

Au-delà d’une simple librairie, HTTPlug c’est un véritable écosystème. Clients, adaptateurs, plug-ins… Tout un ensemble d’outils vient compléter cette couche d’abstraction.

La version 2 suit les recommandations de la PSR-18, il est tout à fait possible d’y ajouter des composants spécifiques à nos applications pour gérer de l’authentification, du cache, des logs, ou d’autres éléments plus métier. On trouve également toute une palette d'adaptateurs pour les principaux frameworks du marché, et même des adaptateurs de mock pour faciliter les tests.

LE I de ACID

Intervenante : Laetitia Avrot

Toujours dans les conférences orientées technique, Laetitia AVROT nous a montré que Le I de ACID pour les bases de données relationnelles a une importance souvent oubliée. L’utilisation de plus en plus fréquente des frameworks (et donc des ORM) nous fait oublier que les bases de données ne se limitent pas à SELECT et INSERT (en vrai on le sait, mais on ne fait pas toujours l’effort d’aller plus loin).

Pourtant, si on s’éloigne un peu des transactions par défaut, on peut optimiser des requêtes de pagination, de gestion de stock, de numérotation de facture... Et cette optimisation ne se fait pas seulement sur le plan des performances mais aussi celui de la sécurité et la consistance des données.

De façon générale, en s’intéressant de plus près au fonctionnement des BDD, il est possible de simplifier drastiquement le code applicatif, et donc d'en limiter les dysfonctionnements.

Du test à la preuve : introduction au Property Based Testing

Intervenant : Baptiste Langlade

Une autre façon bien connue de limiter les dysfonctionnements, c’est de tester. Dans Du test à la preuve : introduction au Property Based Testing Baptiste LANGLADE nous a montré cette pratique qui consiste à générer des jeux de données aléatoires pour les tests. Les outils de PBT se basent sur des types métiers en faisant une composition de types primitifs (des sortes de fixtures aléatoires, mais contraintes).

Si cette approche propose des tests exploratoires qui ne peuvent pas remplacer d’autres tests plus fixes, elle les complètent plutôt bien, notamment avec un typage proche du métier qui permet au code de test d’être une documentation vivante.

Le partage de la connaissance en entreprise

Intervenant : Guillaume Thirard

Et puisqu’on parle de documentation, la transition est toute trouvée avec Le partage de connaissance en entreprise de Guillaume THIRARD, conférence qui part du constat assez universel qu’à l’arrivée d’une nouvelle recrue, il y a beaucoup de choses à lui montrer.

Pour partager la connaissance dans une boite, il y a 3 grands principes : documenter ce qui existe, automatiser ce qui peut l’être, et lister le reste. Et au-delà d’un document de référence, il existe plusieurs façons de partager la connaissance, par exemple les revues ou le pair-programming, qui permettent d’apprendre des autres.

En grossissant, on peut aussi imaginer des Lightning Talks ou des démos pour que les différents services sachent ce qui se fait chez les autres. Quant aux projets en eux-mêmes, c’est une bonne pratique de prévoir dans les estimations et la vie d’une tâche le temps qui sera nécessaire à la mise à jour de la doc.

A developer always pays his debts

Intervenant : Julien SoleilHavoup

On a également pu écouter Julien SOLEILHAVOUP dans A developer always pays his debts sur un sujet un peu plus grave mais pas moins important : le burnout. Comme rappelé en introduction, le burnout ce n’est pas du stress, de la fatigue ou de l’addiction au travail. C’est un épuisement professionnel caractérisé par des éléments définis.

Si le burnout a des symptômes, il a aussi des causes. Julien nous a montré comment la dette technique, qu’elle soit au niveau du code, de l’organisation ou des individus, pouvait être l’une de ces causes. A travers différentes situations possibles, issues de témoignages, on a pu conclure que :

Si la dette technique n’est pas le seul facteur du burnout, elle en est à la fois une cause, un symptôme, et un signal d’alarme fort. Elle est donc à surveiller de près.

Afup day : on se retrouve l'année prochaine !

Avec ces talks tous très intéressants, on ne peut que confirmer notre fierté de faire partie des sponsors de cette édition lyonnaise et son format original. Comme à son habitude, l’AFUP à délivré un événement de qualité, et on a hâte d’être au prochain rendez-vous pour un ForumPHP qui marquera les 20 ans de l’association et les 25 ans de notre langage de programmation préféré. On espère vous y voir !