• Illustration de la publication Documentation testing en Scala

    Documentation testing en Scala

    Dans l’article précédent, on a vu que certains tests étaient éligibles à l’approche Approval Tests. On peut encore aller plus loin et tenter l’approche Documentation testing. La librairie est en Java et écrite spécifiquement pour JUnit. Cela ne nous permet donc pas de l’utiliser directement avec Scala et MUnit. On ne va pas aller aussi loin que l’exemple de documentation généré pour le kata par Sébastien Fauvel avec ses graphes mais on va prouver que ça fonctionne.

  • Illustration de la publication Approval Tests — 16 ans après

    Approval Tests — 16 ans après

    Il y a parfois (souvent/toujours) des notions ou des concepts qui semblent nouveaux, mais qui sont en réalité vieux comme le monde. On a toujours l’impression de découvrir de nouvelles choses alors qu’il ne s’agit que de vieux concepts nommés différemment ou markettés.

    Pas plus tard qu’hier dans un podcast, j’entendais l’animateur parler du fait qu’il faisait déjà du calcul de similarité cosinus sur Apache Mahout alors que cette technique est encore et toujours plus utilisée pour implémenter les RAG dans les applications qui veulent intégrer des LLM. Par cette occasion, il nous enjoignait à lire ou à relire les vieux papiers de recherche sur ces sujets.

    Sans en arriver à déchiffrer une thèse, je re-découvre en 2025 une technique de test nommée Approval Tests qui mérite qu’on s’y penche et qu’on l’expérimente dans son langage favori — évidemment.

  • Illustration de la publication Read before write et les frameworks

    Read before write et les frameworks

    Le pattern read before write est assez commun lorsqu’il s’agit de mettre à jour des données en fonction de règles implémentées dans un langage de programmation quelconque. Dans le cas où les requêtes sont exécutées en parallèle, il y a plusieurs cas de figure :

    1. lorsqu’on utilise des librairies (c’est moi qui appelle la librairie), on pourra toujours gérer localement
    2. lorsqu’on utilise des frameworks (je me fait appeler par le framework), la gestion devient un peu moins centralisée

    Dans cet article, je reviens sur un bug constaté dans le cas 2., comment j’ai pu le résoudre et quelles conséquences pour la maintenabilité.

  • Illustration de la publication Qu’est-ce qu’un store selon Svelte ?

    Qu’est-ce qu’un store selon Svelte ?

    Selon Svelte, il est très rare que l’état de l’application puisse résider entièrement à l’intérieur de la hiérarchie de composants de l’application. L’usage de stores s’applique lorsque des valeurs doivent être accédés par :

  • Illustration de la publication Conversation avec un chatbot

    Conversation avec un chatbot

    Voici l’extraction d’une conversation que j’ai eu avec un chatbot local, au détour de la découverte du tutorial de Svlete. À l’heure des prompts de Large Language Model, il est possible que la librairie utilisée soit bien plus basique, mais bien plus sobre.