<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>HEURISME · Blog cloud, DevOps et IA</title><description>Le blog d&apos;HEURISME : articles et infographies sur le cloud, le DevOps et l&apos;intelligence artificielle.</description><link>https://heurisme.fr/</link><language>fr-FR</language><item><title>Ce que le contexte perd à la compaction</title><link>https://heurisme.fr/blog/compaction-contexte/</link><guid isPermaLink="true">https://heurisme.fr/blog/compaction-contexte/</guid><description>Quand la fenêtre de contexte est pleine, Claude Code remplace la conversation par un résumé. Ce qui survit (CLAUDE.md, memory, fichiers relus), ce qui part, et comment garder l’état sur le disque : fichier de suivi, commits, hook SessionStart compact.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>ClaudeCode</category><category>AgentsIA</category><category>LLM</category></item><item><title>La fréquence qui dérive pendant le passage d’un satellite</title><link>https://heurisme.fr/blog/doppler-satellite/</link><guid isPermaLink="true">https://heurisme.fr/blog/doppler-satellite/</guid><description>Un satellite en orbite basse file à 7,6 km/s. Sur 145,800 MHz, la fréquence reçue dérive de ±3,4 kHz pendant le passage, de ±10,3 kHz sur 437,800 MHz, à 157 Hz/s au zénith. La géométrie à l’échelle, un passage simulé avec son récepteur, ce que la FM tolère et pas la BLU ni la CW, le suivi par Gpredict et la commande rigctld, et l’heure qui fixe l’erreur.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>Radio</category></item><item><title>La recherche sémantique ne trouve pas la facture INV-48213</title><link>https://heurisme.fr/blog/embeddings-numeros/</link><guid isPermaLink="true">https://heurisme.fr/blog/embeddings-numeros/</guid><description>On cherche INV-48213 avec un vrai modèle d’embedding, multilingual-e5-small : le bon document sort 3e, derrière INV-48231. Pourquoi un identifiant se perd dans un vecteur, ce que fait BM25, pourquoi la fusion RRF laisse des égalités, et comment un champ d’identifiants avec un filtre exact remet le bon document en tête 13 fois sur 13.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>AgentsIA</category><category>LLM</category></item><item><title>La facture NAT Gateway</title><link>https://heurisme.fr/blog/facture-nat-gateway/</link><guid isPermaLink="true">https://heurisme.fr/blog/facture-nat-gateway/</guid><description>Des instances en subnet privé lisent S3 et tirent leurs images ECR à travers la NAT Gateway, qui facture 0,05 $ par Go à Paris. Cost Explorer et les flow logs pour voir qui consomme, le gateway endpoint S3 gratuit, le seuil des interface endpoints, et un calculateur pour comparer trois montages.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>AWS</category><category>Réseau</category></item><item><title>Disque plein, mais la commande du ne trouve rien</title><link>https://heurisme.fr/blog/fichier-supprime-disque-plein/</link><guid isPermaLink="true">https://heurisme.fr/blog/fichier-supprime-disque-plein/</guid><description>df dit 90 %, du additionne 14 Ko : un log de 150 Mo supprimé par rm, encore ouvert par un process. lsof +L1, /proc/PID/fd, la troncature par : &gt; /proc/PID/fd/N, le fichier creux sans O_APPEND, logrotate copytruncate ou create avec un signal, et le cas des conteneurs, mesurés sur un ext4 de 200 Mo.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>Linux</category></item><item><title>Hooks : la consigne que l’agent ne peut pas ignorer</title><link>https://heurisme.fr/blog/hooks-garde-fous/</link><guid isPermaLink="true">https://heurisme.fr/blog/hooks-garde-fous/</guid><description>Une règle dans CLAUDE.md est suivie la plupart du temps, un hook est exécuté par le harness à chaque fois. Événements, exit 2, sortie JSON et matcher, trois hooks testés avec Claude Code (push forcé sur main, tiret cadratin, hook Stop qui relance), et pourquoi un hook n’est pas une sandbox.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>ClaudeCode</category><category>AgentsIA</category><category>Sécurité</category></item><item><title>Terraform : « Error acquiring the state lock » après un job coupé</title><link>https://heurisme.fr/blog/lock-state-terraform/</link><guid isPermaLink="true">https://heurisme.fr/blog/lock-state-terraform/</guid><description>Avec Terraform (ou OpenTofu, son fork), un job de CI annulé en pleine commande tofu apply laisse le verrou du state dans S3. La ligne DynamoDB LockID, le fichier .tflock de Terraform 1.10 et OpenTofu 1.10, quand la commande force-unlock est sûre, quand elle crée deux writers, et comment faire attendre la CI.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>IaC</category><category>AWS</category></item><item><title>Bouton pressé une fois, compté 5 fois</title><link>https://heurisme.fr/blog/rebond-bouton/</link><guid isPermaLink="true">https://heurisme.fr/blog/rebond-bouton/</guid><description>Un bouton sur une interruption FALLING compte 3 ou 7 appuis pour un seul. Le rebond du contact mesuré par Jack Ganssle, le pull-up interne de l’ESP32, le filtre RC et le trigger de Schmitt 74HC14 avec le calcul du délai, puis l’anti-rebond logiciel par échantillonnage. Démo : un appui, quatre compteurs.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>Embarqué</category></item><item><title>Retry, backoff et jitter : quand les clients achèvent le service</title><link>https://heurisme.fr/blog/retry-backoff-jitter/</link><guid isPermaLink="true">https://heurisme.fr/blog/retry-backoff-jitter/</guid><description>Après une panne, 2000 clients réessaient au même rythme et le service retombe. Backoff exponentiel, plafond, full jitter et decorrelated jitter (Marc Brooker, AWS), budget de retries des SDK AWS, Retry-After et clé d’idempotence, avec une simulation à lancer dans la page.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>AWS</category><category>Réseau</category></item><item><title>RS-485 : ça marche à 1 m, mais plus à 50 m</title><link>https://heurisme.fr/blog/rs485-terminaison/</link><guid isPermaLink="true">https://heurisme.fr/blog/rs485-terminaison/</guid><description>Une paire RS-485 de 50 m est une ligne de transmission : 120 Ω, 4,3 ns par mètre, et un bout ouvert qui renvoie le front. La règle du temps de montée contre l’aller-retour, 120 Ω aux deux bouts seulement, la polarisation au repos, le bus plutôt que l’étoile, et une simulation des réflexions vues par le récepteur.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>Embarqué</category><category>Réseau</category></item><item><title>Cinq sous-agents en parallèle : ce qu’on gagne, ce qu’on paie</title><link>https://heurisme.fr/blog/sous-agents-cout/</link><guid isPermaLink="true">https://heurisme.fr/blog/sous-agents-cout/</guid><description>Chaque sous-agent part d’un contexte neuf : il relit les fichiers et ne renvoie qu’un résumé. Le temps gagné plafonne à 1 / (1 − p), la relecture se multiplie par N, et le renvoi du contexte à chaque requête (cache read à 0,1 fois l’input) change le bilan. Un calculateur aux hypothèses modifiables compare un agent seul et N sous-agents.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>ClaudeCode</category><category>AgentsIA</category><category>LLM</category></item><item><title>Trop d’outils MCP</title><link>https://heurisme.fr/blog/trop-outils-mcp/</link><guid isPermaLink="true">https://heurisme.fr/blog/trop-outils-mcp/</guid><description>Chaque outil MCP déclaré part dans chaque requête de l’agent. Trois serveurs réels mesurés : 48 outils, environ 7 500 tokens par tour, des outils sosies qui gênent le choix du modèle. Le chargement à la demande, et ce qu’il ne rattrape pas.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>ClaudeCode</category><category>AgentsIA</category><category>LLM</category></item><item><title>Le microcontrôleur planté qui ne repart jamais</title><link>https://heurisme.fr/blog/watchdog-materiel/</link><guid isPermaLink="true">https://heurisme.fr/blog/watchdog-materiel/</guid><description>Un watchdog nourri dans une interruption de timer ne voit pas la boucle bloquée. Le motif des drapeaux de vie, le Task Watchdog d’ESP-IDF (5 s et sans reset par défaut), le timeout au démarrage, et la cause du reset dans esp_reset_reason() ou RCC_CSR, avec une simulation de deux cartes.</description><pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate><category>Embarqué</category></item><item><title>Infinity : 75 000 agents en pause dans 8 Go</title><link>https://heurisme.fr/blog/infinity-agents-en-pause/</link><guid isPermaLink="true">https://heurisme.fr/blog/infinity-agents-en-pause/</guid><description>Infinity : runtime d&apos;agents en Rust par AWS et UC Berkeley (projet Hydro), Apache 2.0. Une complétion par slice, l&apos;appel d&apos;outil part en HTTP fire-and-forget, entre deux slices l&apos;agent n&apos;est qu&apos;un historique stocké. Banc de test public : 80 000 agents, 99,1 Kio par agent idle, 352 octets par tâche tokio en attente.</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>AgentsIA</category><category>AWS</category></item><item><title>Scion : 30 000 merges par jour, git ne suit plus</title><link>https://heurisme.fr/blog/scion-git-agents/</link><guid isPermaLink="true">https://heurisme.fr/blog/scion-git-agents/</guid><description>Le monorepo d&apos;Anthropic est passé de 2 500 à plus de 30 000 merges par jour en quatre mois, avec près de 100 Go d&apos;historique. Avec Scion, le serveur fait les commits et les merges : une ref est une ligne Spanner avancée par compare-and-swap. Banc de test public, 200 agents sur un Mac : git classique 367,5 s, merge côté serveur 10,3 s, 36 fois plus vite.</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>AgentsIA</category></item><item><title>eBUS : un bus auto-alimenté sur 2 fils</title><link>https://heurisme.fr/blog/ebus-trames/</link><guid isPermaLink="true">https://heurisme.fr/blog/ebus-trames/</guid><description>Une chaudière Saunier Duval ou Vaillant parle à son régulateur sur deux fils qui portent aussi le courant : UART 2400 bauds, SYN après 40 à 45 ms de silence, arbitrage par ET des adresses. Trame maître-esclave, échappement, CRC polynôme 0x9B. Chaque octet recalculé en Python sur cinq vraies trames de logs ebusd publics, sans matériel eBUS.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate><category>Embarqué</category></item><item><title>Une antenne à gain ne crée pas d’énergie</title><link>https://heurisme.fr/blog/antenne-gain-dbi/</link><guid isPermaLink="true">https://heurisme.fr/blog/antenne-gain-dbi/</guid><description>dBi, dBd et diagramme de rayonnement, simulés dans NEC2 à 1090 MHz : un dipôle à 2,14 dBi, une Yagi à 7,37 dBi, une colinéaire à 5,08 dBi qui aplatit son lobe, et la même puissance rayonnée pour toutes. Exemple suivi : un récepteur ADS-B sur un toit, entre un fouet et une colinéaire.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>Radio</category></item><item><title>Polarisation : l’antenne ADS-B montée à plat</title><link>https://heurisme.fr/blog/antenne-polarisation/</link><guid isPermaLink="true">https://heurisme.fr/blog/antenne-polarisation/</guid><description>Un récepteur ADS-B sur 1090 MHz dont l’antenne est couchée à l’horizontale : la perte en cos² de l’angle mesurée avec NEC2, ce que les reflets ramènent, la portée divisée par 3 ou plus, et la polarisation circulaire du GPS.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>Radio</category></item><item><title>Antenne quart d’onde : pourquoi 8 cm à 868 MHz</title><link>https://heurisme.fr/blog/antenne-quart-onde/</link><guid isPermaLink="true">https://heurisme.fr/blog/antenne-quart-onde/</guid><description>Une antenne ground plane faite maison pour une passerelle LoRa 868 MHz, rejouée dans NEC2 : le brin résonne à 8,14 cm et non à λ/4 = 8,63 cm, 36 Ω sur un plan parfait, 24 Ω avec des radians à plat, 51 Ω et un ROS de 1,02 avec des radians inclinés à 45°.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>Radio</category></item><item><title>Le ROS : ce que l’antenne renvoie à l’émetteur</title><link>https://heurisme.fr/blog/antenne-ros/</link><guid isPermaLink="true">https://heurisme.fr/blog/antenne-ros/</guid><description>Coefficient de réflexion, ROS, pertes de retour et puissance réfléchie, sur une ground plane 144,800 MHz simulée avec NEC2 : le λ/4 calculé est trop long, et 20 m de RG-58 font lire un ROS de 2,95 sur une antenne débranchée.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>Radio</category></item><item><title>Câble coaxial : 15 m de RG58 perdent plus que l’antenne ne gagne</title><link>https://heurisme.fr/blog/cable-coaxial-pertes/</link><guid isPermaLink="true">https://heurisme.fr/blog/cable-coaxial-pertes/</guid><description>Les pertes du câble entre l’antenne et le récepteur, d’après les fiches constructeur : RG174, RG58, RG213 et LMR-400 à 144, 868 et 1090 MHz, les connecteurs, ce que valent 3 dB, et pourquoi le préampli d’un récepteur ADS-B se met en haut du mât.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>Radio</category></item><item><title>Chaîne TLS incomplète : le navigateur passe, curl et Python non</title><link>https://heurisme.fr/blog/chaine-tls-incomplete/</link><guid isPermaLink="true">https://heurisme.fr/blog/chaine-tls-incomplete/</guid><description>« unable to get local issuer certificate » sur une API qui s’ouvre dans le navigateur : nginx n’envoie que le certificat du serveur, sans l’intermédiaire. Banc de test nginx avec une PKI locale, erreurs de curl, Python et OpenSSL recopiées, AIA suivi à la main, puis le fichier fullchain.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>Sécurité</category><category>Réseau</category></item><item><title>Limite CPU : une API ralentie sur une machine au repos</title><link>https://heurisme.fr/blog/cpu-throttling-conteneur/</link><guid isPermaLink="true">https://heurisme.fr/blog/cpu-throttling-conteneur/</guid><description>Avec --cpus=1, quatre threads vident le quota CFS de 100 ms en 25 ms, puis tout le conteneur attend la période suivante. Mesuré dans Docker : le p99 d’une API passe de 7,5 à 78,7 ms alors que le conteneur consomme 0,25 CPU en moyenne. cpu.max, cpu.stat et ce qui évite le gel.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>Linux</category></item><item><title>Un changement DNS ne se propage pas : les caches expirent</title><link>https://heurisme.fr/blog/dns-changement-cache/</link><guid isPermaLink="true">https://heurisme.fr/blog/dns-changement-cache/</guid><description>Une bascule de site rejouée avec NSD, Unbound et dig : le serveur faisant autorité donne la nouvelle adresse tout de suite, le resolver garde l’ancienne jusqu’à la fin du TTL, un NXDOMAIN reste 30 s en cache, et un TTL baissé à l’avance ramène l’écart à 5 s.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>Réseau</category></item><item><title>Inodes épuisés : « No space left on device » avec de la place</title><link>https://heurisme.fr/blog/inodes-epuises/</link><guid isPermaLink="true">https://heurisme.fr/blog/inodes-epuises/</guid><description>Sur un /var ext4 de 128 Mo, 7 830 sessions PHP épuisent les 8 192 inodes alors que df -h affiche 72 % : ce qu’est un inode, df -i, du --inodes pour trouver le dossier, la purge des sessions sur Debian, mke2fs -i et -N, et XFS qui relève son plafond à chaud.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>Linux</category></item><item><title>Des 502 rares que personne n’arrive à reproduire</title><link>https://heurisme.fr/blog/keepalive-502/</link><guid isPermaLink="true">https://heurisme.fr/blog/keepalive-502/</guid><description>Une API Node.js derrière nginx ou un ALB : Node.js ferme ses connexions keep-alive au bout de 5 s, le proxy les garde 60 s. Sur un banc de test, 6 à 11 POST sur 460 finissent en 502, nginx rejoue les GET sans que le client le voie, et le compteur tombe à zéro quand le proxy ferme en premier.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>AWS</category><category>Réseau</category></item><item><title>Un Allow ne suffit pas : IAM refuse quand même</title><link>https://heurisme.fr/blog/policy-iam-evaluation/</link><guid isPermaLink="true">https://heurisme.fr/blog/policy-iam-evaluation/</guid><description>Un rôle de déploiement autorisé à faire s3:PutObject reçoit AccessDenied. Le simulateur IAM, rejoué couche par couche : refus implicite, permission boundary, Deny explicite sur aws:SecureTransport, SCP de l’organisation.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>Sécurité</category><category>AWS</category></item><item><title>En français, le même prompt coûte plus de tokens</title><link>https://heurisme.fr/blog/tokens-francais-anglais/</link><guid isPermaLink="true">https://heurisme.fr/blog/tokens-francais-anglais/</guid><description>Ce qu’est un token, pourquoi le tokenizer découpe davantage le français, et ce que ça coûte : sur un long texte et sa traduction officielle, de 1,14 à 1,50 fois plus de tokens selon le tokenizer. Les accents n’y sont presque pour rien, et le chatbot d’un service client paie 17 % de plus.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>LLM</category></item><item><title>44Net : le réseau IP des radioamateurs</title><link>https://heurisme.fr/blog/adressage-ip-radioamateur/</link><guid isPermaLink="true">https://heurisme.fr/blog/adressage-ip-radioamateur/</guid><description>Le réseau 44.0.0.0/8 attribué aux radioamateurs en 1981, le quart vendu à Amazon en 2019, et le chemin d’un paquet vers une adresse de 44.151.0.0/16 : BGP, passerelle IPIP de l’UCSD, WireGuard, et ce que le règlement interdit sur l’air.</description><pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate><category>Réseau</category><category>Radio</category></item><item><title>Une facture électronique, vue de l’intérieur</title><link>https://heurisme.fr/blog/facture-electronique/</link><guid isPermaLink="true">https://heurisme.fr/blog/facture-electronique/</guid><description>Une facture Factur-X fictive, fabriquée et validée hors ligne. Le PDF/A-3 ouvert en couches, le XML CII et ses champs EN 16931, les métadonnées XMP, les cinq profils, puis les règles BR-CO-15 et BR-CO-17 du validateur Mustang, et une erreur de TVA de 0,20 € qui passe quand même.</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Ce que Claude Code consomme et envoie</title><link>https://heurisme.fr/blog/consomme-et-envoie/</link><guid isPermaLink="true">https://heurisme.fr/blog/consomme-et-envoie/</guid><description>Ce qui remplit la context window d’une session et ce que ça coûte, puis où partent tes prompts selon le backend, et les réglages pour couper le reste.</description><pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate><category>ClaudeCode</category><category>Sécurité</category></item><item><title>Les gateways MCP</title><link>https://heurisme.fr/blog/gateways-mcp/</link><guid isPermaLink="true">https://heurisme.fr/blog/gateways-mcp/</guid><description>Une ligne par couple agent-serveur, ou une seule correspondance. Ce qu’une gateway MCP prend en charge, ce que font les offres point par point, et les risques qui restent.</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate><category>AgentsIA</category><category>Sécurité</category></item><item><title>Seul, ou à plusieurs agents ?</title><link>https://heurisme.fr/blog/seul-ou-plusieurs-agents/</link><guid isPermaLink="true">https://heurisme.fr/blog/seul-ou-plusieurs-agents/</guid><description>Les cinq façons de faire travailler plusieurs agents avec Claude Code, en brigade de cuisine. Ce que chacune coûte, ce qu’on y voit, et comment choisir.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><category>ClaudeCode</category><category>AgentsIA</category></item><item><title>Prompt injection : ce qui l’arrête, couche par couche</title><link>https://heurisme.fr/blog/prompt-injection/</link><guid isPermaLink="true">https://heurisme.fr/blog/prompt-injection/</guid><description>Les trois conditions d’une fuite, les points d’entrée, six couches de défense dans Claude Code, leurs limites et les réglages qui ferment les trous.</description><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate><category>ClaudeCode</category><category>Sécurité</category></item><item><title>Configurer et étendre Claude Code</title><link>https://heurisme.fr/blog/configurer-claude-code/</link><guid isPermaLink="true">https://heurisme.fr/blog/configurer-claude-code/</guid><description>CLAUDE.md, settings, skills, subagents, hooks et permissions. Où écrire une consigne, quoi ajouter et quand, et ce qui décide vraiment d’un appel d’outil.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate><category>ClaudeCode</category><category>Sécurité</category></item><item><title>Claude Code, du terminal à la plateforme</title><link>https://heurisme.fr/blog/claude-code-agent-autonome/</link><guid isPermaLink="true">https://heurisme.fr/blog/claude-code-agent-autonome/</guid><description>Le même agent, lancé par un humain, par un événement ou par un service, dans une infra qui le cadre.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate><category>ClaudeCode</category><category>AgentsIA</category></item><item><title>Les classifieurs qui surveillent un agent LLM</title><link>https://heurisme.fr/blog/classifieur/</link><guid isPermaLink="true">https://heurisme.fr/blog/classifieur/</guid><description>Une page piégée fait fuiter ~/.aws/credentials par un curl. Où placer un classifieur pour l’arrêter, comment régler son seuil, pourquoi la plupart des alertes sont fausses, ce que couvrent Claude Code, Bedrock et Azure, et ce que le fournisseur du LLM filtre de son côté.</description><pubDate>Tue, 25 Aug 2026 00:00:00 GMT</pubDate><category>Sécurité</category></item><item><title>Supply chain des dépendances</title><link>https://heurisme.fr/blog/supply-chain-dependances/</link><guid isPermaLink="true">https://heurisme.fr/blog/supply-chain-dependances/</guid><description>Un install exécute du code écrit par des inconnus. Cinq couches pour choisir ce qui entre et quand, en Node comme en Python, avec huit attaques réelles.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate><category>Sécurité</category></item><item><title>OpenSpec, se mettre d&apos;accord avec l&apos;agent avant qu&apos;il code</title><link>https://heurisme.fr/blog/guide-openspec/</link><guid isPermaLink="true">https://heurisme.fr/blog/guide-openspec/</guid><description>Guide pratique du spec-driven development avec OpenSpec et Claude Code, du plan relu à la spec archivée.</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate><category>ClaudeCode</category><category>Méthode</category></item><item><title>Le juge LLM qui préfère la réponse la plus longue</title><link>https://heurisme.fr/blog/llm-juge-biais/</link><guid isPermaLink="true">https://heurisme.fr/blog/llm-juge-biais/</guid><description>Biais de position et biais de longueur d’un LLM qui en note un autre, mesurés sur 30 paires de réponses DevOps et réseau avec deux juges en local. Puis les parades, mesurées elles aussi : deux ordres, grille de critères, référence, sortie structurée.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><category>AgentsIA</category><category>LLM</category></item><item><title>JSON, YAML ou CSV : ce que coûte un prompt</title><link>https://heurisme.fr/blog/tokens-format/</link><guid isPermaLink="true">https://heurisme.fr/blog/tokens-format/</guid><description>Les mêmes 100 lignes coûtent jusqu’à 3,2 fois plus de tokens selon leur format. Découpage token par token, six formats comptés avec quatre tokenizers, le français contre l’anglais, le prix des nombres et des UUID, puis 10 questions posées à un modèle local avec chaque format.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><category>AgentsIA</category><category>LLM</category></item><item><title>Un job à 2 h 30, la nuit du changement d’heure</title><link>https://heurisme.fr/blog/job-planifie-changement-heure/</link><guid isPermaLink="true">https://heurisme.fr/blog/job-planifie-changement-heure/</guid><description>Deux fois 2 h 30 en octobre, aucune en mars. Ce que font cron, systemd, un CronJob Kubernetes et EventBridge Scheduler, sur des sorties réelles de cronie, systemd-analyze et robfig/cron.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate><category>Méthode</category><category>AWS</category></item><item><title>Même prompt, deux réponses</title><link>https://heurisme.fr/blog/llm-meme-prompt/</link><guid isPermaLink="true">https://heurisme.fr/blog/llm-meme-prompt/</guid><description>Temperature à 0 et pourtant deux réponses différentes. Logits, softmax, temperature, top-p et seed mesurés sur un modèle local, 50 essais par réglage, la non-associativité des flottants et l’effet du batch, puis ce qu’il faut en tirer pour tester un agent.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate><category>AgentsIA</category><category>LLM</category></item><item><title>Les avions au-dessus de chez soi : ce qu’ils émettent sur 1090 MHz</title><link>https://heurisme.fr/blog/adsb-1090/</link><guid isPermaLink="true">https://heurisme.fr/blog/adsb-1090/</guid><description>Un message ADS-B de 112 bits ouvert champ par champ. Démodulation PPM d’un vrai enregistrement IQ, CRC-24 recalculé, indicatif en 6 bits, altitude, position CPR pas à pas avec ses trames paire et impaire, vitesse, et deux décodeurs qui concordent.</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate><category>Embarqué</category><category>Radio</category></item><item><title>Packet radio : ce qui passe vraiment dans l’air</title><link>https://heurisme.fr/blog/ax25-aprs/</link><guid isPermaLink="true">https://heurisme.fr/blog/ax25-aprs/</guid><description>La trame AX.25 octet par octet, le FCS, le bit stuffing, l’AFSK 1200, les digipeaters et KISS, suivis d’une position APRS depuis l’indicatif jusqu’à la tonalité.</description><pubDate>Tue, 09 Dec 2025 00:00:00 GMT</pubDate><category>Embarqué</category><category>Radio</category></item><item><title>Le GPS met 30 secondes à savoir où il est</title><link>https://heurisme.fr/blog/gps-premier-fix/</link><guid isPermaLink="true">https://heurisme.fr/blog/gps-premier-fix/</guid><description>Deux vrais logs NMEA 0183 décodés champ par champ (GGA, RMC, GSA, GSV, checksum XOR). Le signal arrive vite, l&apos;orbite non. Le message de navigation à 50 bit/s, la trame de 30 s, les éphémérides, l&apos;almanach de 12,5 minutes, et ce que changent les démarrages à froid, tiède, chaud et l&apos;A-GPS.</description><pubDate>Tue, 25 Nov 2025 00:00:00 GMT</pubDate><category>Embarqué</category></item><item><title>DMX512 : 512 octets, 44 fois par seconde</title><link>https://heurisme.fr/blog/dmx512-512-octets/</link><guid isPermaLink="true">https://heurisme.fr/blog/dmx512-512-octets/</guid><description>Le protocole qui pilote les projecteurs de scène depuis 1986. RS-485, BREAK et MAB, adressage, RDM, Art-Net et sACN, et ce qu’il faut pour lui parler depuis du code.</description><pubDate>Tue, 14 Oct 2025 00:00:00 GMT</pubDate><category>Embarqué</category></item><item><title>Le cold start Lambda, phase par phase</title><link>https://heurisme.fr/blog/cold-start-lambda/</link><guid isPermaLink="true">https://heurisme.fr/blog/cold-start-lambda/</guid><description>Où part le temps avant la première ligne du handler. Les phases INIT, INVOKE et SHUTDOWN, la facturation de l’INIT depuis le 1er août 2025, le poids des imports, la mémoire, la provisioned concurrency et SnapStart.</description><pubDate>Tue, 09 Sep 2025 00:00:00 GMT</pubDate><category>AWS</category></item><item><title>UART à 115200 bauds, à 2 % près</title><link>https://heurisme.fr/blog/uart-erreur-bauds/</link><guid isPermaLink="true">https://heurisme.fr/blog/uart-erreur-bauds/</guid><description>Une liaison série marche à 9600 bauds et affiche des caractères faux à 115200. Trame, échantillonnage 16x, diviseur entier et erreur de débit selon le quartz, cumul jusqu&apos;au bit de stop, framing error. Récepteur simulé d&apos;après la datasheet ATmega328P et vraies captures décodées par sigrok-cli.</description><pubDate>Tue, 26 Aug 2025 00:00:00 GMT</pubDate><category>Embarqué</category></item><item><title>Human in the loop ou over the loop</title><link>https://heurisme.fr/blog/human-in-the-loop/</link><guid isPermaLink="true">https://heurisme.fr/blog/human-in-the-loop/</guid><description>Approuver chaque action de l’agent, ou superviser le système ?</description><pubDate>Tue, 08 Jul 2025 00:00:00 GMT</pubDate><category>AgentsIA</category><category>Sécurité</category><category>Gouvernance</category></item><item><title>Ce qui invalide le prompt caching d’un agent</title><link>https://heurisme.fr/blog/prompt-caching-agent/</link><guid isPermaLink="true">https://heurisme.fr/blog/prompt-caching-agent/</guid><description>Le cache divise la facture d’un agent au moins par dix, tant que le préfixe ne bouge pas d’un octet. Quatre pièges qui l’invalident, et comment le mesurer.</description><pubDate>Tue, 10 Jun 2025 00:00:00 GMT</pubDate><category>ClaudeCode</category><category>AgentsIA</category><category>LLM</category></item><item><title>LoRa : pourquoi 20 octets prennent plus d’une seconde</title><link>https://heurisme.fr/blog/lora-temps-antenne/</link><guid isPermaLink="true">https://heurisme.fr/blog/lora-temps-antenne/</guid><description>Le temps d’antenne d’un message LoRa de 20 octets, de SF7 à SF12, puis la règle européenne du duty cycle à 1 % et la Fair Use Policy de TTN. Tout est calculé, aucune radio.</description><pubDate>Tue, 13 May 2025 00:00:00 GMT</pubDate><category>Embarqué</category><category>Radio</category></item><item><title>Modbus RTU : le silence entre les trames</title><link>https://heurisme.fr/blog/modbus-rtu-silence/</link><guid isPermaLink="true">https://heurisme.fr/blog/modbus-rtu-silence/</guid><description>Sur une paire RS-485, aucun caractère ne marque le début ou la fin d&apos;une trame, seulement du silence. t1.5, t3.5, le CRC, les exceptions, et pourquoi le latency timer d&apos;un adaptateur USB FTDI coupe une trame en deux.</description><pubDate>Tue, 08 Apr 2025 00:00:00 GMT</pubDate><category>Embarqué</category></item><item><title>terraform test : ce que le mock voit au plan, et à l’apply</title><link>https://heurisme.fr/blog/terraform-test-mock/</link><guid isPermaLink="true">https://heurisme.fr/blog/terraform-test-mock/</guid><description>Un mock_provider teste un module sans cloud, mais une valeur de defaults n’existe pas encore au plan. Le piège, trois parades et quel run écrire.</description><pubDate>Tue, 11 Mar 2025 00:00:00 GMT</pubDate><category>IaC</category></item><item><title>ESP-NOW : des ESP32 qui se parlent sans routeur</title><link>https://heurisme.fr/blog/esp-now-sans-routeur/</link><guid isPermaLink="true">https://heurisme.fr/blog/esp-now-sans-routeur/</guid><description>Pas de point d’accès, pas d’IP. La trame 802.11, les peers, le canal imposé par le routeur, le chiffrement, le sommeil et les relais, d’après la doc ESP-IDF v5.4.</description><pubDate>Tue, 11 Feb 2025 00:00:00 GMT</pubDate><category>Embarqué</category></item><item><title>Bus CAN : l’ID le plus bas gagne, sans collision</title><link>https://heurisme.fr/blog/bus-can-arbitrage/</link><guid isPermaLink="true">https://heurisme.fr/blog/bus-can-arbitrage/</guid><description>Arbitrage bit à bit, ET câblé, format de trame, stuffing, CRC-15, ACK et compteurs d’erreurs, recalculés sur une trame d’exemple. Bus et erreurs simulés, pas de matériel CAN.</description><pubDate>Tue, 14 Jan 2025 00:00:00 GMT</pubDate><category>Embarqué</category></item><item><title>Lire un AccessDenied AWS</title><link>https://heurisme.fr/blog/lire-un-accessdenied-aws/</link><guid isPermaLink="true">https://heurisme.fr/blog/lire-un-accessdenied-aws/</guid><description>La fin du message dit quelle couche de policy a refusé. L’ordre d’évaluation, les phrases de la doc, les clés de condition absentes, KMS et les outils.</description><pubDate>Tue, 10 Dec 2024 00:00:00 GMT</pubDate><category>Sécurité</category><category>AWS</category></item><item><title>SSM Session Manager : un shell sans aucun port ouvert</title><link>https://heurisme.fr/blog/ssm-sans-port-ouvert/</link><guid isPermaLink="true">https://heurisme.fr/blog/ssm-sans-port-ouvert/</guid><description>Pas de règle inbound, pas de bastion, pas de clé, et pourtant un shell. Les connexions sortantes de l’agent, les VPC endpoints, KMS, les logs et le diagnostic.</description><pubDate>Tue, 19 Nov 2024 00:00:00 GMT</pubDate><category>Sécurité</category><category>AWS</category></item><item><title>Ports source épuisés : EADDRNOTAVAIL, TIME_WAIT et NAT Gateway</title><link>https://heurisme.fr/blog/ports-source-epuises/</link><guid isPermaLink="true">https://heurisme.fr/blog/ports-source-epuises/</guid><description>Cent connexions passent, la suivante échoue avec EADDRNOTAVAIL. Pourquoi TIME_WAIT garde les ports 60 s, ce que changent le keep-alive et tcp_tw_reuse, et la même limite sur la NAT Gateway AWS (chiffres tirés de la doc AWS, rien n’a été créé).</description><pubDate>Tue, 15 Oct 2024 00:00:00 GMT</pubDate><category>AWS</category><category>Réseau</category></item><item><title>Exit 137 : qui a tué le conteneur ?</title><link>https://heurisme.fr/blog/exit-137-oom/</link><guid isPermaLink="true">https://heurisme.fr/blog/exit-137-oom/</guid><description>Le code 137 dit SIGKILL, pas qui l&apos;a envoyé. OOM de la cgroup v2, docker stop et son délai, kill -9 : les traces de chaque suspect (memory.events, dmesg, oom_score_adj), mesurées sur Docker 29.4.2.</description><pubDate>Tue, 10 Sep 2024 00:00:00 GMT</pubDate><category>Linux</category></item><item><title>I²C : qui tient l’horloge</title><link>https://heurisme.fr/blog/i2c-horloge/</link><guid isPermaLink="true">https://heurisme.fr/blog/i2c-horloge/</guid><description>Un capteur I²C qui répond une fois sur deux. Collecteur ouvert, pull-up et temps de montée, START, adresse 7 bits, ACK et NACK, puis 65 ms de clock stretching mesurées sur une vraie capture, et un maître qui ne le respecte pas.</description><pubDate>Tue, 27 Aug 2024 00:00:00 GMT</pubDate><category>Embarqué</category></item><item><title>Pourquoi pip compile au lieu d’installer un wheel</title><link>https://heurisme.fr/blog/pip-wheel-ou-compilation/</link><guid isPermaLink="true">https://heurisme.fr/blog/pip-wheel-ou-compilation/</guid><description>Même paquet, même commande, un fichier différent sur chaque machine. Les tags d’un wheel, la glibc, le sdist et uv, sur des sorties réelles de pip et des images Lambda.</description><pubDate>Tue, 16 Jul 2024 00:00:00 GMT</pubDate><category>AWS</category></item><item><title>Le process qui survit à kill -9</title><link>https://heurisme.fr/blog/process-etat-d/</link><guid isPermaLink="true">https://heurisme.fr/blog/process-etat-d/</guid><description>Un dd bloqué sur un disque qui ne répond plus, en état D. Ce que le noyau fait du SIGKILL, comment le voir (wchan, SigPnd), load average, TASK_KILLABLE, NFS hard et soft.</description><pubDate>Tue, 25 Jun 2024 00:00:00 GMT</pubDate><category>Linux</category></item><item><title>SSH passe, git clone se fige</title><link>https://heurisme.fr/blog/pmtud-trou-noir/</link><guid isPermaLink="true">https://heurisme.fr/blog/pmtud-trou-noir/</guid><description>Le trou noir PMTUD, rejoué sur un banc de test réel. Un transfert HTTP de 2 Mo se fige quand un pare-feu jette l’ICMP « fragmentation needed ». Mesures avec tcpdump, tracepath et ss, MSS clamping, PLPMTUD et IPv6.</description><pubDate>Tue, 28 May 2024 00:00:00 GMT</pubDate><category>Réseau</category></item><item><title>Une URL S3 pré-signée, de l’intérieur</title><link>https://heurisme.fr/blog/url-s3-pre-signee/</link><guid isPermaLink="true">https://heurisme.fr/blog/url-s3-pre-signee/</guid><description>D’où viennent les 64 caractères de la signature, ce qu’ils protègent et pourquoi S3 refuse parfois l’URL. Calcul SigV4 refait à la main sur des sorties de botocore.</description><pubDate>Tue, 23 Apr 2024 00:00:00 GMT</pubDate><category>Sécurité</category><category>AWS</category></item><item><title>Lire un plan Terraform</title><link>https://heurisme.fr/blog/lire-un-plan-terraform/</link><guid isPermaLink="true">https://heurisme.fr/blog/lire-un-plan-terraform/</guid><description>Deux mille lignes, et une dizaine qui comptent. Six symboles, les remplacements qui ne disent pas pourquoi, les moved oubliés et un secret en clair, sur des sorties réelles.</description><pubDate>Tue, 19 Mar 2024 00:00:00 GMT</pubDate><category>Sécurité</category><category>IaC</category></item><item><title>CRLF : ce que Git stocke, ce qu’il écrit sur le disque</title><link>https://heurisme.fr/blog/crlf-dans-git/</link><guid isPermaLink="true">https://heurisme.fr/blog/crlf-dans-git/</guid><description>Trois copies d’un même fichier, des fins de ligne différentes. core.autocrlf, .gitattributes, la renormalisation et le shebang en CRLF, sur des sorties réelles de git.</description><pubDate>Tue, 13 Feb 2024 00:00:00 GMT</pubDate><category>Méthode</category></item></channel></rss>