
Semaine 32 - 2026
Le web écrit pour des robots qui ne savent pas qui leur parle
TIME.com sert 303 Ko de HTML aux humains et 13 Ko de markdown aux bots IA. Même article, 95% plus léger. Dedans : de la publicité complète, FAQ sponsorisées incluses, que vous ne verrez jamais. Un en-tête maison compte même les tokens envoyés au modèle. Leur trafic robot dépasse déjà l’humain la plupart des jours.
https://www.vincentschmalbach.com/time-serves-ai-bots-a-different-website/
Un modèle reçoit la conversation entière comme un seul bloc de texte, chaque message précédé d’une simple mention du genre « ceci vient de l’utilisateur ». Des chercheurs primés par OpenAI montrent qu’il ne s’y fie presque pas : c’est le style qui décide. Écrivez comme son raisonnement interne, il vous prend pour lui, à vous de faire ce que vous voulez.
https://intelligence-artificielle.developpez.com/actu/385967/
Votre pipeline est blindé, votre doigt sur « Autoriser » beaucoup moins
500 packages npm compromis en une seule journée. Le remède le plus rentable du guide tient en une ligne à coller dans votre projet : npm config set --location=project min-release-age 3. Traduction : n’installer aucune version publiée depuis moins de trois jours. Comme un package malveillant est retiré au bout de 14 heures en moyenne, ce simple délai en écarte 94%.
https://evilmartians.com/chronicles/the-secure-way-to-release-an-npm-package
Reste l’humain censé rattraper le reste. Un jeu de 40 000 parties a fait valider des commandes d’agents IA : une menace sur trois passe. Pire, npm run a été approuvé une fois sur deux, avec le code malveillant affiché à l’écran. Un rm -rf bien visible, on le bloque ; une commande au nom rassurant qui lance un script modifiable, non.
https://scalex.dev/blog/ai-agent-permissions-stats/
Deux bugs qui ne feront jamais planter votre appli, et c’est bien le problème
Votre application monopage reste ouverte huit heures d’affilée, et 86% des projets React, Vue ou Angular oublient de débrancher un écouteur ou un minuteur. Rien ne casse, aucune erreur : l’onglet gonfle tranquillement jusqu’au crash — Gmail se traînait des processus à 10 Go. La parade tient en une mesure : compter les nœuds de la page avant et après 200 cycles d’utilisation simulée.
https://denodell.com/blog/your-spa-is-leaking-memory-soak-test-it
Même mensonge poli côté données. JSON.stringify({ id: 9007199254740993 }) vous rend un identifiant qui finit par 2. Aucune exception, du JSON parfaitement valide, une valeur fausse. Et ce n’est que l’entrée : les dates perdent leur fuseau, Map et Set ressortent en objets vides, NaN devient null. Votre copie n’en est pas une.
https://blog.gaborkoos.com/posts/2026-08-03-Your-JSON-Is-Lying-to-You/
Du CSS que vous pouvez coller lundi matin
L’unité lh vaut exactement une hauteur de ligne de votre texte. Concrètement : max-height: 5lh coupe à cinq lignes pile, sans multiplier des pixels à la main, et margin-bottom: 1lh respire au rythme de la typographie plutôt qu’à celui d’une valeur magique choisie un mardi soir. Icônes, fonds rayés, images alignées sur les lignes : cinq démos interactives, et un support déjà large.
https://ishadeed.com/article/lh-unit/
Dans le même rayon immédiatement volable, le fondu en bord de liste défilante. Vous voyez, ce dégradé qui souffle « il reste du contenu en dessous » et qui vous coûte d’habitude un observateur d’intersection plus un écouteur de défilement qui rame. Ici : zéro JavaScript, un masque piloté directement par la position du scroll, livré en classes Tailwind prêtes à l’emploi.
https://twilson.net/scroll-mask
83,7% contre 3,7% : le grand écart du CSS en 2026
Le sondage annuel a rendu son verdict. :has() signe le doublé : fonctionnalité la plus utilisée avec 83,7%, et la plus aimée. Le positionnement par ancrage gagne 15 points d’adoption en un an. La plus détestée ? Les couleurs à gamme étendue. La plus commentée ? line-clamp, et c’était pour râler sur sa syntaxe. Tout en bas du classement d’usage, à 3,7% : les gap décorations column-rule.
https://2026.stateofcss.com/en-US/awards/