Devoxx France 2026
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.
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.
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).
/doctorpour vérifier /powerup: tutoriel intégré!commandexecute une commande shell depuis le prompt Claude Codeclaude --add-dir ../libs ../shared: ajoute des répertoires supplémentaires au contexte de la session/compactcompresse l’historique de la conversion/clearvide l’historique, utile pour commencer une nouvelle tache/contextaffiche 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
/exportexporte la session courante (transcript)/reviewlance une revue sur les changements en cours/simplifyanalyse le code modifié et propose des modifications (couteux)/insightsgé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
- le sentiment de vide provoqué par l’inaction
- L’hydre capitaliste. ex de Meta qui supprime 8000 emplois
- 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
- Initialisation stricte, avant appel à
- 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
- enlève le cout du boxing sur
- Tableau d’objets posent 2 pbs (résolu par Valhalla)
-
- mémoire : header + padding
-
- 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=75signifie 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
- Pod en terminating
- envoi
SIGTERMsur le process 1 du pod - attente de 30s (par défaut), le temps de fermer fichiers, connections, …
- envoi
SIGKILL
- Les ergonomics : déterminé par défault
java -XX:+PrintFlagsFinal -version | grep ergonomicpour 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, …