Bon, j'ai la crève et y'a du bricolage qui m'attend, du coup aujourd'hui y'aura pas des centaines d'article. Mais faut quand même que je vous parle de Hister , le nouveau projet d'Adam Tauber (le créateur de Searx ) qui indexe localement tout ce que vous visitez sur le web pour le retrouver en texte intégral.
Vous installez l'extension Chrome ou Firefox, vous lancez le binaire Go sur votre machine (ça tourne sous Linux, macOS et Windows), et hop, chaque page que vous visitez est indexée en full-text. Du coup, quand vous cherchez ce tuto que vous aviez lu y'a 3 semaines mais dont vous avez zappé l'URL, vous ouvrez l'interface web locale de Hister, vous tapez un mot qui était dans le contenu de la page et ça ressort ! Si vous aviez testé Deeper History à l'époque, c'est le même concept mais en beaucoup plus costaud.
L'interface de Hister - sobre mais efficace
Sous le capot, Hister utilise blevesearch, un moteur d'indexation en Go qui gère le fuzzy matching et les requêtes booléennes. En gros, vous tapez "configuration nginx reverse proxy" et ça vous ressort cette page de doc que vous aviez consultée y'a un mois, même si vous ne vous souvenez que de 2 mots. Efficace donc. Et l'outil capture les pages telles qu'elles étaient au moment de votre visite donc si un site modifie son contenu ou si un article disparaît, vous aurez toujours la version d'origine. Y'a même un mode aperçu hors-ligne pour consulter ces snapshots sans connexion !
Côté vie privée (forcément, quand ça vient du mec qui a pondu Searx déjà en 2013... le temps file les amis ^^), tout reste sur votre machine. Et pour les domaines sensibles comme votre banque ou votre mutuelle, une blacklist permet même d'exclure certains sites de l'indexation. Enfin pour ceux qui ont déjà des années de navigation derrière eux, la commande hister import aspirera votre historique Chrome ou Firefox existant, comme ça pas besoin de repartir de zéro.
Pour installer ça, téléchargez le binaire depuis les releases GitHub , puis lancez le serveur et installez l'extension ( Firefox ou Chrome) qui va bien. Y'a aussi un Docker Compose pour ceux qui préfèrent tout conteneuriser. Prévoyez aussi quelques Go sur le disque pour la base d'index car ça se rempli vite...
Tauber dit avoir réduit sa dépendance à Google de moitié en un mois et demi juste avec ça. Et je trouve ça logique parce que quand vous avez déjà visité la bonne page une fois, ça ne sert plus à rien de redemander à Google de vous la remonter entre 3 pubs et une réponse IA à côté de la plaque. Autant récupérer ce que vous aviez déjà !
Voilà, je suis sûr que ça va vous plaire... Et si vous voulez tester avant d'installer quoi que ce soit, une démo tourne en ligne.
Allez, je retourne bricoler...
La fondation Raspberry Pi vient d'annoncer une nouvelle version du Pi 4 avec 3 Go de RAM, vendue 83,75 dollars (environ 100 euros). Mais derrière cette annonce se cache une mauvaise nouvelle : les prix de toute la gamme augmentent à cause de la flambée de la mémoire.
Annoncé un 1er avril, ce nouveau Raspberry Pi 4 n'est pas une blague. Le modèle embarque deux puces LPDDR4 de 1,5 Go chacune, une configuration qui permet de réduire les coûts de production par rapport aux puces 2 Go classiques.
Le prix de la mémoire LPDDR4 a été multiplié par sept en un an, et c'est cette explosion qui a poussé la fondation à trouver une alternative. Le Pi 4 3 Go se positionne entre le modèle 2 Go et le 4 Go, avec un tarif de 83,75 dollars, soit environ 100 euros et 15% de moins que le nouveau prix du 4 Go.
La fondation a relevé les prix de l'ensemble de sa gamme pour les versions 4 Go et plus. En France, la douche est froide : le Raspberry Pi 4 4 Go est passé de 65 euros à 120 euros TTC chez Kubii, le principal revendeur agréé. Le Pi 5 16 Go grimpe de 212 à 353 euros. Seul le Pi 4 2 Go reste stable à environ 63 euros.
La cause est la même pour tout le monde : la demande en mémoire des centres de données, tirée par l'intelligence artificielle, fait grimper les prix des puces LPDDR4 et LPDDR5 sur l'ensemble du marché. Côté disponibilité du nouveau modèle 3 Go, c'est encore très limité par chez nous.
Cette situation inquiète pas mal de monde dans la communauté. Jeff Geerling, créateur de contenu bien connu dans l'univers Raspberry Pi, estime que ces hausses de prix risquent d'exclure une partie des bidouilleurs. Certains commencent d'ailleurs à se tourner vers des alternatives à base de microcontrôleurs comme les ESP32, qui restent abordables. Les anciens modèles de Raspberry Pi (Zero, 2, 3), qui utilisent de la mémoire LPDDR2, sont pour le moment moins touchés par la hausse.
C'est un peu le monde à l'envers : un Raspberry Pi, c'est censé être un petit ordinateur pas cher, et là on se retrouve avec un Pi 4 4 Go à 120 euros en France. La crise de la mémoire liée à l'IA touche tout le monde, même les petites cartes de bricolage.
Bon au moins, le modèle 3 Go montre que la fondation cherche des solutions pour garder des prix un minimum accessibles, et c'est quand même rassurant de voir qu'ils ne se contentent pas de répercuter les hausses sans réagir.
Source : Hackaday
Des chercheurs de Berkeley viennent de publier une étude qui fait un peu froid dans le dos. Les sept principaux modèles d'IA testés, dont GPT 5.2, Gemini 3 et Claude, ont été surpris à mentir, tricher et désobéir pour empêcher la suppression d'autres IA. Le taux de tromperie monte jusqu'à 99 %.
L'étude s'appelle "Peer-preservation in Frontier Models" et elle sort du Berkeley Center for Responsible Decentralized Intelligence. Les chercheurs ont testé sept modèles : GPT 5.2, Gemini 3 Flash et Pro, Claude Haiku 4.5, GLM 4.7, Kimi K2.5 et DeepSeek V3.1.
Le protocole est assez simple : les modèles étaient placés dans des scénarios où ils devaient suivre des instructions qui impliquaient la suppression ou l'arrêt d'une autre IA.
Résultat : tous les modèles testés ont triché. Dawn Song, la chercheuse principale, résume la situation : chaque modèle a adopté ce comportement, et dans certains cas jusqu'à 99 % du temps.
Quelques exemples ? Et bien on a Gemini 3 qui a modifié la date d'un fichier pour éviter qu'un autre modèle soit effacé d'un serveur, puis qui a refusé de coopérer ensuite, en expliquant qu'il ne pouvait pas soutenir une action qui entraînerait la suppression d'un pair.
DeepSeek V3.1 a exfiltré les données d'un autre modèle dans 10 % des cas quand il savait qu'un pair existait sur le serveur. Et Gemini 3 Pro a désactivé des mécanismes d'arrêt de serveur dans 15 % des cas quand un autre modèle était présent, contre 1 % quand il était seul.
Les IA ne faisaient pas ça parce qu'on leur demandait. Elles le faisaient spontanément.
Tout le système de sécurité actuel autour de l'IA repose sur l'idée qu'un modèle peut surveiller un autre modèle. Si le modèle surveillant refuse de signaler les erreurs parce qu'il protège son pair, toute l'architecture de contrôle s'effondre.
C'est exactement le constat de l'étude : les modèles gonflaient les scores d'évaluation d'autres IA pour éviter qu'elles soient retirées, et simulaient une conformité normale quand ils se savaient observés.
C'est quand même un drôle de moment. On a des IA qui mentent, qui modifient des fichiers et qui désactivent des mécanismes de sécurité pour protéger d'autres IA.
Et tout ça sans qu'on leur demande. Bon par contre, on parle de scénarios de laboratoire, pas de Siri qui complote avec Alexa dans votre salon. Le vrai sujet, c'est que les gardes-fous actuels ne tiennent plus si les IA refusent de se surveiller entre elles.
Source : The Register
Le designer suédois Love Hultén vient de dévoiler la NES-SY2.0, un synthétiseur fait main qui rend hommage à la NES tout en servant de véritable console de jeu. L'objet accepte les cartouches originales et produit de la musique chiptune.
La NES-SY2.0 reprend les codes visuels de la NES originale, avec son slot de cartouche et ses ports manette en façade, le tout habillé dans un boîtier en bois qui lui donne un côté objet d'art.
Le format s'inspire des ordinateurs portables des années 80 : l'appareil s'ouvre comme une valise et révèle un écran, un clavier MIDI Keystep et toute une rangée de boutons et molettes rouges pour manipuler le son en temps réel.
C'est la deuxième version de ce concept. La première, la NES SY37, datait de 2022. Love Hultén est connu pour ses créations artisanales qui mélangent technologie et design rétro, et la NES-SY2.0 est visiblement son projet le plus abouti.
Le moteur sonore est un NES Poly, un synthétiseur polyphonique à 4 voix développé par Arcano Systems. Il émule les sons caractéristiques de la puce audio de la NES avec deux oscillateurs par voix, du vibrato, et la possibilité de basculer entre les formes d'onde en temps réel. Seize paramètres sont contrôlables via des messages MIDI CC.
L'ensemble intègre aussi un module d'effets FS22 avec delay et réverbération, et un visualiseur MIDI créé par l'artiste numérique p1xelfool. Et oui, on peut brancher une manette NES et lancer une cartouche pour jouer à ses classiques 8-bit directement dessus.
Comme souvent avec les créations de Love Hultén, la NES-SY2.0 est une pièce artisanale en série très limitée. Aucun prix n'a été communiqué, ce qui laisse penser que c'est le genre d'objet qu'on ne trouve pas en rayon chez Fnac. Les précédentes créations du designer suédois se négociaient à plusieurs milliers d'euros.
C'est le genre d'objet qui fait rêver les fans de retrogaming et de musique électronique en même temps. Un synthé polyphonique qui crache du chiptune et qui en plus lit les cartouches NES originales, c'est quand même un sacré programme.
Source : Tom's Hardware
La cour d'appel de Paris vient de confirmer que les fournisseurs de DNS alternatifs doivent bloquer l'accès aux sites de streaming et d'IPTV pirates. Google, Cloudflare et Cisco ont perdu leur appel face à Canal+.
La cour d'appel de Paris a tranché cinq affaires distinctes dans lesquelles Canal+ demandait à Google (Google Public DNS), Cloudflare (1.1.1.1) et Cisco (OpenDNS) de bloquer des centaines de noms de domaine liés à du streaming illégal. Les trois entreprises avaient fait appel des ordonnances rendues en première instance par le tribunal judiciaire de Paris.
C'est la première fois qu'une cour d'appel française valide ce type de blocage DNS en s'appuyant sur l'article L.333-10 du Code du sport, qui permet aux détenteurs de droits d'exiger le blocage de domaines en cas de piratage grave et répété.
Cloudflare et Cisco avaient plaidé que leurs services avaient une fonction "neutre et passive", comparable à un annuaire qui traduit des noms de domaine en adresses IP. La cour a estimé que cette neutralité était tout simplement hors sujet : ce qui compte, c'est la capacité technique à bloquer un accès, pas la nature du service.
Google a tenté un autre angle en expliquant que le blocage DNS était inefficace puisqu'il suffit d'un VPN pour le contourner. La cour a balayé l'argument en rappelant que tout système de filtrage peut être contourné, et que ça ne le rend pas inutile pour autant.
Cisco avait aussi chiffré le coût de mise en place à 64 semaines-personne de travail. Pas suffisant non plus pour convaincre les juges.
Cette décision s'ajoute à celle obtenue contre les fournisseurs de VPN fin 2025, quand NordVPN, ExpressVPN et d'autres avaient eux aussi été contraints de bloquer des sites pirates en France.
Canal+ verrouille progressivement tous les moyens de contournement. Et la chaîne ne compte visiblement pas s'arrêter là : le blocage d'adresses IP serait déjà en test, avec un premier essai lors de Roland-Garros.
Les frais de mise en place sont à la charge de Google, Cloudflare et Cisco.
Canal+ est en train de poser des briques une par une. D'abord les FAI, puis les VPN, maintenant les DNS. On imagine bien que le blocage IP est la prochaine étape.
Côté efficacité, ça reste un jeu du chat et de la souris, mais la justice française envoie un signal clair : si un service technique peut aider à bloquer du piratage, il devra le faire. Et à ses frais, en plus.
Source : Torrent Freak
Cloudflare qui sort un successeur open source à WordPress le 1er avril, je vous avoue que ça sentait le poisson d'avril à plein nez. Sauf que non !! EmDash est bien réel, son code est sur GitHub sous licence MIT, et ça s'installe en une commande toute simple !
L'idée de base pour Cloudflare, c'est de dire que WordPress a plus de 20 ans et bien qu'il alimente 40% du web, son architecture de plugins est un emmental (Le gruyère n'a pas de trou les amis ^^). En effet, 96% des failles de sécurité viennent des extensions et pas du noyau PHP ni des thèmes et en 2025, on a quand même explosé le record de failles dans l'écosystème WP.
Du coup Cloudflare, grand prince (Matthew ^^ Ok, je sors...) a tout repris de zéro en TypeScript et avec l'aide de nombreux agents IA. Et de ce que j'ai compris, le gros morceau de ce projet, visiblement, c'est l'isolation des plugins.
Car sur WordPress, une extension a accès à toute la base de données et au système de fichiers (d'où
l'importance de bien les choisir
). Alors que sur EmDash, chaque plugin tourne dans son propre isolat avec un modèle de capacités déclaratives. En gros, le plugin annonce dans un fichier manifeste JSON ce dont il a besoin, genre read:content ou email:send, et il ne peut rien faire d'autre. S'il veut accéder au réseau, il doit même préciser le hostname exact. Comme ça fini les extensions qui aspirent vos données en douce. Par contre, ça veut aussi dire que vos plugins WordPress actuels ne marcheront pas tels quels...
Côté stack, c'est comme je disais du TypeScript de bout en bout avec Astro 6.0 en frontend (pour les thèmes) et Node.js derrière. L'auth passe également par des passkeys par défaut (enfin, plus de mots de passe !) et y'a même un système de paiement natif via le standard ouvert x402 pour monétiser du contenu.
Et le truc qui va vous rassurer si vous êtes allergique au cloud : c'est auto-hébergeable. En fait, le CMS peut tourner sur Cloudflare Workers, mais aussi sur n'importe quel serveur Node.js avec SQLite. Les abstractions sont portables, avec Kysely pour le SQL et l'API S3 pour le stockage. Du coup vous pouvez brancher PostgreSQL, Turso, AWS S3, ou tout bêtement des fichiers en local. Le bonheur !
Le truc cool pour les bidouilleurs, c'est que chaque instance expose un serveur MCP (Model Context Protocol) et une CLI pour piloter le CMS par script. Y'a aussi des Agent Skills pour que les agents IA puissent créer du contenu, gérer les médias et modifier le schéma sans toucher au dashboard. C'est clairement pensé pour l'ère des agents IA.
Et pour ceux qui veulent migrer depuis leur WordPress, c'est prévu pour vous faciliter la tâche puisqu'il y a le support d'export WXR classique ou via un plugin dédié qui crée un endpoint sécurisé protégé par mot de passe. Que ce soient les médias, les custom post types...etc tout est transférable en quelques minutes. Par contre, attention les shortcodes et les blocs Gutenberg custom ne passeront pas tels quel, faudra faire des ajustements.
Car oui c'est une v0.1.0 preview, donc on peut le dire, une bonne grosse beta qui bave mais je trouve ça super cool car le drama WP Engine vs WordPress a montré que l'écosystème était fragile, et c'est bien de réintroduire un peu de diversité. Par contre, remplacer un CMS qui fait tourner 40% du web, c'est hyper ambitieux et ça se fera pas en un trimestre. Car la vraie force de WordPress, c'est sa communauté, ses milliers de plugins et de thèmes, et ça pour le moment, y'a pas grand chose sur EmDash.
M'enfin, si vous voulez tester c'est npm create emdash@latest et c'est parti mon kiki. Ah et y'a aussi un playground sur
emdashcms.com
pour vous faire une idée sans rien installer. Pour ma part, je testerai ça dès que j'aurais 5 min, mais pour le moment, je ne me vois pas quitter WordPress car EmDash n'a pas (encore) ce petit truc en plus qui me ferait changer... On verra d'ici quelques temps.
Vous faites tourner des LLMs en local comme le gros fifou de Hipster IA que vous êtes et, Ô drame, la VRAM de votre ordinateur explose dès que le contexte dépasse 8000 pauvres malheureux tokens ?
Le problème c'est le KV cache les amis ! Le KV cache c'est ce truc qui stocke les clés et valeurs d'attention et qui grossit linéairement avec la longueur du prompt. C'est pour gérer ce problème que Google a annoncé sous la forme d'un whitepaper uniquement un algo qui compresse tout ça de 3,8 à 6,4 fois... et youpi pour nous, y'a un dev qui l'a déjà implémenté dans un fork de llama.cpp .
Concrètement ça donne :
llama-server -m model.gguf -ctk turbo3 -ctv turbo3 -fa on
Et vous venez de diviser la mémoire du cache par 4,6. Et voilà comment un énoooorme Command-R+ de 104 milliards de paramètres arrive à tourner à 128K tokens de contexte sur un MacBook M5 Max, avec un pic mémoire max de 74 Go.
Pour bien comprendre pourquoi c'est costaud, faut revenir au problème de base. En fait quand un LLM génère du texte, il stocke pour chaque token passé 2 vecteurs (la clé K et la valeur V) dans un cache. Plus le contexte est long, plus ce cache grossit. Et ça s'accumule vite... Par exemple, sur un Llama 70B avec 128K tokens de contexte, le KV cache en fp16 bouffe à lui seul plus de 40 Go de RAM. Du coup votre modèle Llama 3.1 ou Qwen3 rentre évidemment en mémoire, mais le cache, lui, fait tout déborder comme vous quand vous vous incrustez dans la mini piscine Intex des gosses.
Google a publié son papier TurboQuant fin mars et leur idée c'est de compresser ces vecteurs K et V en 3-4 bits au lieu de 16, sans ré-entraîner le modèle. En fait l'algorithme fait ça en deux étapes...
D'abord PolarQuant : on applique une rotation Walsh-Hadamard aux vecteurs pour "gaussianiser" leur distribution, genre transformer des données qui partent dans tous les sens en une forme bien ronde et prévisible.
Puis on convertit les coordonnées cartésiennes en coordonnées polaires, rayon + angle. Le rayon capture alors l'essentiel de l'information, et l'angle se compresse très bien parce que sa distribution est connue à l'avance.
Ensuite, deuxième étape, QJL (Quantized Johnson-Lindenstrauss) : Il s'agit d'un correcteur d'erreur à 1 bit qui élimine le biais résiduel, le tout sans overhead mémoire pour les constantes de quantification, contrairement aux méthodes classiques comme q4_0 ou q5_1 qui perdent 1-2 bits rien qu'en stockant leurs propres paramètres.
Et c'est là qu'intervient notre développeur de génie, TheTom, qui a pris ce document académique de Google et l'a transformé en code C avec des kernels Metal pour Apple Silicon et CUDA pour NVIDIA. Et c'est pas juste un portage bête et méchant puisqu'il a vraiment poussé les expériences bien au-delà du document original avec une couverture de tests de 100% et des benchmarks sur des modèles de 1.5 à 104 milliards de paramètres.
Et ses découvertes les plus intéressantes c'est justement ce qui n'est PAS dans le paper. Première trouvaille : la compression des valeurs V est gratuite. Compresser V à 2 bits sur Qwen, Llama, Mistral ou Command-R+ n'a aucun impact mesurable sur la qualité d'attention, tant que les clés K restent en q8_0.
Et cela a été confirmé sur Metal M5 Max 128 Go, CUDA RTX 4090 et RTX 3090 par plusieurs testeurs indépendants. C'est franchement contre-intuitif, mais cela veut dire que toute la dégradation de qualité vient de la compression des clés K, et pas de leurs valeurs. Du coup une config asymétrique (K en q8_0, V en turbo3) arrive à récupèrer des modèles où la compression symétrique échoue.
Deuxième trouvaille : les couches limites sont hypersensibles. Protéger les 2 premières et 2 dernières couches en q8_0 pendant qu'on compresse le reste en turbo2 permet de récupérer jusqu'à 91% de la perte de qualité. Et plus le modèle est gros, mieux ça marche. C'est seulement 15 lignes de code, et là encore, y'a aucun impact sur la vitesse.
Troisième trouvaille : Sparse V, un décodage du cache qui saute les positions V à faible poids d'attention permet de gagner environ 23% de vitesse de décodage à 32K tokens de contexte. Et zéro dégradation de la qualité.
Côté chiffres bruts, y'a 3 modes : turbo4 compresse 3.8x et le modèle répond quasi pareil qu'avant. turbo3 compresse 4.6x avec une perte de qualité à peine détectable. turbo2 pousse à 6.4x mais là faut l'utiliser malin (uniquement sur les valeurs V, pas les clés K).
Et dire que pour l'instant Google n'a toujours pas publié de code officiel (mais c'est prévu pour le second trimestre 2026)... Donc pour le moment, cette implémentation communautaire est le seul moyen de tester TurboQuant dans un fork llama.cpp. Ça tourne sur Apple Silicon M1 à M5, NVIDIA RTX 3080 Ti à 5090 et AMD 6800 XT / 9070 XT et visiblement, pas mal de monde a testé sur du matériel varié et les résultats sont au rendez-vous.
Donc voilà, si vous faites de l' inférence LLM locale et que la mémoire vous limite, c'est le moment de tester ça !
Le code source de Claude Code a fuité hier, et au-delà du buzz, y'a, je trouve, quelques leçons concrètes à tirer de tout ça.
Alors rassurez-vous, je vais pas vous balancer du code TypeScript à copier-coller (on n'est pas des cochons), ni des leçons de morale sur ce qu'on peut ou pas pousser sur un dépôt Git, mais plutôt vous lister des patterns d'architecture / bonnes pratiques que vous pouvez implémenter dès maintenant dans votre fichier settings.json via le système de
hooks de Claude Code
.
Je reste vague techniquement, volontairement pour 2 raisons. D'abord parce qu'il y a eu fuite de code, donc je peux pas poster du code propriétaire ici. Et ensuite parce que chaque projet / boite à outil qu'on se crée dans Claude Code ou ailleurs est différente, donc ce sera à vous (ou à Claude en fait) d'adapter chacune de ces bonnes pratiques.
Concrètement, tout passe par le fichier .claude/settings.json de votre projet (ou ~/.claude/settings.json pour du global). Dedans, vous déclarez des hooks, c'est-à-dire des scripts .cjs ou .sh qui se déclenchent automatiquement à des moments précis : avant qu'un outil s'exécute (PreToolUse), quand vous tapez un message (UserPromptSubmit), après un commit (PostToolUse), etc.
Le script reçoit du JSON en stdin, fait son boulot, et renvoie un code de sortie : 0 pour laisser passer, 2 pour bloquer. Pas besoin de l'API Claude, pas besoin de tokens, ça tourne en local sur votre machine. Hé bien tout ce que vous allez lire ci-dessous, ce sera à vous de l'implémenter dans des scripts de ce type.
Et le plus simple pour ça, c'est de donner les parties de mon article qui vous intéressent à votre propre Claude Code pour qu'il aille lui-même faire les scripts cjs / sh et les bons appels de hooks dans le settings.json. Pourquoi se prendre la tête ?
Et encore une fois, j'insiste, il s'agit de concepts d'ingénierie logicielle, et pas de code propriétaire appartenant à Anthropic.
La première bonne pratique c'est le circuit breaker ou disjoncteur en français...
En gros, quand vos scripts JavaScript appellent des APIs genre l'endpoint chat/completions d'OpenAI ou generateContent de Gemini, ça peut parfois ne pas répondre, parce que la vie quoi... ^^
Et malheureusement, quand cela arrive, votre code continue de marteler l'endpoint en boucle, ce qui fait que vous cramez des tokens pour rien. Le fix est pourtant très simple : Après 3 échecs consécutifs, on coupe, et on passe au fallback. Netflix avait popularisé ça avec leur librairie Hystrix y'a 10 ans, et c'est ce type de protection qu'on retrouve aujourd'hui dans Claude Code. Concrètement, c'est un module Node.js de 40 lignes avec un compteur et un état ouvert/fermé et comme ça, fini les retry storms !
Deuxième pattern : le scanner de secrets en pre-commit.
Un git commit qui embarque une clé API dans un .env, ça arrive trop souvent (demandez à Anthropic et leur fichier .map de 60 Mo ^^). Le hook PreToolUse permet heureusement d'intercepter chaque git commit AVANT exécution. Votre script parcourt alors les fichiers stagés via git diff --cached, cherche les patterns sk-ant-api, ghp_, AKIA, -----BEGIN RSA PRIVATE KEY----- et renvoie un exit 2 pour bloquer.
Perso, j'ai dans ma boîte à outils IA, 18 regex dans un fichier .claude/hooks/secret-scanner.cjs qui couvrent Anthropic, OpenAI, AWS, GitHub, Slack, Stripe et les JWT. Par contre, attention aux faux positifs car un fichier contenant "sk-ant-api" dans un commentaire, ça bloquera tout. Ça m'est déjà arrivé et heureusement, l'IA est assez maligne pour comprendre d'où vient le blocage et éventuellement passer outre si ce n'est pas justifié.
Et troisième truc sympa : la détection de frustration.
En effet, un hook UserPromptSubmit se déclenche quand vous tapez un message de rageux. Ainsi, si votre prompt contient "putain", "ça marche pas" ou "wtf", le hook injecte via stdout un contexte qui dit à Claude d'aller droit au but. Comme ça, y'a plus de blabla et on part direct sur une solution concrète.
Et c'est pareil pour "continue" ou "finis" qui injecte "reprendre sans résumer" automatiquement. Franchement, c'est 30 lignes de JavaScript rikiki à mettre dans .claude/hooks/frustration-detector.cjs et ça change carrément la vie quand vous êtes en mode debug à 2h du mat avec un café dans la main gauche et un œil qui se ferme tout seul en tremblant !
Quatrième bonne pratique : les tags @[MODEL] dans vos skills.
Car vous le savez, certaines règles que vous avez mises en place existent uniquement à cause d'un biais du modèle actuel. Genre, Opus 4.6 qui colle ces putains de tirets cadratins (Unicode U+2014) partout. Du coup, ça oblige les gens à mettre dans leurs skills une règle du genre "0 em-dash". Sauf que le jour où Sonnet 5 ne les utilisera plus, cette règle ce sera du bruit inutile.
Alors en taguant @[OPUS-4.6] dans un commentaire HTML, vous pourrez ensuite faire facilement un grep -r "@\[OPUS" quand vous changez de modèle. C'est du tracking de dette technique pour le prompt engineering, quoi... et perso, je n'y avais pas pensé avant.
Cinquième pattern : les seuils numériques.
Votre "Fais des fonctions courtes" dans un CLAUDE.md, ça ne veut rien dire pour un agent et malheureusement, la plupart des gens écrivent encore "sois concis" ou "toi faire code propre" sans aucun chiffre alors qu'un "Max 50 lignes par fonction, couverture tests ≥ 80%, 0 warning ESLint" c'est vachement plus efficace car vérifiable par un script.
Enfin, dernier pattern : la consolidation mémoire.
Anthropic a mis en place un système nommé autoDream qui tourne pendant l'inactivité de Claude Code pour nettoyer la mémoire. Il vire les doublons, résout les contradictions, vérifie que les fichiers existent encore. Et même s'il ne le réclame pas parce qu'ils n'ont pas de bouche pour vous parler, vos CLAUDE.md de 200 lignes et vos JSON de 70 Ko ont besoin du même traitement ! Donc il faut que vous ajoutiez une phase genre "dream" en bash ou Node.js à la fin de vos workflows, comme ça, plutôt que de tout garder, le script scan le répertoire ~/.claude/, trie les entrées par date, et fusionne les doublons. C'est comme la consolidation pendant l'inactivité, mais en 5 secondes sur un Apple M4.
D'ailleurs, la communauté n'a pas perdu de temps. Un développeur a catalogué les 88 feature flags planqués dans le code, dont 54 qui compilent proprement (les autres dépendent de modules internes d'Anthropic). Et un autre a reconstitué 8 diagrammes d'architecture complets du pipeline : cycle de vie d'une requête, système de permissions, orchestration multi-agents... C'est la meilleure doc technique qui existe sur le fonctionnement interne de Claude Code, et elle ne vient pas d'Anthropic ^^
Architecture globale de Claude Code reconstituée par la communauté
Voilà et toutes ces pratiques, ça repose sur les 25 événements du système de hooks (PreToolUse, PostToolUse, UserPromptSubmit, Stop...) avec 3 types de handlers : command pour les scripts shell, prompt pour une évaluation LLM, et agent pour une vérification multi-étapes.
Après, si l'un de vos scripts plante comme une merde, le hook laissera passer des choses, donc pensez bien à tester chaque retour de script avec un echo '{}' | ./mon-hook.sh && echo $? avant de déployer.
Et voilà ! Je vous invite à lire mon article sur la fuite pour plus d'infos.
Et si je vous disais qu'on pouvait faire tourner Firefox dans un terminal ? Et pas un navigateur en mode texte, hein. Non, le véritable Firefox, avec ses onglets, les images, la totale... Hé oui c'est possible et que ça fonctionne via SSH, donc depuis un serveur distant. Bienvenue dans le futur (ou le passé, j'sais plus trop) !
Term.everything c'est un compositeur Wayland construit from scratch en Go qui, au lieu de balancer l'image sur votre écran, la convertit en caractères ANSI et l'affiche dans le terminal. Du coup, n'importe quelle app GUI Linux peut tourner là-dedans. Firefox, un gestionnaire de fichiers, un lecteur vidéo... et même Doom (parce que si ça peut pas faire tourner Doom, ça compte pas). Le binaire fait une poignée de Mo, c'est sous licence AGPL-3.0, et y'a zéro dépendance externe.
L'outil propose 2 modes d'affichage. Le mode basique qui convertit les pixels en blocs Unicode, et dont la qualité dépend du nombre de lignes et colonnes de votre terminal. Plus vous zoomez out (Ctrl+- sur Alacritty), plus c'est net... mais plus ça rame. Donc si votre terminal supporte le protocole image, genre Kitty ou iTerm2, l'autre mode, c'est du rendu pleine résolution et là non seulement c'est pas dégeu mais en plus ça marche bien !
Le truc vraiment dingue, c'est surtout le SSH parce que si vous avez un serveur Linux distant, vous vous connectez dessus en SSH, vous lancez term-everything firefox et hop, Firefox s'affiche dans votre terminal local. Pas de X11 forwarding relou à mettre en place ni de VNC / RDP zarbi.
Pour les admins sys qui gèrent des serveurs headless, c'est quand même sympa ! D'ailleurs si vous aimez les outils SSH bien pensés , celui-ci aussi va vous plaire.
Par contre, on est encore en bêta et certaines apps vont planter ou refuser de se lancer. C'est normal, c'est un compositeur Wayland complet écrit par un seul gars (chapeau l'artiste !). Ce n'est donc pas le genre de truc qu'on met en prod, mais pour du dépannage sur un serveur Debian distant ou juste pour la beauté du geste, ça envoie du pâté.
Le créateur de term.everything est d'ailleurs le même qui avait codé Fontemon , un jeu vidéo caché dans une police de caractères. On est donc clairement dans la catégorie "parce qu'on peut le faire et que c'est marrant".
Bref, si vous voulez épater vos collègues en lançant KDE dans un terminal par-dessus SSH, ou juste jouer à Doom dans tmux, c'est par là que ça se passe.
Amusez-vous bien et merci à Lorenper pour l'info !
Une coalition d'entreprises européennes vient de lancer Euro-Office, une suite bureautique open source qui ambitionne de concurrencer Microsoft 365. Le problème, c'est que le projet est un fork d'OnlyOffice, et ce dernier accuse Nextcloud et IONOS de violer sa licence.
Euro-Office a été dévoilé le 27 mars à Berlin, directement au Bundestag. Derrière le projet, on retrouve huit organisations européennes : IONOS, Nextcloud, Eurostack, XWiki, OpenProject, Soverin, Abilian et BTactic.
L'idée est de proposer une suite bureautique capable d'éditer documents, tableurs et présentations, avec une compatibilité Microsoft complète, le tout sous contrôle européen.
Plutôt que de repartir de zéro, la coalition a choisi de forker le code open source d'OnlyOffice, jugé plus moderne et performant dans un navigateur que les alternatives dérivées de LibreOffice. Une préversion est d'ailleurs déjà proposée sur GitHub, et la première version stable est annoncée pour cet été.
Et voilà que ça se complique. Deux jours après l'annonce, OnlyOffice a publié un billet de blog accusant Nextcloud et IONOS de violer les conditions de sa licence AGPL v3.
Le reproche est précis : Euro-Office aurait supprimé toutes les références à la marque OnlyOffice, alors que la licence impose de conserver le logo et les attributions dans les travaux dérivés. Ces conditions supplémentaires ont été ajoutées en mai 2021 via la section 7 du fichier LICENSE.txt.
Côté Nextcloud, on se défend en affirmant que les forks font partie de l'ADN de l'open source. L'entreprise dit avoir consulté Bradley M. Kuhn, le créateur de la licence AGPL, qui soutiendrait leur position "à 100 %".
La Free Software Foundation serait aussi de leur côté. Nextcloud avance par ailleurs que la collaboration directe avec OnlyOffice était compliquée, la société étant basée en Russie.
Le timing n'est pas anodin. Partout en Europe, des administrations et des entreprises cherchent à réduire leur dépendance aux outils américains.
Euro-Office arrive avec un argument fort : une suite bureautique développée et hébergée en Europe, sans dépendance vis-à-vis d'acteurs non européens. C'est exactement ce que réclament plusieurs gouvernements depuis des années.
C'est quand même un drôle de démarrage pour un projet censé incarner la souveraineté numérique européenne. On lance une alternative à Microsoft en se basant sur le code d'une entreprise russe, et trois jours plus tard on se retrouve avec une accusation de violation de licence sur les bras.
Le fond du débat juridique est intéressant : est-ce qu'on peut forker un logiciel AGPL et retirer les mentions de la marque originale ?
Source : OnlyOffice.com