APIs ❤️ HTML

Dans ce talk, je vais tenter de vous convaincre que retourner directement du HTML plutôt que du JSON dans vos APIs REST est une bonne idée.

Cette approche offre de nombreux avantages :

Ce talk sera un résumé de mes lectures et réflexions (ainsi qu’un petit retour d’expérience) sur la hype HTMX mais surtout sur le sujet qui va avec : le concept d’API Hypermedia.

Et si HTML était LA techno low-code qu’on cherche tous pour le front-end ?

Une authentification sans mot de passe maison

Historiquement, l’authentification sur une application web se fait avec un nom d’utilisateur (ou email) et un mot de passe. Plus récemment, on s’est enfin rendu compte que c’est vraiment pourri comme expérience utilisateur : le mot de passe il faut s’en souvenir, il faut le changer souvent, il y a des règles différentes et parfois elles changent pour un même service.

Alors on a inventé OAuth et c’est quand même mieux : plutôt que d’avoir plein de couples User/Password on en a un peu moins mais on s’en sert à plus d’endroits : Avec mon compte github je me connecte à pleins de services liés au développement web (uptrace, fly.io, …). Avec mon compte google je me connecte à plein de services sans rapport avec google.

Mais bon, ça fait quand même plusieurs comptes car tout les services ne supportent pas toutes les solutions d’authentification. Et je ne sais pas vous, mais des fois je n’ai pas trop envie d’associer mon compte google à quelque chose qui n’a rien à voir…

Finalement, le compte que tout le monde a, c’est un compte email. Et en plus on peut interagir avec facilement (par email). La solution d’authentification parfaite !

Équipe produit ou équipe presta ?

Est-ce que l’équipe projet possède le produit, ou est-ce que l’équipe projet développe le produit de quelqu’un d’autre ?

La réponse à cette question peut avoir un fort impact sur la motivation des développeurs et l’efficacité de l’équipe.

Je vous donne mon point de vue de développeur sur cette question : qu’est-ce qui fait qu’une équipe est une équipe produit ou une équipe presta ? Quel effet ça a sur le ressenti du développeur, mais surtout sur la qualité des développements et donc sur la qualité du produit ?

Un premier retour d'expérience sur Remix

Remix est un framework React avec Server Side Rendering sorti en beta le 29 avril 2021 (et disponible en preview depuis octobre 2020).

Remix encourage un style de développement différent de ce qu’on pouvait voir jusqu’ici dans l’écosystème React. Basé sur React Router, il nous encourage à utiliser les technologies éprouvées du web (Http, Navigateurs, HTML) et propose un niveau d’abstraction très bien dosé.

Comment est l’expérience développeur avec Remix ? Que va apporter Remix au monde du développement React ?

Après plusieurs mois à expérimenter avec Remix, je vous propose mon retour d’expérience et mon avis sur ce framework innovant.

Et si on se penchait sur l'impact énergétique de l'IT ?

Avec Sylvain Révéreault

Vous avez sans doute lu comme nous des assertions du type “un film sur Netflix consomme l’équivalent de 1000 ampoules allumées pendant 1 heure”. Mais qu’est-ce qui se cache derrière ces chiffres ? Comment sont-ils calculés ?

Lors de ce talk, nous prendrons ces questions comme prétexte pour parcourir les différents éléments mis en jeu dans l’IT moderne, et essayer d’en appréhender l’impact environnemental.

Nous essaierons ensuite de décliner ces calculs dans des cas d’usage quotidiens pour nous, comme l’utilisation d’une plateforme d’intégration continue ou le déploiement dans un Cloud public.

Une base de données clé-valeur avec git

Git est un outil de gestion de versions de code source, pas de doute là dessus. Mais Git c’est aussi une abstraction particulièrement avancée au dessus d’une base de données utilisée pour stocker vos sources. Mieux encore, git expose en réalité plusieurs commandes de plus bas niveau que celles que vous connaissez (git hash-object, git update-index, git cat-file, git commit-tree…).

Ces commandes de bas niveau vont nous permettre de créer une abstraction différente de celle du gestionnaire de sources : une base de données clé/valeur avec gestion de l’historique, métadonnées etc.

Bonnes pratiques de test automatisé

Écrire des tests, c’est relativement simple. En revanche, écrire de bons tests c’est parfois assez compliqué.

Au fil de plusieurs missions, j’ai développé une technique qui permet de se poser des questions utiles et d’écrire de meilleurs tests.

J’ai présenté cette technique à plusieurs occasions, notamment lors d’une conférence interne à Zenika (voir la vidéo)

JUnit 5 : Tests imbriqués dynamiques

Après une 3e milestone releasée en novembre 2016, JUnit 5 arrive à grand pas et apporte un lot de nouveautés qui vont être plus que bienvenues !

Dans ce quickie, je vous propose de s’attarder sur quelques unes de ces nouveautés : En premier lieu les tests dynamiques (enfin), et d’autres nouveautés plus mineures mais néanmoins très pratiques comme les tests imbriqués, les assertions multiples, …

Unicode pour les nuls

Trois choses sont vraies avec unicode :

En 20 minutes, je vous explique ce qu’est unicode et comment creuser le sujet si vous le souhaitez. Cela devrait résoudre le troisième point, mais sans garantie sur le second.

La programmation Réactive Fonctionnelle avec RxJS

Dans ce talk, je recode une version toute basique de RxJS pour comprendre comment marchent les Observables.

Reference Deck

Ceci n’est pas vraiment une conférence, mais une présentation utilisée pour retrouver facilement les possibilités d’écriture de slides en asciidoc sur ce site.