Jour 1

Keynote : L’IA au service du bien commun : Agir avec raison dans l’incertain

Speaker : Laurence Devillers

Laurence Devilliers est professeure en IA et chercheuse au CNRS. Elle travaille sur l’IA depuis sa thèse en 1987. Elle défend l’idée qu’il faut éduquer, comprendre les limites et les biais. Pour cela, elle reprend les mythes (= ce qui est faux ou exagéré)

Le mythe de Frankenstein. Se base sur Daniel Kahneman (le psychologue auteur des systèmes 1 et 2, resp. basé sur l’intuition/la cognition). L’AGI n’a pas d’intuition. On pourra aller plus loin que les LLM avec les world model sur lesquels travaille Yann LeCun.

L’IA n’est pas neutre. Elle apprend sans comprendre mais est entrainé à 95% sur de l’anglais

Citation de Blaise Pascal

“continuer à agir avec raison dans l’incertain.”

Keynote : Les échecs à l’ère de l’intelligence artificielle

Speaker : Laurent Fressinet

Grand maitre en 2000, coach de Magnus Carlsen pendant 10 ans.

En 1997. Deep blue. Basé sur une base de données d’ouverture/fermeture et une fonction d’eval.

En 2017. Match AlphaZero (qui apprend tout seul) contre Stockfish. 20 victoires / 72 nulles / 0 défaites

Ces algos ont fait évoluer les échecs, par ex. en considérant la poussée du pion h2 h4 que l’on pensait mauvais.

Takeaway: Rester curieux

Another World, une belle leçon d’architecture logicielle

Speaker : Olivier Poncet

Mon coup de coeur !

Ce jeu d’aventure mythique est l’oeuvre d’un seul homme, Eric Chahi. L’executable pèse 24ko et les assets 1,2mo. ça tient sur une disquette. C’est un moteur graphique polygonal en 2D basé sur une machine virtuelle.

L’auteur a commencé par se développer des outils en GFA basic pour pouvoir travailler les polygones.

C’est une VM de type Harvard avec 64 threads, 256 registres et une pile.

Il a utilisé pas mal d’optimisations

  • algo bytekiller pour compresser les assets
  • instructions ordonnés par fréq. d’utilisation pour optimiser les if
  • 4 pages et double-buffering pour calculer le rendu

Il a travaillé seul pendant 2 ans à 22 ans.

Olivier a réimplémenté la VM en seulement 2h / jour sur 2 semaines.

La page du talk

Et si on débuguait notre rapport au temps ?

Speaker : Albane Fagot-Veyron

Ayant fait le choix de travailler à 80% pour m’octroyer du temps, c’est un sujet qui m’intéresse particulièment. La speakeuse avait d’ailleurs fait un sujet sur la semaine de 4 jours à devoxx.

2 ans de travail sur le sujet Son hypothèse de travail: notre rapport au temps influence notre travail. Le talk est sourcé avec, si possible, des méta études.

Un rythme soutenable = que l’on peut maintenir indéfiniment à rythme constant.

Le temps:

  • temps perçu : le temps semble passer plus vite à l’age adulte
  • temps social :
  • temps existentiel : 

Multitasking et switch : entraine une perte d’efficacité

Avec l’IA, on travaille plus : 3h15 / semaine

conseil: réintroduire du vide, passer 5mn / jour à ne rien faire

5 piliers pour manager une équipe performante, même en remote.

Speaker : Yannick Grenzinger

Ce talk a couvert beaucoup de sujets et de référence en seulement 30 minutes

  • Livres recommandés
    • Les 5 dysfonctions d’une équipe
    • Radical Candor
    • First, Break all the rules -> focus sur les talents
    • How to take smart notes -> 2nd brain : outils: logseq, obsidian
  • Dans son équipe de 4, 5 personnes, pas plus de 2 streams en //
  • Pas de tickets > 2, 3 jours
  • La culture du terrain (gemba) : on y va, on voit ce qui se passe
  • Remote, async et IA renforce le besoin de documentation
  • ADR pour garder une trace de pourquoi on a pris une décision
  • Versionner sa documentation

Jour 2

Les design patterns agentiques dont vous êtes le héros.

Speaker : Guillaume Laforge

Super talk. Guillaume nous donne des designs patterns pour nos applications basés sur des agents, en prenant soin à chaque fois d’illustrer par un exemple concret d’application qu’il a développé.

on est passé de

  • prompt engineering
  • context engineering : juste la bonne info au bon moment
  • harness engineering : pour que les agents travaillent ensemble

Les designs patterns:

  • Programmatic Planning: appel successif à différents modèles (déterministe). Exemple avec deepsearch
  • Retrieval Augmented Generation
  • Progessive Disclosure: ex. skills
  • LLM as judge. ex. comparaison de résumé avec différents modèles
  • Goal Oriented Action Planning. ex. coding agent loop

Ce talk donne pleins d’idées originales d’utilisation des agents pour créer des applications.

API Security 2026 : Comment éviter de finir sur Have I Been Pwned ?

Speaker : Mickaël Barroux

takeaway : vérifier l’expiration et la signature des tokens JWT

Docker Agent - comment simplifier encore plus la création d’agents IA ?

Speakers : Djorge Lukic et David Gageot

Excellente présentation. Je n’ai pas pris de notes.

Docker agent permet d’écrire tous types d’agents très facilement car il s’appuie sur une approche déclarative basé sur YAML. C’est la technologie utilisé par Gordon, l’assistant IA intégré à Docker Desktop.

Il est open-source et s’intègre avec tous les modèles : OpenAI, Anthropic, Gemini, Mistral.

LLMs et Hallucinations : comprendre, mesurer, maitriser

Speaker : Aygalic Jara

Le speaker fait une thèse sur le sujet.

  • Les LLMs sont des réseaux de neurone entrainés à prédire le prochain token
  • Les hallucinations des LLMs sont inévitables.
  • Faire la différence entre
    • Hallucination de factualité : La tension standard en Europe est de 110V
    • Hallucination de fidélité : contrat fourni avec clause de rupture de 5000€. réponse 15000€.
  • LLM mauvais pour arithmétique et citer les sources
  • Solution 1 : context engineering (donner des sources au modèle)
  • Biais de complaisance : LLM répond quand on demande le taux du livret Y
  • Solution 2 : Apprendre aux LLMs à dire je ne sais pas. R-tuning
  • Détection d’hallucination sur les modèles ouverts: on peut entrainer un modèle de régession logistique sur les vecteurs.
  • Plus un modèle est gros, plus il est factuel, moins il est fidèle
  • Evaluation

Jujutsu, la cerise sur le git, oh !

Speaker : Siegfried Ehret

Le speaker est tout simplement le plus classe de l’univers.

Jujutsu est un outil basé sur Git, pour offrir de nouvelles fonctionnalités.

Le résumé du talk

Fun fact perso: pas facile pour moi de taper jj, car j’utilise ce remapping dans mon .vimrc pour quitter le mode édition sans aller chercher la touche Esc qui est beaucoup trop loin :)

inoremap jj <Esc>

ClaudeCode.proTips(30, minutes=30).run()

Speaker : Erwan GEREEC

  • utiliser l’installation native (pour être toujours à jour). /doctor pour vérifier
  • /powerup : tutoriel intégré
  • !command execute une commande shell depuis le prompt Claude Code
  • claude --add-dir ../libs ../shared : ajoute des répertoires supplémentaires au contexte de la session
  • /compact compresse l’historique de la conversion
  • /clear vide l’historique, utile pour commencer une nouvelle tache
  • /context affiche le contexte actuel
  • /model opusplan : pour utiliser Opus pour la planification (plus réfléchi) et Sonnet pour l’execution
  • on peut copier/coller des screenshots (par ex. des logs). Cmd+Shift+Ctrl+4 sur Mac capture directement une zone de l’écran dans le presse-papier
  • /export exporte la session courante (transcript)
  • /review lance une revue sur les changements en cours
  • /simplify analyse le code modifié et propose des modifications (couteux)
  • /insights génère un rapport analysant les sessions Claude Code

Jour 3

Keynote : L’IA au défi de la condition humaine

Speaker : Jean-Gabriel Ganascia

Double formation de philosophe et ingénieur. Aborde la question : est-ce que l’IA ouvre le droit à la paresse ? Qui est une référence au livre de Paul Lafargue.

Avec beaucoup de malices, le speaker arrive à 3 problèmes avec cette thèse

  1. le sentiment de vide provoqué par l’inaction
  2. L’hydre capitaliste. ex de Meta qui supprime 8000 emplois
  3. La perte d’autonomie. on n’écrit plus, on ne lit plus

Les Value Types ne sont pas ℂomplexes

Speakers : Clément de Tastes et Rémi Forax

  • ex. d’algo avec des nombres complexes. 10x plus lent en utilisant des records que des primitifs. Il faut choisir entre propreté et performance.
  • Le but de Valhalla est d’avoir les deux
  • La promesse : “Codes like a class, works like an int”
  • JEP-401: Value Classes and Objects
  • mot clé value. value class. value record.
  • on renonce à l’identité (logique car plus d’adresse en mémoire)
  • javac ne fait rien, c’est fait par le JIT (qqs allocs lié à l’interpreteur)
  • JEP-513: Flexible Constructor Bodies
    • Initialisation stricte, avant appel à super
    • Depuis Java 25, on peut écrire du code avant appel à super
  • JEP 390: Warnings for Value-Based Classes
    • enlève le cout du boxing sur Optional
    • Integer (et d’autres) devient value type, identifié par @ValueBased
  • Tableau d’objets posent 2 pbs (résolu par Valhalla)
      1. mémoire : header + padding
      1. perf: indirection => pointer chasing
  • syntax ! pour dire qu’un truc est nullable. On ne peut pas faire l’inverse comme en Kotlin (?) pour ne pas casser la compat.
  • -XX:PrintInlineLayout

La magie d’OpenTelemetry : réécrire votre app en production

Speaker : Bruce Bujon, développe l’agent Java chez Datadog

  • l’agent permet une instrumentation avec zero code
  • 150+ librairies supportées
  • juste à ajouter au démarrage -javaagent:mon-agent.jar
  • possible aussi avec l’env var. JAVA_TOOL_OPTIONS
  • un agent est une application java, packagé sous forme de jar, avec un premain
  • il consiste en une fonction byte[] -> byte[] pour transformer le bytecode
  • 3 façons de faire
    • ASM : maintenu par Remi Forax
    • Bytebuddy : plus facile d’accès
    • Class_file API (Java 24)
  • le code executé n’est pas le code compilé
  • impact: mem, cpu, I/O threads (more lock and waits)
  • meta-agent de Johannes Bechberger est un agent qui permet de voir le code modifié par un autre agent

Kubernetes et la JVM

Speakers : Jean-Michel Doudoux et Alain Régnier

  • pour faire du k8s sur le poste de dev : minikube, k3s, kind
  • flox, qui est basé sur Nix
  • exemple d’utilisation de flox + kind pour créer des clusters locaux
  • configurer probes : liveness, readiness, startup
  • configurer les requests : utilisé par le scheduler, garantit une capacité minimale
  • configurer les limits
    resources:
    requests:
      memory: 512Mi
      cpu: "500m"
    limits:
      memory: 512Mi
      cpu: "1"
    
  • si cpu limit dépassé => throttling, c’est “juste” plus lent
  • si mem limit dépassé => OOM kill (code exit 137), ça ne marche plus.
  • coté JVM : -XX:MaxRAMPercentage=75 signifie heap ≈ 75% de 512Mi (généralement à tuner entre 75% et 90%)
  • mémoire d’un process java, pas que la heap. heap + metaspace + native memory
  • graceful shutdown
    1. Pod en terminating
    2. envoi SIGTERM sur le process 1 du pod
    3. attente de 30s (par défaut), le temps de fermer fichiers, connections, …
    4. envoi SIGKILL
  • Les ergonomics : déterminé par défault
  • java -XX:+PrintFlagsFinal -version | grep ergonomic pour les voir
  • JDK >= 9, G1 par défaut SI nombre de coeurs > 1
  • taille par défaut du ForkJoinPool
  • Avant Java 10, ergonomics basé sur le host (node k8s) et pas sur le pod
  • Pour améliorer le bootstrap:
    • CDS
    • AOT
    • Graal VM native image
    • CraC (que sous Linux)

Conclusion

Encore une excellent bonne édition !

Les présentations sont de grande qualité. Et Devoxx France, c’est aussi génial car on voit des gens :

  • Florian (avec qui j’ai passé les 3 jours, tu me manques trop au travail)
  • des anciens collègues d’Axa (Sieg, Romain, Charles et même Yves)
  • un ancien collègue de Teads (Matthieu, on ne s’est pas assez vu)
  • Nicolas de Pix (tes mots m’ont fait du bien)
  • Nicolas d’Atos
  • Les orgas du PSUG (coucou Jon et Stéphane)
  • Alexandre de Netflix
  • et d’autres : encore un Nicolas, …