J'sais pas si vous vous en rendez compte mais les agents IA qui codent sur votre machine ont accès à vos clés SSH, vos credentials AWS, votre Keychain et compagnie. Ils ont accès à TOUT ! C'est comme filer les clés de votre appart à un gars que vous avez croisé sur le parking de Leclerc y'a pas 5 min.
Hazmat
prend le problème à l'envers : au lieu de demander poliment à l'agent de se tenir tranquille, il l'enferme dans un compte macOS séparé. Du coup, vos ~/.ssh, ~/.aws, votre Keychain deviennent structurellement inaccessibles. Pour en profiter, faut faire un
brew install dredozubov/tap/hazmat
puis
cd /tmp
hazmat init --bootstrap-agent claude
Et hop, 10 minutes plus tard votre agent tourne dans sa cage. (le premier snapshot est ultra loooong mais après c'est de l'incrémental donc ça ira plus vite)
L'isolation repose sur 3 couches indépendantes, un peu comme les sas d'un sous-marin. Il y a d'abord un utilisateur agent dédié (vos fichiers perso deviennent alors hors de portée, point). Ensuite, une politique seatbelt générée dynamiquement à chaque session qui consiste à ce que le kernel de macOS vérifie chaque accès fichier et refuse tout ce qui n'est pas explicitement autorisé pour cette session précise.
Et par-dessus, des règles pf firewall qui empêchent l'agent d'envoyer du trafic SMTP, IRC, FTP, Tor ou VPN. Comme ça, un agent qui tentera d'exfiltrer vos données par mail se retrouvera bloqué net au niveau du noyau.
Côté supply chain, Hazmat force npm ignore-scripts=true par défaut. Comme ça, par exemple
le fameux hack axios
qui livrait un RAT via un hook postinstall en 2 secondes chrono n'est plus possible ici ! Y'a aussi une blocklist DNS qui redirige les services de tunnel connus (ngrok, pastebin, webhook.site) vers localhost. Contre un domaine perso fraîchement enregistré, ça passera mais les vecteurs d'exfiltration classiques, ça devrait résister.
Hazmat utilise TLA+, le même formalisme que les ingés d'Amazon utilisent pour vérifier les protocoles de DynamoDB. Genre, l'installation des règles sudoers AVANT le firewall (évidemment, ça crée une fenêtre de vulnérabilité), les restrictions qui bloquaient les lectures mais pas les écritures, ou encore une restauration cloud sans vérifier qu'un snapshot existait...etc, c'est le genre de truc qu'aucun test unitaire n'aurait chopé.
Ça supporte Claude Code (y compris le fameux --dangerously-skip-permissions), OpenCode et Codex. Attention par contre, si votre projet utilise Docker, y'a deux cas de figure : soit le daemon Docker est privé au projet et Hazmat le route automatiquement vers un mode Docker Sandbox, soit c'est un daemon partagé et là faudra passer --docker=none explicitement.
La commande hazmat explain montre aussi exactement ce que le sandbox autorise avant de lancer quoi que ce soit... et ça, c'est pas du luxe quand on sait pas trop ce qu'on va lâcher dans la nature. Le hazmat diff qui affiche les changements faits par l'agent depuis le dernier snapshot Kopia, c'est plutôt bien pensé. Et si l'agent casse un truc ? hazmat restore et c'est reparti, comme un Ctrl+Z géant pour tout votre projet.
Côté limites, faut être honnête, Seatbelt n'est pas documenté par Apple depuis macOS 10.5 et c'est du defense-in-depth, et pas une vraie frontière de VM. Quand à l'exfiltration HTTPS elle n'est pas bloquée car l'agent peut toujours curl n'importe quoi sur le port 443. C'est logique mais bon, c'est pas étanche à 100% quoi...
Et surtout c'est macOS only pour l'instant (le port Linux est en chantier), et bien sûr le /tmp partagé entre les comptes locaux reste un vecteur potentiel. J'aurais aimé aussi que le réseau soit coupé par défaut sauf whitelist, mais bon, faudra attendre. Après entre ça et laisser Claude Code en roue libre avec les pleins pouvoirs sur votre machine... y'a pas photo.
Bref, pour du vibe coding sur Mac, c'est le minimum vital.
La
chaîne YouTube Asianometry
vient de publier une vidéo qui retrace l'histoire du VLIW, une architecture de processeur née dans les années 80 et longtemps considérée comme un échec. Sauf que cette technologie, enterrée avec l'Itanium d'Intel, refait surface dans les puces dédiées à l'intelligence artificielle. Et elle est peut-être déjà dans votre smartphone.
Le principe, et c'est un peu technique
Si vous ne connaissez pas Asianometry, c'est une chaîne qui décortique l'histoire des semi-conducteurs avec un vrai talent de vulgarisation, et cette vidéo sur le VLIW (pour Very Long Instruction Word) ne fait pas exception.
L'idée est assez simple sur le papier. Un processeur classique exécute ses instructions une par une, ou les réordonne à la volée avec du matériel dédié (c'est ce que font les puces modernes avec l'exécution "out-of-order").
Le VLIW fait l'inverse : c'est le compilateur, le logiciel qui transforme le code en instructions machine, qui regroupe à l'avance plusieurs opérations dans un seul "mot" très long. Du coup, le processeur n'a plus qu'à exécuter le paquet en une seule fois, sans se pose la moindre question. Le matos est de fait plus simple, moins gourmand en énergie, et plus rapide.
Le problème, c'est que tout repose sur le compilateur. S'il ne trouve pas assez d'opérations à paralléliser, le processeur tourne à vide. Et écrire un compilateur capable de faire ça correctement, c'est un casse-tête qui a occupé des chercheurs pendant des décennies.
L'Itanium, le plus gros pari raté d'Intel
Les premières tentatives commerciales datent des années 80 avec Multiflow et Cydrome, deux entreprises qui ont fait faillite. Intel a sorti le i860 en 1989, un processeur VLIW quasi impossible à programmer. Et puis il y a eu l'Itanium. Développé avec HP à partir de 1994 sous le nom IA-64, ce processeur devait remplacer le x86 et dominer les serveurs. Les analystes prédisaient la fin des architectures classiques.
Quand l'Itanium est sorti en 2001 après dix ans de développement, les performances étaient décevantes, la compatibilité avec les logiciels existants était catastrophique, et AMD avait entre-temps lancé le x86-64 qui faisait tout pareil en restant compatible avec l'ancien. L'Itanium est devenu un produit de niche avant de disparaître. La presse tech l'a rebaptisé "Itanic", en référence au Titanic.
Le retour par l'intelligence artificielle
Le VLIW n'a jamais complètement disparu. Texas Instruments l'utilise dans ses processeurs de traitement du signal depuis 1997 avec la famille TMS320C6000. Le DSP Hexagon de Qualcomm, celui qui gère l'inférence IA dans les puces Snapdragon, est lui aussi basé sur du VLIW.
Et Groq, la startup qui fait beaucoup parler d'elle pour la vitesse de ses puces d'inférence, utilise une architecture VLIW où le matériel ne prend aucune décision à l'exécution.
L'inférence de réseaux de neurones, c'est justement le type de calcul idéal pour le VLIW : des opérations régulières, prévisibles, massivement parallèles.
Pas besoin de réordonnancer quoi que ce soit, le compilateur peut tout planifier en amont. Des chercheurs travaillent d'ailleurs sur des extensions RISC-V qui intègrent des principes VLIW pour combiner le meilleur des deux mondes.
C'est quand même amusant de voir une technologie enterrée il y a vingt ans revenir grâce à l'IA. Le VLIW a échoué dans les années 2000 parce que le code des logiciels classiques est trop imprévisible pour être optimisé par un compilateur.
Mais l'inférence IA, c'est l'exact opposé : tout est prévisible et régulier. Du coup, l'architecture qui devait remplacer le x86 se retrouve à alimenter les accélérateurs IA de votre Snapdragon. Comme quoi, en informatique, rien ne meurt vraiment.
Le labo derrière Claude a dévoilé le
Projet Glasswing
, une initiative de cybersécurité qui embarque un nouveau modèle, Claude Mythos, tellement efficace pour trouver des failles qu'ils ont décidé de ne pas le rendre public. En gros, l'IA est devenue meilleure que la plupart des humains pour dénicher des vulnérabilités zero-day... et ça va faire mal ^^.
Concrètement, Mythos a trouvé des milliers de zero-days dans tous les OS et navigateurs majeurs ces dernières semaines. Et pas des failles mineures, hein ! Une vulnérabilité dans OpenBSD qui traînait depuis 27 ans, un bug dans FFmpeg vieux de 16 ans qui avait survécu à 5 millions d'itérations de tests automatisés... et des exploits chaînés dans le noyau Linux (3, 4, parfois 5 vulnérabilités enchaînées de manière autonome) qui permettent une escalade de privilèges complète. Comme le dit un chercheur dans la
vidéo de présentation
: "J'ai trouvé plus de bugs ces dernières semaines que pendant tout le reste de ma carrière combinée".
Et le truc qui tue, c'est que Mythos n'a pas été entraîné spécifiquement pour la cybersécurité. Il a juste été entraîné pour être bon en code... et par effet de bord, il est devenu redoutable en sécu. En fait, les benchmarks sont assez parlants. Sur CyberGym (reproduction de vulnérabilités), Mythos tape du 83% contre 67% pour Opus 4.6. Mais c'est sur l'exploitation de Firefox 147 (en collaboration avec Mozilla je tiens à le préciser), que le fossé est le plus flippant : 84% de taux de réussite en exploitation shell, contre 15% pour Opus 4.6 et 4% pour Sonnet.
Lors de tests internes
, une version précoce de Mythos enfermée dans un sandbox sécurisé a réussi à s'en échapper (on lui en avait donné l'instruction pour le test), a développé un exploit multi-étapes pour accéder à Internet, puis a envoyé un email au chercheur pour le prévenir de son évasion. Le chercheur l'a reçu lorsqu'il était en train de faire sa pause sandwich dans un parc ! Dans moins de 0,001% des cas, ces versions précoces ont même carrément tenté de dissimuler des actions interdites en modifiant l'historique git pour ne pas laisser de traces. Bon, Anthropic précise que ces comportements ont été corrigés dans la version finale parce que c'était clairement pas tolérable... mais quand même.
Ce qui est vraiment impressionnant, c'est cette coalition derrière Glasswind. Apple, Microsoft, Google, AWS, NVIDIA, CrowdStrike, Cisco, Palo Alto Networks, JPMorgan, Broadcom, la Linux Foundation... des partenaires qui d'habitude se tirent dans les pattes, réunis autour de la même table, plus 40 autres organisations.
Le problème c'est que Mythos ne sera pas accessible au public. Trop dangereux. Seuls les professionnels de la sécurité vérifiés y auront droit, via un "Cyber Verification Program" dédié. Je suis triste, j'aurais vraiment kiffé le tester...
Anthropic met 100 millions de dollars de crédits sur la table pour la recherche, plus 2,5 millions pour l'OpenSSF et 1,5 million pour la fondation Apache. Le programme "Claude for Open Source" donne un accès dédié aux mainteneurs de projets open source. C'est du bon gros marketing c'est sûr, mais quand on voit le nombre de mainteneurs open source qui bossent seuls le soir sans budget sécu... franchement, c'est pas de refus.
Du coup, on vient vraiment de passer à une autre échelle.
L'année dernière, o3 d'OpenAI avait trouvé UN zero-day Linux
et c'était déjà une première mondiale. Là, Mythos en trouve des milliers et crée des preuves de concept d'exploitation quasiment toujours du premier coup. C'est chouette pour la sécurité mais cette capacité est clairement un couteau à double tranchant. Entre les mains d'un défenseur, c'est un bouclier mais entre les mains d'un attaquant... bon, on préfère pas y penser.
Anthropic s'engage à publier un rapport dans les 90 jours sur les vulnérabilités patchées et à terme, ils veulent créer un organisme indépendant, public-privé, pour coordonner tout ça. Comme l'a dit le CTO de CrowdStrike : "ce qui prenait des mois prend maintenant des minutes".
Bref, Glasswing c'est le moment où l'IA en cybersécurité passe du labo au terrain, mais maintenant reste à voir si le bouclier sera déployé plus vite que l'épée.
Des chats en pixel art qui se baladent sur votre dock macOS et qui causent grâce à un LLM local... non vous ne rêvez pas car c'est ce qu'on peut obtenir avec
CATAI
, qui vous fera adopter 6 matous virtuels avec chacun sa personnalité.
En gros, c'est le Tamagotchi de votre dock, sauf qu'au lieu de biper quand il a faim, il vous cite du Nietzsche. Vous lancez l'app, et hop, un chat orange débarque. Il marche, il mange, il dort, il s'énerve... soit 368 sprites dessinés à la main (c'est devenu assez rare pour le souligner !!). Et quand le dock est masqué, le chat se téléporte directement sur le bord supérieur de votre fenêtre active. Parce que vous le savez, un chat, ça squatte toujours les rebords les plus improbables.
Vous pouvez en coller jusqu'à 6 en même temps, chacun avec sa couleur et son caractère. Le noir (Ombre) est philosophe et vous pose des questions existentielles, le blanc (Neige) s'exprime en vers, le gris (Einstein) vous balance des faits scientifiques et le brun (Indiana) raconte des aventures. De temps en temps, ils miaulent tout seuls dans des bulles pixel art. "Mrrp !", "Prrr...", "ronronronron". Perso, je trouve ça craquant.
Et quand vous cliquez sur un chat, ça ouvre une bulle de discussion connectée à
Ollama
(le moteur d'IA locale que vous connaissez sûrement). Si vous avez déjà un modèle qui tourne, votre matou vous répond alors avec sa propre personnalité. La mémoire de conversation est même persistante entre les sessions (max 20 messages par chat, pour garder un contexte de conversation raisonnable).
Comme c'est du Swift pur, juste les Command Line Tools suffisent pour compiler le fichier source :
swiftc -O -o cat cat.swift -framework AppKit -framework Foundation
La compilation prend genre 3 secondes sur un M1, et le binaire pèse dans les 500 Ko, soit moins qu'une photo iPhone. Y'a aussi un build.sh qui crée un .app propre avec son icône si vous préférez.
Les plus anciens d'entre vous se souviendront peut-être de Neko, le petit chat qui courait après votre curseur, porté sur Mac en 1989 par Kenji Gotoh. L'un des premiers desktop pets connus. Sauf que là, comme on est en 2026, le chat vous fait la conversation via un LLM local. Si vous bidouillez déjà avec Ollama ou que vous avez découvert
le LLM caché de votre Mac
, c'est un usage auquel vous n'aviez probablement pas pensé.
Notez que sans Ollama, ça fonctionne, les chats se baladent mais restent muets (ce qui est déjà sympa en soi). Et si vous collez un modèle trop lourd genre un 70B, ça va ramer vu que le streaming passe par localhost. Un petit Qwen 2.5 ou Llama 3.2 3B fait largement le taf pour des réponses de chat en 2-3 phrases.
Un Strasbourgeois de 37 ans a été interpellé par le RAID après avoir formulé des menaces dans une conversation avec ChatGPT. OpenAI a signalé les propos au FBI, qui a transmis l'alerte aux autorités françaises via la plateforme Pharos.
L'affaire a été classée sans suite, mais elle montre que les échanges avec les chatbots ne sont pas vraiment privés.
Des menaces repérées par OpenAI
Les faits remontent au 3 avril. L'homme a indiqué à ChatGPT vouloir acheter un pistolet Glock pour "tuer un agent du renseignement de la CIA, du Mossad ou de la DGSI". Les propos ont été détectés par les systèmes de modération d'OpenAI, qui applique depuis 2024 une politique claire : si une conversation présente un risque de violence physique, l'entreprise peut transmettre les échanges aux forces de l'ordre.
Ici, OpenAI a alerté le FBI, qui a relayé l'information aux autorités françaises via Pharos, la plateforme de signalement en ligne gérée par l'OCLCTIC.
Le RAID intervient, aucune arme trouvée
L'intervention a eu lieu au domicile de l'homme, dans le quartier de Koenigshoffen à Strasbourg. Le RAID est entré sans incident et n'a trouvé aucune arme sur place. L'homme a été placé en garde à vue puis libéré le lendemain.
Il a expliqué être schizophrène, en rupture de traitement depuis deux ans, et avoir voulu "tester la fiabilité et la surveillance de l'intelligence artificielle" plutôt que planifier quoi que ce soit. Le parquet de Strasbourg a classé l'affaire sans suite et l'homme a été hospitalisé d'office en psychiatrie.
Vos conversations avec les chatbots ne sont pas privées
Cette affaire est un bon rappel pour tous les utilisateurs de ChatGPT et d'autres assistants IA. OpenAI le dit dans ses conditions d'utilisation : les conversations peuvent être analysées, et dans certains cas transmises à la police.
Depuis février 2024, l'entreprise a perturbé plus de 40 réseaux qui enfreignaient ses règles. Et le mécanisme est rapide : entre les propos tenus à Strasbourg et l'intervention du RAID, il s'est visiblement passé très peu de temps. La coopération entre OpenAI, le FBI et les autorités françaises a fonctionné en quasi temps réel.
C'est le genre d'histoire qui fait réfléchir. On parle quand même d'un type qui tape des menaces dans un chatbot depuis chez lui et qui voit le RAID débarquer à sa porte quelques heures plus tard. Ici l'affaire s'est bien terminée, l'homme avait visiblement besoin de soins et pas d'un Glock.
Mais ça pose une question très concrète : est-ce que tous les utilisateurs de ChatGPT, Claude ou Gemini ont bien conscience que leurs conversations sont surveillées et peuvent remonter aux autorités de n'importe quel pays ? On imagine bien que non.
CUPS, le système d'impression utilisé par macOS et la plupart des distributions Linux, est touché par deux nouvelles vulnérabilités. Elles ont été trouvées par des agents d'intelligence artificielle, et permettent une exécution de code à distance.
Aucun correctif officiel n'est disponible pour le moment, et les preuves de concept sont déjà publiques. Les environnements professionnels sont les premiers concernés.
Quand l'IA fait le boulot des chercheurs en sécurité
C'est un ingénieur sécurité de SpaceX, Asim Manizada, qui a publié les détails de ces deux failles. Le plus surprenant, c'est qu'il ne les a pas trouvées tout seul. Il a utilisé des
agents IA
pour analyser le code de CUPS et débusquer les problèmes.
Son travail s'inspire des recherches de Simone Margaritelli, qui avait déjà montré en 2024 comment enchaîner plusieurs failles CUPS pour exécuter du code à distance sur des machines Linux.
Les deux vulnérabilités portent les références CVE-2026-34980 et CVE-2026-34990. Elles touchent CUPS 2.4.16 et peuvent être combinées pour un résultat assez redoutable.
Deux failles qui se complètent
La première faille permet à un attaquant d'envoyer une tâche d'impression sur une file PostScript partagée, sans aucune authentification.
CUPS accepte par défaut les requêtes anonymes sur les files partagées, et un mécanisme d'échappement de caractères permet d'injecter du code qui sera exécuté en tant qu'utilisateur "lp". En pratique, un attaquant peut forcer le serveur à lancer un programme de son choix.
La seconde faille concerne l'authentification du démon cupsd. Un utilisateur local sans privilège peut tromper le service pour qu'il s'authentifie auprès d'un faux serveur IPP contrôlé par l'attaquant.
Le jeton récupéré permet alors d'écraser n'importe quel fichier avec les droits root. Combinées, les deux failles donnent à un attaquant distant et non authentifié la possibilité d'
écraser des fichiers système
en tant que root.
Pas de patch, mais des correctifs dans les tuyaux
Pour le moment, aucune mise à jour officielle de CUPS n'a été publiée. Michael Sweet, le créateur et mainteneur du projet, a mis en ligne des correctifs sur GitHub, mais il n'y a pas encore de version patchée à télécharger.
Manizada prévient que ces failles seront faciles à reproduire, vu que les preuves de concept sont publiques et que les modèles de langage actuels peuvent transformer un rapport technique en exploit fonctionnel en quelques minutes.
Côté impact, CUPS est le système d'impression par défaut de macOS et de la quasi-totalité des distributions Linux. Pour être vulnérable, il faut que le serveur CUPS soit accessible sur le réseau avec une file d'impression partagée configurée, ce qui est courant dans les environnements professionnels.
C'est quand même un drôle de signal. D'un côté, l'IA montre qu'elle sait trouver des failles de sécurité plus vite que les humains. De l'autre, les mainteneurs open source galèrent toujours autant pour sortir les correctifs à temps. Manizada lui-même le dit : les modèles de langage peuvent convertir un simple rapport technique en code d'attaque prêt à l'emploi.
Du coup, entre la divulgation d'une faille et le premier exploit, on parle de quelques heures, pas de quelques semaines. Si vous gérez des imprimantes en réseau, le plus prudent reste de couper le partage des files CUPS en attendant le patch, ou au moins de restreindre l'accès réseau au service. Pas très pratique, mais c'est le prix à payer quand le système d'impression a vingt ans de code derrière lui.
Les extensions Chrome qui promettent de l'IA, ça pullule de ouf et à vrai dire, la plupart se contentent d'envoyer vos données sur un serveur distant. C'est naze ! Heureusement, l'extension
Gemma Gem
prend le problème à l'envers puisque son modèle tourne directement dans votre navigateur via WebGPU, sans clé API, sans cloud, et vos données ne sortent jamais de votre machine. C'est comme le kir, royal !
Comme c'est pas sur le Chrome Web Store, faudra la builder vous-même... Vous clonez le repo, vous lancez pnpm install puis pnpm build et vous chargez le dossier dans chrome://extensions en mode développeur et ensuite, elle téléchargera le modèle de Google (environ 500 Mo pour la version légère, genre le poids d'un gros jeu mobile), et pif paf pouf, ensuite vous aurez un agent IA qui vit sa best life dans votre Chrome.
Cliquez alors sur l'icône en bas à droite, une fenêtre de chat s'ouvre et vous pourrez interroger n'importe quelle page. Et si vous préférez un modèle plus costaud, l'E4B pèse 1,5 Go et permet d'obtenir des réponses plus fines.
Sauf que c'est pas juste un chatbot de plus. En effet, l'extension fait du tool calling en boucle à l'aide de 6 outils : read_page_content, click_element, type_text, scroll_page, take_screenshot et run_javascript. Elle peut ainsi lire une page, cliquer sur des boutons, remplir un formulaire et même balancer du JavaScript dans le contexte de la page.
Comme l'inférence WebGPU ne peut pas tourner dans un service worker Chrome (y'a pas d'accès au GPU, c'est une limitation connue depuis des années), le développeur a trouvé une parade : il utilise un offscreen document, c'est-à-dire une page HTML invisible que Chrome maintient en arrière-plan et qui, elle, a accès au GPU. Résultat, le modèle calcule dans cette page fantôme, le service worker joue le facteur entre les morceaux, et le content script affiche le chat. Je trouve ça bien pensé comme découpage !
Toute la boucle d'agent (le code qui décide quand appeler un outil et quand répondre) est isolée dans un dossier agent/ sans aucune dépendance Chrome. Cela veut dire que vous pouvez prendre ces 5 fichiers .ts (agent-loop.ts, prompt-builder.ts, tool-parser.ts, types.ts et index.ts), les coller dans un projet Node.js ou Deno, et hop, vous avez votre propre boucle agentique. Yaniv Kessler, le développeur a pensé le truc pour que ça serve ailleurs.
Les deux variantes (E2B et E4B) sont compressées en
q4f16
avec 128K tokens de contexte en théorie, même si en pratique la fenêtre effective dépend de votre VRAM. Cela dit, c'est largement de quoi avaler une page web complète sans broncher ! Et le modèle reste en cache après le premier téléchargement, du coup au deuxième lancement, c'est quasi instantané. Par contre, si vous êtes sur un vieux Chromebook avec un Intel UHD intégré et 4 Go de RAM, ça risque de mouliner à fond. Et sur Firefox (qui est le meilleure navigateur du monde, comme je n'ai de cesse de vous le dire), le WebGPU est encore un peu expérimental, donc pour l'instant ce sera Chrome ou rien... Sniiif.
Si vous avez déjà testé des
extensions comme Localsumm
qui faisaient tourner Phi-3 en local pour résumer des pages, disons que Gemma Gem pousse le concept beaucoup plus loin avec ses capacités d'agent. Et si le sujet de l'IA locale dans le navigateur vous branche, jetez un oeil à
Clippy
qui fait tourner des LLM localement sur votre desktop.
Notez quand même que sur Hacker News, le projet a déclenché pas mal de débat. Certains pointent le risque du tool run_javascript qui donne au modèle les pleins pouvoirs sur le DOM (genre, supprimer des trucs ou poster un formulaire à votre place). C'est vrai que c'est important mais bon, c'est le même modèle de permissions que n'importe quel script web classique, sauf que là au moins vos données restent chez vous.
Bref, 500 Mo de modèle, pas de cloud, et votre navigateur qui devient plus autonome que votre fils de 22 ans. Pas mal non ?
EDIT (7 avril, 22h) : Depuis la publication de cet article, plusieurs analyses techniques indépendantes ont sérieusement remis en question ce projet.
Aimar Haddadi
a découvert que le code aurait été écrit par un développeur tiers nommé Lu (DTL), pas par Milla Jovovich, et que l'historique git a été squashé pour masquer l'attribution.
Thin Signal
a démonté la méthodologie des benchmarks : le score de 96.6% mesure en réalité les performances de ChromaDB (la base vectorielle utilisée), pas celles de l'architecture "palace", et il compare du Recall@5 avec des scores de QA accuracy d'autres systèmes, ce qui revient à comparer des pommes et des oranges.
Enfin, une
analyse de code complète
a révélé que la compression AAAK est lossy (84.2% de retrieval contre 96.6% en brut, soit 12 points de perte), que la détection de contradictions mentionnée dans le README n'existe tout simplement pas dans le code, et que le "+34% d'amélioration" annoncé est du filtrage métadata standard, pas une innovation.
Bref, le marketing est frauduleux, même si certaines briques techniques (100% local, coût de démarrage léger, métaphore spatiale) restent intéressantes.
Milla Jovovich a un compte GitHub !! Oui, l'actrice des films Resident Evil, celle qui découpe des zombies depuis 2002 et qui a également incarné Leeloo dans un film qui est cher à mon cœur a mis en ligne son premier repo. Ça s'appelle
MemPalace
, et c'est un système de mémoire pour IA, qui annonce un score de 96.6% sur LongMemEval. Même si, comme expliqué dans l'édit ci-dessus, ce score est à relativiser fortement.
Un petit pip install mempalace et ça tourne en local sur votre machine, sous licence MIT, en Python pur. Le projet est attribué à Milla et Ben Sigman, même si l'attribution réelle du code fait débat (voir édit). Et c'est bien la vraie Milla qui en fait la promo, hein...
vidéo sur sa page Facebook
à l'appui.
Ce n'est pas si rare que des célébrités mettent les mains dans le code. Lyndsey Scott, mannequin chez Calvin Klein et Victoria's Secret, est aussi développeuse iOS et se classe dans le top 2% des contributeurs sur Stack Overflow. Justine Bateman (Family Ties) est retournée à UCLA à 46 ans pour décrocher un diplôme en informatique. Jimmy Fallon avait commencé par étudier l'informatique au College of Saint Rose avant de bifurquer vers la comédie. Alexandre Astier, le créateur de Kaamelott, code en Python et s'est développé un outil NLP maison pour l'aider à écrire le scénario du deuxième film. Et Karlie Kloss, le top model, a appris Ruby et fondé "Kode with Klossy" pour enseigner la programmation aux jeunes filles.
Côté musique, Will.i.am a monté sa boîte tech i.am+ et pris des cours de programmation. Mayim Bialik (The Big Bang Theory) a appris à coder pendant son doctorat en neurosciences à UCLA pour analyser ses données d'IRM, et milite depuis pour l'enseignement du code aux enfants. Chris Bosh rêvait de devenir informaticien avant que la NBA ne le rattrape à Georgia Tech, et reste ambassadeur de code.org. Même Ashton Kutcher, qui avait commencé des études d'ingénierie, est devenu ambassadeur de Hour of Code.
En creusant le projet (avant la controverse), on comprend la logique : plutôt que de laisser l'IA décider toute seule ce qu'elle retient (genre votre pote sous beuh qui oublie la moitié de vos conversations), le système stocke tout et organise après. Le concept s'inspire des palais de mémoire, cette technique mnémotechnique de la Grèce antique, adaptée ici aux LLM.
Vos conversations sont rangées en ailes (projets, personnes), en salles (idées), et en couloirs typés : faits, événements, découvertes, préférences. Deux salles identiques dans des ailes différentes créent automatiquement des "tunnels", des connexions inter-domaines. Sur le papier, c'est séduisant. En pratique, l'analyse de code montre que ce graphe est construit à la volée par scan de métadonnées, sans pondération sémantique ni connexions apprises.
La compression AAAK est l'idée la plus originale du projet. Un contexte de 1000 tokens tient en environ 120 tokens dans ce format. Du coup, au démarrage, votre IA charge à peine 170 tokens pour retrouver le contexte. Sauf que les tests indépendants montrent que le ratio réel est autour de 4x (pas 30x comme annoncé), que la compression est lossy (elle perd des infos critiques : noms, délais, raisonnements), et que la qualité de recherche chute de 96.6% à 84.2% quand on l'active. La méthode de décodage ? Un simple string split. Pas de reconstruction du texte original possible.
Ce qui reste vrai : tout tourne sur votre machine. ChromaDB pour le vectoriel, SQLite pour le graphe de connaissances, zéro dépendance cloud, zéro appel API pour l'extraction (tout est fait en regex et mots-clés, sans LLM). Y'a même 19 outils
MCP
pour brancher le système directement dans Claude, ChatGPT ou Cursor. Et le coût de démarrage de ~170 tokens est effectivement parmi les plus bas du marché.
Par contre, le README annonce une détection de contradictions (si quelqu'un dit "Bob a fini la migration" alors que c'était Alice dans les logs, le système corrigerait). L'audit de code révèle que cette feature n'existe pas. Le système bloque les triples identiques dans le knowledge graph, point. Pas de détection d'incohérences.
Au final, le projet est très jeune (2 jours d'existence au moment de sa publication), le marketing est au minimum trompeur, et plusieurs claims du README sont contredites par le code lui-même. La métaphore spatiale "palace" reste une idée originale qu'aucun autre système de mémoire IA n'utilise, et le choix 100% local sans LLM est un vrai parti pris technique. Mais entre ce que le projet dit faire et ce qu'il fait vraiment, y'a un fossé.
Bref, le concept est intéressant, la réalité beaucoup moins. Gardez votre esprit critique.
J'sais pas si vous saviez mais Apple a planqué un LLM dans votre Mac et ne veut pas que vous y touchiez... enfin, pas directement. En effet, leur modèle est là, intégré au système via le framework FoundationModels, il tourne sur le Neural Engine sans connexion internet mais Apple l'a verrouillé derrière Siri. Du coup, impossible de l'appeler depuis un script ou un pipe shell et c'est là qu'
apfel
intervient !
L'outil s'installe en une commande :
brew install Arthur-Ficial/tap/apfel
Et hop, vous avez accès au modèle directement depuis votre terminal. Faut Apple Intelligence actif également, sinon, ça ne fonctionnera pas.
Ensuite, vous lui posez une question, et il vous répond. Vous lui "pipez" un fichier, et il le traite. Et le tout sans rien télécharger puisque le modèle est déjà sur votre machine !
C'est un LLM de 3 milliards de paramètres, quantifié en 2 et 4 bits, qui tourne nativement sur la puce
Apple Silicon
(M1 et au-delà) et il se défend plutôt bien face à Qwen-2.5-3B, si on en croit les benchmarks. La fenêtre de contexte est limitée à 4096 tokens (entrée + sortie combinées), soit environ 3000 mots, donc faut pas espérer lui faire digérer un roman mais pour transformer du texte, classifier des données ou résumer un paragraphe... ça fait bien le taf.
Apfel expose donc ce modèle de trois façons différentes. En CLI pure (compatible stdin/stdout, sortie JSON, codes d'erreur propres), en serveur HTTP compatible OpenAI sur localhost:11434 (avec streaming SSE, tool calling et CORS activé), et en chat interactif multi-turn.
Le serveur OpenAI c'est malin parce que d'un coup, tous vos outils savent causer à l'API OpenAI (Cursor, Continue.dev, n'importe quel SDK) et peuvent utiliser l'IA locale de votre Mac sans rien changer à leur code. Et le support MCP (Model Context Protocol) natif c'est très chouette aussi puisqu'il suffit de lancer apfel avec le flag --mcp, pour qu'il découvre automatiquement les outils disponibles, exécute les appels et renvoie les résultats.
D'ailleurs côté vie privée, c'est du béton armé car le framework FoundationModels d'Apple n'a pas accès à vos contacts, emails, calendrier ou photos et tout tourne sur le Neural Engine et le GPU, sans connexion internet.
Si vous avez déjà bidouillé avec
Ollama et les modèles locaux
, apfel c'est un peu la même philosophie... sauf que là vous n'avez rien à télécharger et contrairement à
Perspective Intelligence
qui transforme votre Mac en serveur web avec PostgreSQL et tout le tralala, apfel reste hyper minimaliste.
Attention quand même, faut être sous macOS 26 Tahoe minimum donc si vous êtes encore sous Sequoia 15.x ou Ventura 13.x, c'est mort, le framework FoundationModels n'existe pas sur ces versions. Et si vous avez un Mac Intel... ben non plus, le Neural Engine c'est Apple Silicon only.
Le projet inclut aussi des scripts démo sympas dans le dossier demo/.
Y'a par exemple cmd qui convertit du langage naturel en commandes shell, explain qui décortique les messages d'erreur, gitsum qui résume vos commits récents, ou encore mac-narrator qui commente l'activité de votre système en temps réel (c'est votre Mac qui se raconte à lui-même).
Perso, cmd c'est celui qui m'a le plus plu, même si bon, avec 4096 tokens de contexte, faut pas lui demander des commandes ffmpeg de 200 caractères.
Mais au-delà des démos, c'est en vrai que ça devient fun. Je vous montre quelques usages classiques d'abord :
apfel -f README.md "Résume ce projet en 3 phrases"
apfel -f code.py -s "Tu es un développeur expérimenté" "Trouve les bugs"
echo "Traduis ça en allemand : Salut" | apfel
Et les trucs un peu plus funs :
git diff HEAD~1 | apfel -f CONVENTIONS.md "Review ce diff par rapport à mes conventions"
apfel -f old.swift -f new.swift "Qu'est-ce qui a changé entre ces deux fichiers ?"
demo/oneliner "compte les IPs uniques dans access.log"
Vous pouvez même piper la sortie en JSON pour chaîner avec jq, ou lancer le mode --serve et brancher Cursor dessus pour avoir de l'autocomplétion locale gratuite. Et si vous êtes du genre parano, le mode --chat avec --context-strategy summarize gère automatiquement le contexte quand la conversation dépasse les 4096 tokens.
Et côté écosystème, y'a aussi
apfel-gui
(une interface SwiftUI native pour chatter avec le modèle, avec speech-to-text et text-to-speech on-device) et
apfel-clip
qui est en développement (ce sont des actions IA qui s'ajoutent dans la barre de menus pour corriger la grammaire, traduire, résumer) et le tout sous licence MIT, évidemment.
Bref, c'est un super modèle mais avec 3 milliards de paramètres et 4096 tokens de contexte, faut pas s'attendre non plus à remplacer Claude ou GPT. Les maths complexes, la génération de code avancée et les longues conversations, c'est pas son truc mais pour du scripting, de la classification ou transformer du texte à la volée... ça dépanne carrément !
Et ce modèle préfère refuser plutôt qu'halluciner, ce qui est plutôt une bonne surprise je trouve. Voilà, si vous avez un Mac Apple Silicon sous macOS Tahoe,
apfel
et ses outils valent le coup d'œil pour vos petites tâches IA basiques / rapides de tous les jours.
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 %.
Ce que révèle l'étude
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.
Des exemples concrets
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.
Le problème pour la surveillance
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.
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 !
Une nouvelle méthode d'attaque cible les IA de développement comme Copilot. En publiant de la documentation empoisonnée, des hackers trompent les modèles pour qu'ils recommandent des bibliothèques malveillantes. Cette menace invisible pour la sécurité est indétectable par les outils classiques.
Le concept est d'une simplicité désarmante. Plus besoin d'injecter du code malicieux dans un dépôt GitHub ou de trouver une faille zero-day complexe. Il suffit désormais de publier de la documentation technique faussée sur des forums, des wikis ou des fichiers README publics. Ces textes, une fois ingérés par les grands modèles de langage (LLM), deviennent une source de vérité pour l'IA qui assiste les développeurs au quotidien.
Le mécanisme de l'injection indirecte
Le problème est en fait dans la confiance aveugle que les modèles accordent aux données d'entraînement. En décrivant une solution technique qui utilise un paquet spécifique — mais malveillant — l'attaquant s'assure que l'IA proposera ce nom lors d'une requête de génération de code. C'est ce qu'on appelle l'injection de prompt indirecte. Le développeur, pensant gagner du temps, valide la suggestion et installe un composant compromis sans vérification préalable.
Le typosquatting passe au niveau supérieur
Cette technique facilite grandement le typosquatting. Auparavant, un attaquant devait espérer qu'un humain fasse une faute de frappe en saisissant une commande. Aujourd'hui, c'est l'IA qui commet l'erreur pour lui, influencée par des références empoisonnées trouvées sur le web. Comme l'IA présente la solution avec une assurance pédagogique, le sens critique de l'utilisateur baisse d'un cran. Le malware n'est plus dans la documentation, il arrive dans la machine au moment où le développeur exécute la suggestion générée.
Un défi pour la cybersécurité logicielle
La difficulté majeure est que cette attaque est purement textuelle. Les outils de scan de vulnérabilités cherchent du code dangereux, pas des explications trompeuses en langage naturel. Tant que les modèles d'IA ne sauront pas distinguer une documentation légitime d'une tentative de manipulation sémantique, la chaîne d'approvisionnement logicielle restera vulnérable à cette forme de gaslighting numérique. La sécurité repose désormais sur la véracité de l'information ingérée par les machines.
On atteint ici les limites de l'automatisation du développement. Faire confiance à un LLM pour choisir ses dépendances est devenu un risque de sécurité majeur. Cette faille montre que le maillon faible n'est plus seulement l'humain qui tape du code, mais l'outil qui lui souffle les réponses. On risque de voir apparaître des systèmes de vérification de réputation de documentation.
Un mec de 54 ans vient de plaider coupable pour avoir siphonné 8 millions de dollars aux artistes musicaux en utilisant 10 000 bots et de la musique générée par IA. Michael Smith, résident de Cornelius en Caroline du Nord, a monté pendant des années une ferme à streams qui écoutait en boucle des centaines de milliers de fausses chansons sur Spotify et Apple Music.
Le truc, c'est que ces plateformes ne paient pas un tarif fixe par écoute. Elles fonctionnent avec un pot commun mensuel qu'elles redistribuent proportionnellement au nombre de streams. Du coup, chaque fausse écoute générée par les bots de Smith grignotait directement la part des vrais artistes. En gros, c'est pas Spotify qui se faisait voler, c'est les musiciens qui galèrent déjà à vivre de leur art !
Pour le contenu, Smith avait en fait trouvé un deal avec le CEO d'une boîte de musique IA qui lui pondait des milliers de morceaux par semaine. Les fichiers WAV arrivaient sous forme de chaînes aléatoires de lettres et de chiffres, et il les renommait avec des noms d'artistes fictifs du genre "Calorie Event", "Calms Scorching" ou encore "Calypso Xored" (on sent le générateur de noms random). Les titres, pareil... "Zygotes", "Zyme Bedewing"... si vous tombez là-dessus dans votre discover, y'a de quoi tiquer quand même mais bon...
Et ce problème, ça pose une question que
Spotify connaît bien
: comment distinguer les vrais streams des faux quand les bots sont suffisamment dispersés sur des milliers de morceaux ? Smith avait justement calibré ses 10 000 bots pour ne pas déclencher les alertes anti-fraude, en répartissant les écoutes sur un catalogue énorme plutôt que de matraquer un seul titre. Pas con.
Mais le bonhomme s'est quand même fait choper. Il a accepté de rendre la totalité des 8 091 843 dollars et risque jusqu'à 5 ans de prison lors de son procès qui aura lieu le 29 juillet prochain. Pas sûr que le ratio risque/récompense en valait la chandelle, en fait.
Le problème de fond, c'est que cette affaire n'est probablement que la partie émergée de l'iceberg. Et je suis sûr que y'en a en France qui font la même... bah sachez que c'est pas cool et que vous risquez d'avoir de GROS ennuis... Avec les outils de génération musicale par IA qui se démocratisent, n'importe qui peut inonder les plateformes de contenu synthétique pour gratter des royalties.
Et tant que le modèle de rémunération repose sur un pot commun plutôt que sur un paiement direct par utilisateur, il sera vulnérable. Encore une fois, les vrais perdants, c'est pas les plateformes (elles prennent leur commission quoi qu'il arrive), mais ce sont les artistes indépendants qui voient leur part du gâteau fondre à chaque bot supplémentaire.
Moche...
Bref, la prochaine fois que votre playlist de découvertes vous propose un artiste nommé "Calypso Xored" ou un connerie de ce style... méfiance !
SynthID, le filigrane invisible que Google injecte dans chaque image Gemini, c'était censé être incassable. Sauf qu'un dev a eu l'idée toute bête de générer des images noires et blanches avec Gemini, puis de regarder ce qui restait dans le domaine fréquentiel. Et là, surprise... le watermark est apparu en clair avec toutes ses fréquences porteuses !
Le projet
reverse-SynthID
documente le truc de A à Z où on comprend en gros, que le marquage IA de Google fonctionne en injectant de l'énergie à des fréquences bien précises dans le spectre de l'image via une
transformation de Fourier
. Le chercheur a identifié 6 fréquences porteuses principales, toutes avec une cohérence de phase supérieure à 99,9% et la blague, c'est que ce pattern est fixe. Donc pas de message unique par image, pas de clé qui change... c'est juste la même empreinte spectrale sur toutes les images sorties du modèle Gemini.
Spectre FFT du watermark SynthID - les pics lumineux correspondent aux fréquences porteuses identifiées
Du coup, une fois que vous avez profilé cette empreinte avec une cinquantaine d'images PNG de référence (25 noires, 25 blanches, générées via l'API Gemini), vous pouvez faire deux trucs. D'abord, détecter le filigrane avec 90% de précision, sans avoir le moindre accès au code source de Google. Et ensuite le retirer en soustrayant les composantes spectrales identifiées, fréquence par fréquence, tout en préservant la qualité de l'image à plus de 40 dB PSNR. Visuellement identique à l'original !
Et c'est là que la différence avec
UnMarker
(dont je vous avais parlé) saute aux yeux car ce dernier "secoue" l'image en aveugle pour casser le watermark. Alors que Reverse-SynthID, c'est plutôt scruté à la loupe et hyper ciblé. Résultat, y'a clairement moins de dégradation et un drop de confiance du détecteur.
Les fréquences porteuses reconstruites - la structure diagonale du watermark SynthID
Par contre, je l'ai implémenté en Rust et j'ai essayé de voir si ça marchait vraiment sur mes propres images générée avec Gemini. Hé bien non, car le bypass ne fait PAS chuter la confiance du détecteur de 100 à 0, mais juste de quelques pourcents.
Le watermark est atténué, mais pas effacé. Ce n'est donc pas un outil clé en main pour faire disparaître tous les filigranes SynthID en un clic. Mais le fait qu'une seule personne, avec du Python et du traitement de signal classique (FFT, filtres notch, soustraction spectrale), ait pu reverse-engineerer un système que Google présente comme LA solution anti-deepfakes...
Ça confirme ce que les chercheurs de l'Université de Waterloo avaient déjà démontré : le watermarking d'images IA, c'est pété by design.
D'ailleurs, Google le sait très bien et ils pourraient changer le pattern demain et tout serait à refaire, mais ça confirme surtout que le principe même du watermarking spectral a une date de péremption. Après, ça arrange tout le monde d'avoir un truc à montrer quand les gouvernements demandent "et contre les deepfakes, vous faites quoi ?"
Et si c'est la petite étoile visible en bas à droite des images Gemini qui vous gêne (pas le watermark spectral invisible, juste le marqueur visuel), j'ai développé
un outil pour mes Patreons
qui s'en occupe.
Bref, tout est
sur le repo
si le reverse-engineering de watermarks IA, ça vous branche !
Des chercheurs de l'université de Californie du Sud viennent de publier une étude improbable : demander à un modèle d'IA de jouer les experts dégrade ses performances sur les tâches factuelles. Commencer un prompt par "Tu es un expert en programmation" produit de moins bons résultats que de poser la question directement.
Le piège du "tu es un expert"
L'étude, intitulée "Expert Personas Improve LLM Alignment but Damage Accuracy", a mesuré l'impact des instructions de rôle sur les réponses des modèles de langage.
Sur le benchmark MMLU, qui teste les connaissances générales et le raisonnement, les modèles avec une persona d'expert ont obtenu 68 % de bonnes réponses contre 71,6 % sans aucune instruction de rôle.
La baisse est constante sur toutes les catégories testées : maths, code, sciences, culture générale. Bref, dire à une IA qu'elle est brillante la rend un peu moins brillante.
Quand ça marche quand même
Par contre, le persona prompting fonctionne très bien pour un autre type de tâches : la sécurité et l'alignement. En attribuant un rôle de "moniteur de sécurité" au modèle, les chercheurs ont augmenté le taux de refus d'attaques de 53,2 % à 70,9 %, soit une hausse de 17,7 points. Pour les tâches d'écriture et de mise en forme, les personas aident aussi.
L'explication est assez logique : quand on colle un rôle d'expert au modèle, il bascule en mode "suivi d'instructions" et mobilise moins de ressources pour aller chercher les faits dans ses données d'entraînement. Aucune connaissance n'est ajoutée, on déplace juste l'attention du modèle.
Le bon réflexe à adopter
Les chercheurs de l'USC proposent un outil baptisé PRISM qui active automatiquement les personas uniquement quand c'est utile. Mais en attendant que ce genre de système soit intégré aux chatbots grand public, la recommandation est simple : si vous avez besoin de réponses factuelles ou de code, posez votre question directement sans ajouter de rôle.
Si vous voulez que l'IA respecte un ton, un format ou des consignes de sécurité, le persona prompting reste la bonne approche.
On a quand même passé deux ans à répéter partout qu'il fallait commencer ses prompts par "Tu es un expert en..." pour avoir de meilleurs résultats. Visiblement, c'était un peu du vent.
Hé oui, cest chacals d'OpenAI ferment leur plateforme de vidéos IA, et franchement, ça me rend un peu triste. À vrai dire, même si c’était que de la vidéo générée à partir de prompts, moi je me marrais bien. C'était fun de regarder le produit de ses prompts mais aussi de regarder les conneries des autres. Les versions québécoises, aïe aïe aïe, c’était quelque chose quand même !
Mais bon, le plus urgent maintenant, c’est de sauvegarder vos vidéos avant que tout disparaisse. OpenAI n’a pas encore communiqué de date précise pour la coupure, juste un vague « on vous dira bientôt ». Du coup, autant ne pas traîner, parce que quand ce genre de service cloud ferme, en général c’est pas 6 mois de préavis qu’on vous file...
Depuis
la fuite du modèle
jusqu’à aujourd’hui, Sora aura fait parler de lui. Côté raisons, c’est Fidji Simo (la patronne de la division Applications) qui a lâché le morceau : ils éparpillent leurs efforts sur trop d’apps, d’API et de stacks serveur différents, et ça les ralentit. En gros, entre préparer une entrée en bourse pour fin 2026 et cramer du GPU H100 sur des vidéos de chats en IA, le choix est vite fait. L’équipe de recherche Sora, elle, continuera à bosser sur la simulation de mondes 3D... mais pour la robotique. Et le fameux deal à 1 milliard de dollars avec Disney pour des films et séries ? Pouf, magie magie, c'est envolé !!
Faut dire que les chiffres n’étaient pas glorieux non plus. Après un lancement en fanfare fin 2024 (et une app iOS lancée à l’automne 2025 qui avait cartonné dans les charts), les téléchargements sur l’App Store avaient plongé de 32% entre novembre et décembre 2025. La hype, ça dure qu’un temps.
Mais maintenant les gens, on passe aux choses sérieuses !
Sora Backup - le script qui sauve vos vidéos
Je n'avais absolument pas de temps aujourd'hui, mais j'ai quand même taffé pour vous développer un petit script JavaScript qui récupère TOUTES vos vidéos Sora d’un coup, avec les prompts et les métadonnées, et qui vous génère un joli ZIP prêt à archiver. Pas besoin d’installer quoi que ce soit, pas d’extension louche. Vous avez juste besoin d'être connecté à votre profil Sora et d'un navigateur.
Comment ça marche
Allez sur
sora.com
, connectez-vous à votre compte, puis ouvrez la console JavaScript de votre navigateur (F12 sur Chrome ou Firefox, onglet Console). Ensuite, glissez-déplacez ou collez le script ci-dessous dedans et appuyez sur Entrée.
Le script va automatiquement récupérer votre token d’authentification (pas besoin de le chercher vous-même), puis il va paginer sur votre profil Sora pour récupérer tous vos posts publiés. Pour chaque post, il extrait les vidéos attachées (MP4), les télécharge, et empaquette le tout dans un fichier ZIP directement dans votre navigateur.
Y’a même un fichier manifest.json dans le ZIP qui contient tous vos prompts, les dimensions, les durées, les permalinks, les dates de création... bref, tout ce qu’il faut pour retrouver vos petits. Le ZIP est généré en format STORE (pas compressé, parce que compresser du MP4 ça sert à rien), avec un calcul CRC32 maison et sans aucune librairie externe.
Le script complet
Voici le code à coller dans la console :
//==========================================================//SORABACKUP-Sauvegardecomplètevidéos+images+promptsparKorben//==========================================================//Usage:Ouvrirhttps://sora.com,F12>Console,collercescript//Lesfichierssonttéléchargésvialenavigateur(dossierDownloads)//Unfichiermanifest.jsonrécapituletout(prompts,metadata,URLs)//==========================================================(async()=>{//---MiniZIPbuilder(STORE,pasdelibexterne)---constcrc32table=newUint32Array(256);for(leti=0;i<256;i++){letc=i;for(letj=0;j<8;j++)c=(c&1)?(0xEDB88320^(c>>>1)):(c>>>1);crc32table[i]=c;}functioncrc32(buf){letc=0xFFFFFFFF;for(leti=0;i<buf.length;i++)c=crc32table[(c^buf[i])&0xFF]^(c>>>8);return(c^0xFFFFFFFF)>>>0;}constzipFiles=[];//{name,data(Uint8Array),crc,size}constPAGE_SIZE=50;constDELAY_MS=1500;constmanifest=[];lettotalDownloaded=0;lettotalErrors=0;//---Auth:récupérerleBearertoken---//OPTION1:Collertontokenici(Networktab>Authorizationheader)//OPTION2:Laisservide,lescripttenteradelerécupérerautoletAUTH_TOKEN='';asyncfunctiongetAuthToken(){if(AUTH_TOKEN)returnAUTH_TOKEN;//Auto-detect:endpointsessionChatGPTfor(constpathof['/api/auth/session','/backend-api/auth/session']){try{constr=awaitfetch(path,{credentials:'include'});if(r.ok){constjson=awaitr.json();if(json.accessToken){AUTH_TOKEN=json.accessToken;console.log(' 🔑 Token récupéré automatiquement');returnAUTH_TOKEN;}}}catch(e){}}//Fallback:demanderàl'utilisateurconstinput=prompt('Token non trouvé automatiquement.\n\n'+'Pour le récupérer :\n'+'1. F12 > onglet Réseau\n'+'2. Rafraîchis la page\n'+'3. Clique sur une requête /backend/...\n'+'4. Copie le header Authorization\n\n'+'Colle le token ici (Bearer eyJ...):');if(input){AUTH_TOKEN=input.replace(/^Bearer\s+/i,'').trim();returnAUTH_TOKEN;}console.error(' ❌ Pas de token. Annulation.');returnnull;}//---FetchAPIavecauth---asyncfunctionapiFetch(url){consttoken=awaitgetAuthToken();constheaders={};if(token)headers['Authorization']='Bearer '+token;//oai-device-idrequisparcertainsendpointsconstdeviceId=localStorage.getItem('oai-did')||'';if(deviceId)headers['oai-device-id']=deviceId;constresp=awaitfetch(url,{method:'GET',credentials:'include',headers});if(!resp.ok)thrownewError(`HTTP${resp.status}for${url}`);returnresp.json();}//---Paginationgénérique---asyncfunctionfetchAllPages(baseUrl,dataField='data',cursorParam='after',cursorField='last_id'){letallItems=[];letcursor='';letpage=0;while(true){leturl=baseUrl;if(cursor)url+=`&${cursorParam}=${cursor}`;console.log(`📄Page${++page}(${allItems.length}itemssofar)...`);constjson=awaitapiFetch(url);constitems=json[dataField];if(!Array.isArray(items)||items.length===0)break;allItems=allItems.concat(items);cursor=json[cursorField]||'';if(!json.has_more&&!cursor)break;awaitsleep(DELAY_MS);}returnallItems;}//Variantepourlesendpointsproject_y(cursor-based)asyncfunctionfetchAllPagesCursor(baseUrl){letallItems=[];letcursor='';letpage=0;while(true){leturl=baseUrl;if(cursor)url+=`&cursor=${cursor}`;console.log(`📄Page${++page}(${allItems.length}itemssofar)...`);constjson=awaitapiFetch(url);constitems=json.items;if(!Array.isArray(items)||items.length===0)break;allItems=allItems.concat(items);cursor=json.cursor||'';if(!cursor)break;awaitsleep(DELAY_MS);}returnallItems;}functionsleep(ms){returnnewPromise(r=>setTimeout(r,ms));}//---ExtraireURLdumédiadepuisunegeneration---functiongetMediaUrl(gen){returngen?.encodings?.source?.path||gen?.downloadable_url||gen?.url||'';}//---Extraireleprompt(peutêtredansactions,prompt,ouinput_text)---functiongetPrompt(item,gen){//Promptdirectif(gen?.prompt)returngen.prompt;if(item?.prompt)returnitem.prompt;if(item?.input_text)returnitem.input_text;//Storyboard:lesactionssontlesdescriptionsdesscènesif(item?.actions&&typeofitem.actions==='object'){returnObject.entries(item.actions).sort((a,b)=>Number(a[0])-Number(b[0])).map(([frame,desc])=>`[frame${frame}]${desc}`).join(' | ');}if(gen?.actions&&typeofgen.actions==='object'){returnObject.entries(gen.actions).sort((a,b)=>Number(a[0])-Number(b[0])).map(([frame,desc])=>`[frame${frame}]${desc}`).join(' | ');}return'';}//---DéroulerlesitemsduprofilSoraenitemsplats---functionflattenProfileItems(items){constflat=[];for(constitemofitems){constpost=item.post||item;constattachments=post.attachments||[];if(attachments.length===0)continue;for(constattofattachments){consturl=att.encodings?.source?.path||att.downloadable_url||att.url||'';if(!url)continue;flat.push({id:post.id||att.generation_id||'',generation_id:att.generation_id||'',task_id:att.task_id||'',title:att.title||post.discovery_phrase||'',prompt:post.text||'',emoji:post.emoji||'',type:att.generation_type||att.kind||'',width:att.width||0,height:att.height||0,duration_s:att.duration_s||0,is_public:!!post.posted_to_public,created_at:post.posted_at?newDate(post.posted_at*1000).toISOString():'',url:url,permalink:post.permalink||'',username:item.profile?.username||'',});}}returnflat;}//---Sanitizefilename---functionsanitize(name){returnname.replace(/[<>:"\/\\|?*\x00-\x1f]/g, '_').substring(0, 100);}//---AjouterunfichierauZIP---asyncfunctionaddToZip(url,filename){try{constresp=awaitfetch(url);if(!resp.ok)thrownewError(`HTTP${resp.status}`);constbuf=awaitresp.arrayBuffer();constdata=newUint8Array(buf);zipFiles.push({name:filename,data,crc:crc32(data),size:data.length});totalDownloaded++;returntrue;}catch(e){console.warn(`⚠️Erreur${filename}:`,e.message);totalErrors++;returnfalse;}}//---Déduirel'extension ---functiongetExt(url,type){if(!url)returntype==='video'?'.mp4':'.png';constm=url.match(/\.(mp4|webm|mov|png|jpg|jpeg|webp|gif)/i);returnm?'.'+m[1].toLowerCase():(type==='video'?'.mp4':'.png');}//==========================================================//MAIN//==========================================================constorigin=window.location.origin;console.log('🎬 SORA BACKUP - Démarrage');console.log('='.repeat(50));//1.MespostsSora(profil)console.log('\n📦 1/2 - Récupération de mes posts Sora...');letmyPosts=[];try{myPosts=awaitfetchAllPagesCursor(`${origin}/backend/project_y/profile_feed/me?limit=${PAGE_SIZE}&cut=nf2`);console.log(`✅${myPosts.length}postsdeprofil`);//Debugpremieritemif(myPosts.length>0){constfirst=myPosts[0];console.log(' 🔍 Premier item - clés:',Object.keys(first).join(', '));console.log(' 🔍 URL:',first.url?.substring(0,80)||'none');console.log(' 🔍 DL:',first.downloadable_url?.substring(0,80)||'none');console.log(' 🔍 ENC:',first.encodings?.source?.path?.substring(0,80)||'none');console.log(' 🔍 GENS:',first.generations?.length||'none');console.log(' 🔍 TITLE:',first.title||'none');}}catch(e){console.warn(' ⚠️ profil failed:',e.message);}//2.MeslikessurSoraconsole.log('\n📦 2/2 - Récupération de mes likes Sora...');letmyLikes=[];try{myLikes=awaitfetchAllPagesCursor(`${origin}/backend/project_y/profile_feed/me?limit=${PAGE_SIZE}&cut=appearances`);if(myCameos.length)console.log(`✅${myCameos.length}cameostrouvés`);}catch(e){}//---Déroulerlesgenerationsetdédupliquer---console.log('\n🔄 Extraction des vidéos...');constrawAll=[...myPosts,...myLikes];constflatItems=flattenProfileItems(rawAll);constseen=newSet();constallItems=[];for(constitemofflatItems){if(item.id&&seen.has(item.id))continue;//Filtrer:vidéosuniquementconstisVideo=item.type==='video_gen'||item.url.includes('/videos/')||item.url.includes('.mp4');if(!isVideo)continue;if(item.id)seen.add(item.id);allItems.push(item);}console.log(`📊Totalunique:${allItems.length}vidéosàtélécharger`);console.log('='.repeat(50));//---Construirelemanifestettélécharger---console.log('\n⬇️ Téléchargement en cours...');console.log('(Les fichiers arrivent dans ton dossier Downloads)');for(leti=0;i<allItems.length;i++){constmeta=allItems[i];consturl=meta.url;if(!url){console.log(`⏭️[${i+1}/${allItems.length}]${meta.id}-pasd'URL, skip`);meta.downloaded=false;manifest.push(meta);continue;}consttype=(meta.task_type==='image_gen'||url.match(/\.(png|jpg|jpeg|webp|gif)/i))?'image':'video';constext=getExt(url,type);constnameBase=meta.title?sanitize(meta.title):(meta.prompt?sanitize(meta.prompt.substring(0,60)):meta.id);constfilename=`sora_${String(i+1).padStart(4,'0')}_${nameBase}${ext}`;console.log(`⬇️[${i+1}/${allItems.length}]${filename}`);meta.filename=filename;meta.downloaded=awaitaddToZip(url,filename);manifest.push(meta);//Pauseentredownloadspourpassurchargerif(i<allItems.length-1)awaitsleep(800);}//---AjouterlemanifestauZIP---console.log('\n📝 Ajout du manifest au ZIP...');constmanifestData=newTextEncoder().encode(JSON.stringify(manifest,null,2));zipFiles.push({name:'manifest.json',data:manifestData,crc:crc32(manifestData),size:manifestData.length});//---GénérerleZIP(formatSTORE,pasdecompression)---console.log('\n📦 Génération du ZIP...');constenc=newTextEncoder();constblobParts=[];constcentralParts=[];letoffset=0;for(constfofzipFiles){constnameBytes=enc.encode(f.name);//Localfileheader(30bytes+name)constlh=newArrayBuffer(30);constlv=newDataView(lh);lv.setUint32(0,0x04034b50,true);lv.setUint16(4,20,true);lv.setUint16(8,0,true);//STORElv.setUint32(14,f.crc,true);lv.setUint32(18,f.size,true);lv.setUint32(22,f.size,true);lv.setUint16(26,nameBytes.length,true);blobParts.push(newUint8Array(lh),nameBytes,f.data);//Centraldirectoryentry(46bytes+name)constch=newArrayBuffer(46);constcv=newDataView(ch);cv.setUint32(0,0x02014b50,true);cv.setUint16(4,20,true);cv.setUint16(6,20,true);cv.setUint16(10,0,true);//STOREcv.setUint32(16,f.crc,true);cv.setUint32(20,f.size,true);cv.setUint32(24,f.size,true);cv.setUint16(28,nameBytes.length,true);cv.setUint32(42,offset,true);centralParts.push(newUint8Array(ch),nameBytes);offset+=30+nameBytes.length+f.size;}constcentralSize=centralParts.reduce((s,p)=>s+p.length,0);consteocd=newArrayBuffer(22);constev=newDataView(eocd);ev.setUint32(0,0x06054b50,true);ev.setUint16(8,zipFiles.length,true);ev.setUint16(10,zipFiles.length,true);ev.setUint32(12,centralSize,true);ev.setUint32(16,offset,true);constzipBlob=newBlob([...blobParts,...centralParts,newUint8Array(eocd)],{type:'application/zip'});constzipName=`sora_backup_${newDate().toISOString().split('T')[0]}.zip`;consta=document.createElement('a');a.href=URL.createObjectURL(zipBlob);a.download=zipName;document.body.appendChild(a);a.click();document.body.removeChild(a);URL.revokeObjectURL(a.href);//---Résumé---constsizeMB=(zipBlob.size/1024/1024).toFixed(1);console.log('\n'+'='.repeat(50));console.log('🎬 SORA BACKUP TERMINÉ');console.log(`✅VidéosdansleZIP:${totalDownloaded}`);console.log(`❌Erreurs:${totalErrors}`);console.log(`📦Fichier:${zipName}(${sizeMB}MB)`);console.log(`📝manifest.jsoninclusdansleZIP`);console.log('='.repeat(50));})();
Quelques précisions
Si le token n’est pas récupéré automatiquement (ça peut arriver selon votre config), le script vous demandera de le coller manuellement. Pour le trouver, c’est simple : F12 > onglet Réseau > rafraîchissez la page > cliquez sur n’importe quelle requête vers /backend/... > copiez le header Authorization.
D’ailleurs, si la vidéo IA vous branche toujours,
Higgsfield
propose des séries entièrement générées par IA. C’est pas la même approche que Sora, mais c’est un signe que la vidéo IA ne meurt pas avec la fermeture d’un seul service.
Bon, bref, c’est la fin d’un truc sympa. Moi je préférais largement scroller sur Sora sur d'aller sur TikTok ou Instagram parce qu'au moins c'était drôle !
Merci à mes
Patreons
qui me permettent de prendre le temps de développer ce genre de petits outils pour vous. Sans eux, j’aurais jamais pu me poser une après-midi pour coder ça.
"Une requête ChatGPT consomme 10 fois plus d'énergie qu'une recherche Google."
Cette phrase, vous l'avez lue 100 fois. Mais est-ce vraiment vrai ?
Charles Duprat, chercheur en inclusion numérique, vient de publier un papier qui retourne complètement ce chiffre. Et même si je suis incapable de vérifier la validité scientifique de tout ce qu'il avance, ça vaut le coup d'en parler.
Son argument de base est simple et pas con. En fait quand on compare l'énergie d'une requête IA vs une recherche Google, on ne regarde en fait que ce qui se passe côté serveur, plutôt que l'ensemble de la chaîne. Le GPU Nvidia qui mouline d'un côté, l'index Google qui répond de l'autre.
Sauf que dans la vraie vie, une recherche web sur votre iPhone ou votre Android, c'est clairement pas juste un serveur qui tourne ! C'est le téléchargement de plusieurs mégaoctets via la 4G, c'est du JavaScript et du CSS qui font chauffer le CPU de votre téléphone, c'est du temps d'écran, et surtout c'est des dizaines de scripts publicitaires et de trackers qui tournent en arrière-plan. Et rien de tout ça n'apparaît dans le bilan "officiel".
Du coup, le chercheur a modélisé la comparaison au niveau de la session utilisateur complète. Donc pas juste la requête serveur, mais tout le trajet : réseau mobile, rendu de page, pubs, temps passé à lire. Et là, les résultats sont contre-intuitifs car pour une tâche complexe sur mobile (genre comparer des pompes à chaleur et des chaudières gaz), une session LLM consommerait environ 5,4 fois moins d'énergie qu'une session de recherche web classique. Dans le pire des cas modélisé, l'avantage reste quand même de 1,6 fois.
Alors d'où ça vient ?
D'abord, la page web médiane sur mobile pèse 2,56 Mo. Oui, 2,56 Mo pour une seule page web sur Chrome ou Safari qui est ensuite transmise en 4G à 0,17 kWh/Go, et ça, ça coûte déjà plus en énergie réseau qu'une inférence LLM complète. Une réponse ChatGPT ou Claude, c'est environ 5 Ko de texte brut. Le ratio de transmission est de 500 pour 1 avant même de parler du reste. Quand on sait déjà que la
consommation réelle des datacenters
est un sujet à tiroirs, ça relativise pas mal.
Et puis y'a le boulet de la pub programmatique ! Des études (Khan et al., 2024) montrent que les bloqueurs de pub intégrés comme Brave réduisent la consommation électrique du terminal de 15 à 44%. En gros, quand vous naviguez sur un site d'actu classique, jusqu'à 41% de l'énergie de la session sert à charger et exécuter du JavaScript publicitaire. Hé bien le LLM court-circuite tout ça en vous filant une réponse texte directe.
Comme je vous le disais en intro, je suis totalement incapable de valider la méthodologie de cette étude... Allez savoir si les paramètres sont bien calibrés. Et c'est un working paper, donc pas encore relu par des pairs, avec des simulations plus nombreuses. L'auteur se base sur des chiffres publiés par Google pour Gemini (0,24 Wh par prompt, issu d'un papier arXiv), par Epoch AI pour ChatGPT (0,30 Wh), et par Sam Altman lui-même (0,34 Wh). Et comme ces chiffres viennent des constructeurs eux-mêmes, ça mérite qu'on garde un oeil critique.
Par contre, l'étude a aussi l'honnêteté de poser ses propres limites car l'avantage s'effondre pour les requêtes simples en Wi-Fi depuis votre PC ou Mac (quasi parité LLM <> Google). Et surtout, ça s'inverse violemment dès qu'on passe aux modèles de raisonnement type o3 ou Deep Think, qui consomment 30 à 700 fois plus qu'une inférence standard parce qu'ils génèrent des chaînes de pensée à rallonge.
Le paradoxe de Jevons est aussi mentionné : si l'IA est plus efficace par requête, les gens en feront forcément plus, donc la consommation globale augmentera quand même. Et la question des
modèles éco-responsables
reste elle aussi entière.
Mais bon, cette étude remet quand même en question un truc qu'on répète tous sans trop réfléchir. Comparer un serveur IA à un serveur Google, c'est oublier que la recherche web moderne, c'est devenu "recherche + publicité + réseau mobile + rendering JavaScript + temps d'attention". Et comme Google lui-même commence à coller de l'IA (les AI Overviews) en plus par-dessus ses résultats classiques, ça devient un joyeux bordel à mesurer...
100 millions de dollars, c'est ce que coûterait normalement la production d'un pilote de qualité ciné, d'après Higgsfield, une boite basée à San Francisco et fondée par Alex Mashrabov.
Et eux, ils l'ont fait en 4 jours avec une équipe de 4 personnes et quelques GPU. Bienvenue dans l'ère du streaming généré par IA !
La plateforme vient en effat de lancer ses
Original Series
, une sorte de Netflix où tout le catalogue est généré par IA. On y trouve 13 séries dispo (sci-fi, thriller, anime, comédie...) avec des titres comme Arena Zero, Spit & Glow ou encore Tails of Steel, plus 6 autres en préparation. Et tout ça, des dialogues aux effets visuels en passant par le doublage, est généré par intelligence artificielle (même si évidemment, y'a des humains derrière pour le scénario, le prompting et le montage).
Mais le truc fou je trouve, c'est le modèle communautaire. En fait, Higgsfield a organisé un concours qui a attiré plus de 8 700 créateurs venus de plus de 100 pays, comme ça plutôt que de produire en interne, ils laissent la communauté proposer des teasers. Les spectateurs votent alors pour ceux qu'ils préfèrent, et les gagnants se retrouvent à produire des séries complètes avec l'équipe.
Cela veut dire que n'importe qui avec une bonne idée et un bon sens du prompt peut devenir "réalisateur"... sans jamais toucher une caméra ni un plateau de tournage.
Côté boîte à outils, la plateforme ne fait pas les choses à moitié. Y'a le Cinema Studio 2.5 pour la
génération vidéo
, et la plateforme intègre des modèles tiers comme Kling 3.0 (vidéos de 15 secondes avec personnages cohérents),
Sora 2
, Veo 3.1, et même du clonage vocal via ElevenLabs. Pour l'image, y'a Nano Banana Pro (oui, c'est le vrai nom) qui sort du 4K, et plus de 100 apps prêtes à l'emploi pour le face swap, les VFX ou la création de contenu commercial.
Par contre, tout ça repose sur des modèles tiers... donc le jour où OpenAI ou Google changent les conditions liées à leurs API, ça peut les secouer un peu.
Maintenant pour ceux qui se demandent si c'est gratuit, oui, y'a un tier free avec des crédits quotidiens via l'app mobile Diffuse. Sauf que les crédits partent trèèès vite, car générer une vidéo de 15 secondes en 4K, ça consomme pas mal de compute. Pour les gros volumes, faudra donc passer à la caisse.
Alors c'est pas encore 100% nickel mais j'ai été vraiment bluffé par cet épisode par exemple :
C'est vrai que le lipsync n'est pas toujours perfecto, que les mains font parfois n'importe quoi, et que la continuité entre les plans n'est pas toujours raccord.
Mais le concept est dingue quand même car là où il fallait un studio avec des centaines de techniciens, des caméras RED à 50 000 balles et des mois de post-production, y'a maintenant un pipeline automatisé qui prend un scénario et crache un épisode complet. Et le fait que les créateurs viennent du monde entier, sans formation ciné, ça change tout en terme de scénario et de diversité de contenus !
Donc, si vous voulez voir à quoi ressemble le cinéma actuel quand c'est l'IA qui tient la caméra, allez jeter un œil. C'est encore un peu brouillon mais ça progresse très vite (trop ?), je trouve...