<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Articles sur l&apos;ingénierie web, les tests et les agents · jeremn.dev</title><description>Des articles sur l&apos;ingénierie web, les tests et les agents. Par Jérémie Néhlil, développeur freelance fullstack JavaScript en SvelteKit et Node.</description><link>https://jeremn.dev/fr/</link><language>fr</language><item><title>Cloudflare Workers AI : tout ce que le tier gratuit a décidé</title><link>https://jeremn.dev/fr/blog/workers-ai-ce-que-le-tier-gratuit-a-decide/</link><guid isPermaLink="true">https://jeremn.dev/fr/blog/workers-ai-ce-que-le-tier-gratuit-a-decide/</guid><description>Je voulais faire tourner des modèles ouverts sans la machine pour les faire tourner, alors j&apos;ai construit un scanner sur Cloudflare Workers AI en restant dans le tier gratuit. Le tier gratuit explique pourquoi il a existé, pourquoi il marchait, et pour finir pourquoi il est mort.</description><pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate><category>Cloudflare</category><category>LLM</category><category>Tooling</category></item><item><title>Plonger dans Herdr</title><link>https://jeremn.dev/fr/blog/plonger-dans-herdr/</link><guid isPermaLink="true">https://jeremn.dev/fr/blog/plonger-dans-herdr/</guid><description>Un gestionnaire d&apos;espaces de travail dans le terminal qui reconnaît les agents de code lancés dans ses panes. Ce qu&apos;il ajoute à tmux, comment le client et le serveur se partagent le travail, ce que veulent vraiment dire les cinq états d&apos;un agent, et là où il arrête d&apos;aider.</description><pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate><category>Agents</category><category>Tooling</category><category>Terminal</category></item><item><title>Des contract tests sans lancer la stack</title><link>https://jeremn.dev/fr/blog/des-contract-tests-sans-lancer-la-stack/</link><guid isPermaLink="true">https://jeremn.dev/fr/blog/des-contract-tests-sans-lancer-la-stack/</guid><description>Une suite qui vérifie que deux applications sont toujours d&apos;accord sans démarrer ni l&apos;une ni l&apos;autre. Ce que Pact écrit, les deux réglages qui l&apos;empêchent d&apos;annoncer vert sur la moitié d&apos;un contrat, la règle de pipeline qui admet son propre angle mort, et la partie du travail qui vaut le coup d&apos;être confiée à un agent.</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate><category>Testing</category><category>CI</category><category>Agents</category></item><item><title>Faire tourner Stryker sur un monorepo Svelte</title><link>https://jeremn.dev/fr/blog/faire-tourner-stryker-sur-un-monorepo-svelte/</link><guid isPermaLink="true">https://jeremn.dev/fr/blog/faire-tourner-stryker-sur-un-monorepo-svelte/</guid><description>La moitié pratique : comment on découpe les configs, ce qu&apos;un mutant survivant raconte vraiment, les quatre correctifs qui règlent la plupart des cas et les détails qui coûtent du temps quand tout doit tourner sur chaque merge request.</description><pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate><category>Testing</category><category>Svelte</category><category>CI</category></item><item><title>Qui vérifie les tests de l&apos;agent</title><link>https://jeremn.dev/fr/blog/qui-verifie-les-tests-de-l-agent/</link><guid isPermaLink="true">https://jeremn.dev/fr/blog/qui-verifie-les-tests-de-l-agent/</guid><description>La coverage dit qu&apos;une ligne a tourné, pas que quelque chose a été vérifié, et un agent à qui on demande des tests produira volontiers la différence. Le mutation testing sépare les deux. Le mettre dans la boucle de l&apos;agent a échoué exactement de la façon qu&apos;il était censé attraper, et réparer ça est ce qui donne à un check automatique le droit de bloquer.</description><pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate><category>Agents</category><category>Testing</category><category>Svelte</category></item><item><title>Le meilleur modèle a quand même besoin de règles</title><link>https://jeremn.dev/fr/blog/le-meilleur-modele-a-besoin-de-regles/</link><guid isPermaLink="true">https://jeremn.dev/fr/blog/le-meilleur-modele-a-besoin-de-regles/</guid><description>Un refactoring qu&apos;on ne pouvait pas éviter est devenu un test honnête des agents de code, parce qu&apos;il devait vraiment partir en production. Le modèle le plus fort a produit du code médiocre tout seul. Ce qui l&apos;a rendu utile, c&apos;est la structure construite autour, une correction à la fois, et la limite que cette structure n&apos;a jamais levée, c&apos;est de savoir que le travail est correct.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>Agents</category><category>Svelte</category><category>Refactoring</category></item><item><title>Renovate : le coût d&apos;un agent verrouillé</title><link>https://jeremn.dev/fr/blog/renovate-le-cout-d-un-agent-verrouille/</link><guid isPermaLink="true">https://jeremn.dev/fr/blog/renovate-le-cout-d-un-agent-verrouille/</guid><description>Les montées majeures que l&apos;automatisation n&apos;ouvre pas d&apos;elle-même. Un agent frontier sur un runner verrouillé a produit des merge requests sûres d&apos;elles et fausses, parce que les garde-fous qui l&apos;ont durci l&apos;ont aussi coupé de ce dont il avait besoin. Sans ces contraintes, un autre agent a pu vérifier la même montée. Le problème n&apos;a jamais été le modèle.</description><pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate><category>Renovate</category><category>Agents</category><category>CI</category></item><item><title>Renovate : un petit agent pour les échecs courants</title><link>https://jeremn.dev/fr/blog/renovate-un-petit-agent-pour-les-echecs-courants/</link><guid isPermaLink="true">https://jeremn.dev/fr/blog/renovate-un-petit-agent-pour-les-echecs-courants/</guid><description>Les merge requests de dépendances automatiques échouent d&apos;une poignée de façons prévisibles. Un petit modèle règle les échecs mécaniques, et quand il n&apos;y arrive pas, il écrit ce qu&apos;il a trouvé.</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate><category>Renovate</category><category>Agents</category><category>CI</category></item><item><title>Renovate : affiner l&apos;automatisation</title><link>https://jeremn.dev/fr/blog/renovate-affiner-l-automatisation/</link><guid isPermaLink="true">https://jeremn.dev/fr/blog/renovate-affiner-l-automatisation/</guid><description>Le grouping pour que la sortie reste lisible, des cooldowns qu&apos;il a fallu empêcher de se contredire, le passage sur un swarm managé, et enfin le fait de laisser les mises à jour mineures et patch se merger toutes seules.</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate><category>Renovate</category><category>Dependencies</category><category>CI</category></item><item><title>Renovate : automatiser la gestion des dépendances</title><link>https://jeremn.dev/fr/blog/renovate-automatiser-la-gestion-des-dependances/</link><guid isPermaLink="true">https://jeremn.dev/fr/blog/renovate-automatiser-la-gestion-des-dependances/</guid><description>Installer le bot a pris un après-midi. Lui apprendre ce qu&apos;était vraiment notre dépôt a pris un an, et l&apos;essentiel tient dans du grouping, une regex et un job de CI qui écrit les changesets à sa place.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate><category>Renovate</category><category>Dependencies</category><category>CI</category></item><item><title>Dix mois de Svelte 5</title><link>https://jeremn.dev/fr/blog/dix-mois-de-svelte-5/</link><guid isPermaLink="true">https://jeremn.dev/fr/blog/dix-mois-de-svelte-5/</guid><description>Des feuilles vers la racine, avec Svelte 4 et Svelte 5 côte à côte tout du long, pendant que le produit continuait de livrer. Presque rien n&apos;a fait mal. Voici la partie qui a fait mal.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate><category>Svelte</category><category>Migration</category></item></channel></rss>