Contenu

Restit Breizhcamp 2023

introduction

Le breizhcamp avait lieu cette année du mercredi 28 au vendredi 30 juin.

Cet article est un petit condensé des confs que j’ai apprécié et que je vous conseille de regarder en replay sur Youtube.

C’est la première fois que je vais au Breizhcamp dès le mercredi et c’est une bonne surprise. Les conférences/universités sont moins condensées et il y a moins de monde que les autres jours.

On a plus de temps pour discuter avec les anciens collègues, pour manger le midi et pour profiter au global de la journée.

Playwright : l’outil qui va révolutionner les tests end-to-end

Speakers: Jean-François Greffier

Créé en 2020, Playwright c’est puppeteer on steroïds, “si tu utilises puppeteer, arrête” 😂

Héritier de Sélénium, Cypress etc… Playwright propose de piloter via une seule API les 3 principaux navigateurs.

  • on peut écrire nos tests en Python, JS, TS, .NET, …
  • on est pas limité: iframe, multi onglets, multi domaines
  • utilisable avec jest, vitest, pytest, junit, nunit, …..

points négatifs:

  • le meilleur support c’est avec playwright test (en JS/TS)
  • ne supporte que les 3 navigateurs principaux (firefox, chromium et webkit)
  • projet jeune
  • ne permet pas de tester sur un vrai device par exemple

Le flow du talk était bon, il est contributeur du projet et il m’a donné envie de tester la techno 👍

Adoptez la clean archigonale

Speakers: Christophe Breheret-Girardin

Talk marrant avec les références à l’évolution de nos architectures et la métaphore de nos plats de pâtes préférés 😂

source: https://twitter.com/benorama/status/604208324788252672?s=20

Un bonne approche de haut niveau sur la clean architecture et l’architecture hexagonale et comment on en est arrivé là. Si vous vous intéressez à ce type d’architecture, ce talk peut être un bon point d’entrée pour avoir une vue d’ensemble et des arguments pour y aller ou non.

Bon orateur, le support était chouette, à regarder sans hésiter. Petit détail, il jetait des shurikens en origami de façon régulière dans l’assemblée pour faire gagner des bouquins 😂

Poser une fusée sur la Lune : Artemis 2.0-RC 🚀

Speakers: Audren Burlot

Ce n’est pas un talk mais une université de 2h. Un client Node/Typescript est fourni aux participants. Ce client est connecté en websocket au serveur qui fournie en temps réel la télémétrie des fusées des participants tentant d’alunir.

Fun et très visuel avec le rendu en temps réel de toutes les fusées affichées sur le rétroprojecteur. Codelab à refaire dans votre équipe!

Tout le code pour rejouer la session chez vous est disponible sur son Github

N’abandonnez pas votre collègue d’astreinte !

Speakers: Vincent Lainé

Talk très intéressant avec une démo fil rouge d’une appli fictive et de ses logs pour l’améliorer petit à petit pour faciliter le support de notre appli quand on est en vacances.

Je connaissais pas ces outils:

  • jaeger UI client web qu’il a utilisé pour rendre visuel la consultation des logs de son appli en temps réel
  • k6 outil de test de charge en ligne de commande (développé par les équipes de Grafana)

Une question qu’il pose en séance et qui résume bien le talk: “Est ce que je peux en autonomie retrouver toutes les infos pour débugger un problème sans faire appel au développeur du projet?”

Très intéressant, des portes déjà ouvertes ou connues mais la réflexion et la méthodologie m’ont beaucoup plu.

Point bonus, son app était en .NET et je m’y suis mis récemment 🤠

STOP à l’espionnage ! Comment disparaître d’internet ? 🕵🏼‍♂️

Speakers: Mickael Alves, Etienne Idoux

tldr; “on ne peut pas”

J’y suis allé pour le titre accrocheur et mon intérêt pour essayer de récupérer un peu de prise sur mes propres données. La conclusion n’est pas forcemment agréable à entendre mais la démarche qu’ils ont mise en place pour montrer toutes les infos disponibles dans Google takeout est assez cool. Je vous laisse regarder ce qu’il arrive à montrer en croisant les sources de données.

Le binôme de speaker rend la prez très dynamique et les exemples visuelles de l’exploitation des données brutes est hyper parlante.

A voir :)

30 index sur une table PG de 6To : défis et solutions

Speakers: Flora Briand, Emmanuel Quincerot

Présentation au format Rex d’un problématique d’optimisation des index PostgreSQL chez Doctolib. Très dynamique et illustré avec des exemples concret, le talk m’a beaucoup plu même si je suis pas un expert dans les sujets de base de donnée. A la fois grâce au binôme de speakers et au côté didactique et progressif du déroulé de la présentation.

La thématique d’index est intéressante et peut être transposée dans d’autres technos.

API Versioning: Sauvegarder les versions en voie de disparition malgré l’évolution

Speakers: Thomas Martin

Talk très intéressant qui présente l’approche qu’il a utilisé dans un projet pour versionner son API publique.

  • Proposer une V1, V2, V3, …
  • Comment communiquer la version ?
  • Quand abandonner les anciennes versions ?
  • Comment inciter les utilisateurs à monter de version ?

J’ai bien aimé les choix proposés:

  • utilisation d’un header HTTP pour spécifier la version de l’API utilisée (la non présence du header indique la V1 par défaut)
  • utilisation de “tranformers” successifs qui permettent de migrer les requêtes et réponses d’une version à une autre

Ainsi on ne travaille presque que sur la version upstream du code et le transformer vers la version précédente. Le reste des transformations étant faites de proche en proche.

Un article en anglais de ce talk existe sur Medium.

Git, sous le capot

Speakers: David Blanchet

Talk très didactique et dynamique. Il essaie littéralement de recoder les fonctions basique de Git en Python.

Super conf à regarder pour mieux comprendre ce qu’il se passe tous les jours derrière nos commandes Git.

Construire un registre de choix d’architecture avec les ADR

Speakers: Sébastien Lecacheur

Sujet intéressant et dynamique (un bon talk à regarder avant de se lancer sur la mise en place d’ADR dans votre équipe).

Le retour qui est intéressant c’est qu’il ne faut pas essayer d’appliquer tel quel le format proposé par d’autres, mais d’essayer de se focaliser sur certains points puis de l’étoffer si nécessaire.

Sous le capot des navigateurs web

Speakers: Anthony Le Goas

Je suis pas très bon en front mais le titre a piqué ma curiosité.

Le talk est très instructif, ça rentre vraiment dans le détail de ce qu’il se passe à chaque étape avant le rendu dans notre navigateur.

Il introduit Houdini CSS. La promesse, le dev peut surcharger des comportements à n’importe quelle étape du rendu de notre page à l’aide de “worklet” :)

Mais en en conclusion il nous dit que “c’est vraiment pas encore prêt!” 😂

LOOM, la météorite sur la JVM ?

Speakers: Thomas Piscitelli, Alexandre Thomazo

Talk sympa sur la comparaison des perfs entre

  • les pools de threads
  • webflux
  • les coroutines (Kotlin)
  • les threads virtuels (Java >= 20)

Ils rejouent tour à tour chaque scénario avec la solution technique proposée.

A voir si vous faites du Java et que vous avez pas été convaincu par webflux ^^

Zod/ArkType, Comment typer vos applications JS au runtime ?

Speakers: Gregory Houllier

Petit quickie qui présente la type safety au runtime en utilisant des outils comme Zod et ArkType.

A voir si vous faites du Typescript côté backend :)

Conclusion

Merci d’avoir eu le courage et/ou la curiosité d’arriver jusqu’ici. Rendez vous l’année prochaine 😎