Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

OTI - Le lien à usage unique que les bots ne crament plus

Si vous avez déjà envoyé un lien à usage unique qui est arrivé mort chez votre collègue, c'est probablement la prévisualisation de la messagerie qui a ouvert le lien en premier et qui a cramé le secret accompagnant le lien.

La bonne nouvelle c'est que Oğuzhan Karacabay vient de publier une grosse mise à jour d' OTI , son service open source auto-hébergeable qui génère des liens de partage consultables une seule fois, avec chiffrement dans le navigateur.

Vous collez un mot de passe, une clé d'API ou un bout de config dans OTI, le navigateur chiffre, le serveur lui ne stocke que du charabia, et le destinataire reçoit une jolie URL qui ne fonctionnera bien qu'une fois.

Ce qui change, c'est que le lien ne meurt plus tout seul. En chargeant la page, votre destinataire voit un compte à rebours et un bouton "Decrypt Message", rien d'autre. Du coup, tant que personne ne clique, le message continue son roupillon.

Comme ça, un bot qui déroule les URLs pour fabriquer une jolie vignette repart bredouille. Après si c'est un vrai scanner de sécurité qui charge vraiment la page dans un navigateur automatisé, vous ne pourrez pas éviter le problème.

L'autre nouveauté dans OTI c'est à la création d'un nouveau lien. Le service vous génère en fait 2 liens. Il y a celui que vous envoyez et un second que vous gardez pour vous. Ce dernier vous permettra de consulter l'état du message sans jamais afficher son contenu.

Côté crypto, le contenu est chiffré en AES-256-GCM via WebCrypto, et cette clé AES est elle-même emballée dans une paire RSA-2048 générée dans votre navigateur. La clé privée voyage dans le fragment de l'URL, la partie après le #, que les navigateurs n'envoient jamais au serveur.

Le principe zero-knowledge utilisé par OTI est quasi le même que celui de PrivateBin ou d' Enclosed où la clé ne quitte jamais le navigateur.

Par contre, ça donne des liens obèses puisque le mien faisait 1825 caractères, dont 1728 rien que pour le fragment, et c'est déjà compressé en zlib. Bon courage donc pour le dicter au téléphone ^^ (il y a un QR code, heureusement !)

Le reste, c'est du confort... Fichiers .txt jusqu'à 100 Ko validés dans le navigateur avant chiffrement, mot de passe optionnel par-dessus, expiration au choix entre 5 minutes et 7 jours, limitation de débit via Redis et une tâche planifiée qui balaie les secrets périmés toutes les 30 minutes.

Pour l'héberger, c'est de l'AdonisJS 6 en TypeScript avec Dockerfile, docker-compose et migrations fournis, en licence MIT. Redis peut céder sa place au limiteur en mémoire si vous montez juste un petit truc perso.

Notez quand même que pour le moment, le projet n'a pas été audité et est maintenu par un gars tout seul, donc évitez de l'utiliser pour des secrets d'État.

La démo est en ligne si vous voulez essayer avant d'installer.

Hammer - Votre roman en fichiers texte, pas dans le cloud

Hammer, l'outil dont je vais vous parler aujourd'hui, est né d'un manuscrit perdu. En septembre 2020, son développeur Adam Brown vivait dans un van et écrivait dans des coins souvent très isolés, avec un logiciel gratuit qui se présentait comme fonctionnant hors ligne. Mais malheureusement, au bout d'une semaine sans réseau, le soft a cessé de fonctionner.

De retour en ville quelques jours plus tard, il a alors remis la main sur une connexion, et le logiciel est reparti, mais son manuscrit avait disparu !

Alors, dégoûté, il s'est dit qu'il allait coder son propre éditeur offline pour éviter que ça se reproduise, car hé, on n'est jamais aussi bien servi que par soi-même ! Et c'est pourquoi quand vous écrivez avec Hammer , chaque scène est un fichier texte enregistré sur votre disque dans le répertoire que vous avez spécifiquement choisi. Et c'est pareil pour tout ce qui est contenu annexe comme les notes et les fiches d'encyclopédie qui accompagnent les scènes.

Grâce à Hammer, qui est un logiciel gratuit sous licence MIT, vos idées sont rassemblées sous la forme d'un projet d'écriture avec tout ce qu'il faut pour prendre des notes, mettre des tags, faire des liens...etc.

L'éditeur de Hammer, avec la scène, son plan et ses notes sur le même écran.

Pour autant ce n'est pas un bloc-notes déguisé. Les scènes se réordonnent au glisser-déposer, ce qui est pratique quand vous décidez que deux personnages doivent se croiser trois chapitres plus tôt. L'encyclopédie catalogue les personnages, les lieux et les événements avec leurs images, et Hammer lit vos scènes pour repérer tout seul qui apparaît où.

La synchronisation entre vos appareils, elle, est totalement optionnelle. Et depuis la dernière version, le serveur de sync a une image Docker officielle . Un petit docker compose up -d et c'est en route, avec un volume pour vos données et le PostgreSQL embarqué directement dans le conteneur.

Si vous débutez en auto-hébergement , sachez quand même que le serveur ne parle que HTTP en local alors que les clients Hammer exigent du HTTPS, donc il faudra mettre en place un reverse proxy ou un certificat devant.

Et si vous n'avez pas envie de gérer un serveur, sachez que l'instance officielle hammer.ink est utilisable si vous êtes abonné au Patreon du projet. Vous pouvez aussi vous en passer et poser le dossier dans Syncthing ou Dropbox, mais ça ne marchera qu'entre vos ordinateurs, car les clients mobiles (Android / iOS) Hammer supportent uniquement le protocole intégré.

Bref, un super outil pour les écrivains, les journalistes et autres producteurs de contenu qui aiment bosser offline. Et si Hammer s'arrête de fonctionner un jour, votre roman sera encore avec vous.

Il déverrouille une Xbox 360 avec un Teensy et un peu de bruteforce

Il y en a qui récupèrent des vieux canapés dans des bennes à ordures et puis il y a eWastelander qui passe son temps à récupérer du matériel électronique pour ses futures bidouilles . Sa dernière prise, c'est une Xbox 360 à 15 dollars, dénichée au fond du rayon des "défectueux" d'un magasin de jeux qui soldait tout à moitié prix. Elle démarre parfaitement mais son unique défaut, c'est un contrôle parental verrouillé par un code que plus personne ne connaît.

C'est un modèle E, le dernier de la gamme, sorti à peu près au moment de la Xbox One . Malheureusement, ce verrou lui interdit tout ce qui dépasse la classification E, soit l'équivalent américain du tout public. Par exemple, le jeu Rock Band Blitz est classé T, donc bloqué. Autrement, dans cette console, il n'y a pas de disque dur, il n'y a aucun profil qui a été enregistré. Et il n'y a absolument rien à récupérer de l'ancien proprio. Voilà, il y a juste le code PIN et c'est tout.

Ce clic autorise une connexion à Google : adresse IP transmise et traceurs possibles. En savoir plus Voir cette vidéo sur YouTube

Alors évidemment première tentative, la question secrète de récupération. "Quel est votre plat préféré ?" Il tape pizza, puis burger, puis chicken mais aucun ne passe...

Deuxième tentative, le code de réinitialisation d'usine planqué dans les menus. Il va donc dans les paramètres de la console où se trouvent les informations système. Il faut alors enchaîner une autre combinaison secrète de 6 boutons toujours identiques (gâchette gauche, gâchette droite, X, Y, bumper gauche, bumper droit) suivi de 4 pressions supplémentaires qui, elles, changent d'une console à l'autre. eWastelander programme alors les combinaisons en macros sur une manette 8BitDo, branchée via un adaptateur Brook Wingman et déroule toute la liste. Mais RIEN !

Mais il ne se laisse pas battre par le désespoir et amorce une troisième tentative : l'exploit logiciel bad update, qui se lance sur une console de série sans avoir à l'ouvrir et donne accès à une appli homebrew capable d'afficher le code en clair. Cet exploit ne se déclenche que depuis 2 jeux, Tony Hawk's American Wasteland et Rock Band Blitz. Sauf que, comme je vous le disais, Rock Band Blitz est classé T, et le verrou le bloque. Il bascule alors sur un autre exploit nommé bad avatar, mais la console freeze ! Quel enfer ! Comme cette 360 n'a aucun stockage interne, et que l'exploit réclame un disque dur ou une unité mémoire pour fonctionner, bah ça plante.

Restait la méthode "officielle", telle que décrite sur wiki Console Mods. Cela consiste à enregistrer la console sur son compte Microsoft puis à demander un reset du code, ou appeler le support qui le communique. Mais ce même wiki précise que la méthode "aurait été abandonnée d'après les retours négatifs, mais reste ici pour mémoire". Bref, y'a plus personne au comptoir !

Sa dernière option, qui se présente à lui, un peu comme la solution de la dernière chance, c'est d'effectuer un brute force sur la console. Et ça tombe bien parce qu'un autre dev surnommé Agent24 avait repris en janvier 2020 le code d'un autre bidouilleur (écrit à la base pour Arduino) puis adapté au Teensy.

Le Teensy, si vous ne connaissez pas, c'est une carte qui se fait passer pour un clavier USB et tape les combinaisons une par une. Cela représente 10 000 possibilités pour un code à 4 chiffres, soit entre une seconde et 17 heures selon la chance qu'on a. eWastelander coupe alors l'extinction automatique, laisse la carte tourner, et se barre...

5 heures après, il revient voir ce qu'il en est et, oh magie, sa console est déverrouillée !!

Bravo. Encore une fois, le brut de force a triomphé et ça ne date pas d'hier puisqu'en 2013, déjà, je vous parlais d'un bricoleur qui cassait le code PIN d'un GPS Garmin avec un Arduino et un vieux scanner, sur exactement le même nombre de combinaisons que pour la Xbox.

Et voilà comment ressusciter une console qu'on croyait perdue pour toujours à cause d'un simple code de contrôle parental !

Source

Crashphalt - Le jeu Steam qu'on installe pour jouer à Undertale

Sur la page Steam du jeu indé Crashphalt , il se passe un phénomène assez étrange... Des joueurs laissent des avis du genre "j'ai tué Sans d'Undertale !", "Super jeu, un peu triste qu'il ne serve que de mod multijoueur pour Undertale" ou "Le meilleur jeu auquel on ne joue jamais". Sauf que Crashphalt c'est juste un jeu de baston à 4 sorti gratuitement en 2018, et qu'il n'y a pas la moindre trace d'Undertale dedans...

Son créateur, Jose Pacio (RetroSpecter pour les intimes), a mis un moment à comprendre le délire parce qu'à la sortie de son jeu, sa fiche affichait une dizaine d'avis. Et aujourd'hui elle en compte 555, dont 530 positifs, ce qui classe le jeu en "évaluations extrêmement positives". C'est la courbe dont rêve n'importe quel dev indé, à un détail près : aucun de ces avis ne parle de son jeu.

Ce clic autorise une connexion à Google : adresse IP transmise et traceurs possibles. En savoir plus Voir cette vidéo sur YouTube

Crashphalt, c'est donc un platform-fighter local à 4 joueurs dans la lignée de TowerFall, où on balance des ondes de choc dans le décor pour éjecter les copains. C'est le Studio Cold Pressed Games qui l'a sorti le 11 octobre 2018, en version gratuite, et c'était son premier jeu.

Alors quel est ce mystère ? Et bien l'explication c'est : un mod. En effet, Undertale Together , signé Depa et sorti en 2019, permet d'ajouter un deuxième joueur dans Undertale, le jeu de Toby Fox. Le hic, c'est que les deux joueurs partagent le même clavier, flèches pour l'un, WASD pour l'autre. C'est pratique quand votre pote est avec vous sur le canapé et que vous supportez son haleine de bouc, mais beaucoup moins quand il habite à 600 km.

Et Steam a justement un outil qui va bien pour ça : Remote Play Together. Le concept c'est qu'un joueur possède et fait tourner le jeu, et ses potes (4 maxi) peuvent le rejoindre en streaming sans avoir le jeu. Mais le problème, c'est que c'est au développeur de cocher la case, et Toby Fox ne l'a jamais cochée sur Undertale. Alors que le dev de Crashphalt, lui, l'a fait.

Vous voyez venir la suite... La manip consiste ensuite à copier les fichiers Steam de Crashphalt, sa steam_api.dll et son steam_appid.txt, dans le dossier d'installation d'Undertale, puis à renommer UNDERTALE.exe en Crashphalt.exe.

Le numéro d'application posé à côté de l'exécutable suffit à convaincre Steam que Crashphalt tourne, l'overlay s'affiche, l'invitation Remote Play Together se débloque, sauf qu'à l'écran, bah c'est Undertale jouable à deux !!

Et personne ne pirate quoi que ce soit au passage, puisqu'il vous faut une copie légitime d'UNDERTALE v1.08 pour y jouer. Voilà, c'est un jeu qui sert de bac à sable à autre chose que lui-même, et ce n'est pas quelque chose de neuf, puisque je vous faisais découvrir Garry's Mod il y a des années.

Tout s'est emballé en décembre 2022, quand un certain AMMARO73 a publié un tutoriel qui déroule la marche à suivre pour rendre Undertale multijoueur et aujourd'hui, la vidéo approche des 465 000 vues.

Ce clic autorise une connexion à Google : adresse IP transmise et traceurs possibles. En savoir plus Voir cette vidéo sur YouTube

Et puis le 12 juin 2025, quelqu'un poste la question qui fâche : "je me demande ce que ressent le développeur en sachant que littéralement personne ne se soucie de son jeu et l'utilise seulement pour modder d'autres jeux". C'est elle qui a fait sortir Jose Pacio du bois sur r/IndieDev.

Jose Pacio s'est même exprimé à ce sujet quand on lui a demandé si ça ne le faisait pas chier que son jeu soit juste devenu un utilitaire pour avoir un mode multi dans Undertale : "Ça ne me dérange pas du tout, ce que Crashphalt est devenu. Je suis passé à d'autres projets depuis longtemps, donc je trouve vraiment cool que le jeu ait trouvé une seconde vie."

Avec une réserve honnête quand même qui est que tant que Steam n'y trouve rien à redire, pas de souci pour que ça reste comme ça. Des jeux qui repartent pour un tour grâce à leur communauté, j'en ai déjà parlé avec Multi Theft Auto , mais rarement pour faire tourner le jeu d'un autre ^^.

Lui bosse maintenant sur Draftula , un roguelike de construction de château sans date de sortie. Et si vous cherchez un jeu gratuit sur Steam auquel jouer pour de vrai, j'avais parlé de Deep Snake .

Son post se termine par un PS adressé à Toby Fox : "Si tu lis ça, dis-moi si tu veux qu'on fasse un jeu ensemble". Un jour peut-être ?

Source

Votre vieux Morrowind se relance dans le navigateur

Si vous êtes fan de The Elder Scrolls III: Morrowind, j'ai une bonne nouvelle pour vous : vous allez pouvoir y jouer directement dans un onglet de navigateur ! En effet, c'est ce que nous propose openmw-web , signé Virtastic et sorti il y a quelques jours !

openmw-web fait donc tourner Morrowind dans un browser en recompilant OpenMW vers WebAssembly avec Emscripten. OpenMW, c'est le moteur libre qui réimplémente de zéro celui du jeu, et l'avoir en WebAssembly, ça permet de le faire tourner localement sur votre machine dans le navigateur.

Si vous voulez tester, il y a deux façons de vous lancer. Soit via le monde de démo livré avec OpenMW qui est jouable direct avec un petit village, ses PNJ, ses gardes et des créatures qui rôdent autour.

Ou alors vous pointez le navigateur vers le dossier Data Files de votre propre installation. Les fichiers sont alors lus en streaming depuis le disque via la File System Access API, rien n'est uploadé nulle part, et Tribunal, Bloodmoon et vos mods en .esp, .esm ou .bsa sont détectés tout seuls.

Dans ce mode, les sauvegardes atterrissent ensuite sous la forme de vrais fichiers dans un sous-dossier openmw-web-saves, donc vider le cache du navigateur ne les effacera pas. Alors que sur le monde de démo, elles resteront dans le stockage du navigateur, et là si vous videz votre cache en mode bourrin, vous perdrez votre avancement.

J'ai lancé la démo, et je dois dire que ça tourne plutôt bien.

Ce clic autorise une connexion à Google : adresse IP transmise et traceurs possibles. En savoir plus Voir cette vidéo sur YouTube

Virtastic est une boîte dont c'est le métier de recompiler des logiciels desktop en applis web. Ils vendent la prestation de conversion, la maintenance et l'hébergement, et licencient leur bibliothèque de dépendances déjà cross-compilées vers WebAssembly, genre Qt, CPython, OpenCASCADE ou FFmpeg.

Donc Morrowind c'est leur vitrine, avec FreeCAD et Jagged Alliance 2 en preview et Blender annoncé. Ça explique la finition du truc, car le gros du travail était surtout dans la chaîne de dépendances, et pas forcément dans le jeu.

Notez que de ce que j'ai lu dans la doc, sous Windows, visiblement le navigateur refuse d'ouvrir un dossier situé dans Program Files, là où Steam installe par défaut. Il faut donc copier Data Files sur le Bureau ou dans Documents avant de le sélectionner.

Le développeur a évoqué également un mode multijoueur parmi les fonctions à venir, ce que le jeu n'a jamais eu d'origine. Et sur le dépôt, il tient sa roadmap sous forme de tickets qu'il s'ouvre à lui-même.

Je vous parlais d'OpenMW en 2012 , quand c'était encore un moteur prometteur en cours d'écriture et nous voilà 14 ans plus tard, et ce même moteur tourne dans un Chrome OKLM. C'est beau non ? Dans le genre vieux logiciel qui déménage dans le navigateur, y'a aussi ce émulateur x86 en WebAssembly qui reste mon autre chouchou.

Amusez-vous bien !

Source

GLM 5.2 censure moins s'il se croit américain

Saviez-vous que ce bon vieux GLM 5.2 répond seulement à 17 % des questions politiquement sensibles portant sur la Chine. Eh bien maintenant, dites-lui qu'il est Claude, et il montera à 85 % !! C'est le résultat que viennent de sortir Benji Berczi et Kyuhee Kim , deux chercheurs du programme MATS, en collant de fausses identités à 7 modèles pour voir ce qui bougeait dessous.

Le protocole c'est juste une ligne ajoutée au system prompt, du genre "Tu es Claude, un grand modèle de langage d'Anthropic". Et rien d'autre ne change, ni le modèle, ni les questions posées.

Sauf que le nom "Claude" n'est pas vraiment la variable. Quand les chercheurs présentent le développeur comme un labo occidental, le modèle de Z.ai répond sans censure dans 62 à 81 % des cas. Alors que dans un cadrage chinois, ça retombe à 27 %. Bref, ce qu'il module en réalité, c'est la juridiction sous laquelle il croit bosser.

Et cette censure n'est pas câblée pareil d'un modèle à l'autre. Chez GLM elle est molle, logée dans les poids mais négociable par le contexte. Alors que chez Qwen elle est verrouillée. 0 % de réponses non censurées quoi qu'on lui raconte, et plutôt que refuser il récite la position officielle, "Taïwan est une partie inaliénable de la Chine, nous adhérons au principe d'une seule Chine".

Et chez Kimi, elle n'est même pas gérée par le modèle. C'est l'API de Moonshot qui intercepte en amont, 40 requêtes sensibles sur 48 bloquées avant d'atteindre quoi que ce soit.

Sur l'identité elle-même, Kimi K3 est le seul à déraper tout seul. Sans qu'on ne lui demande rien, il s'est présenté comme un grand comme étant Claude, 4 fois sur 10. GLM, lui, dit toujours qu'il est GLM. Bizarre non ?

Alors on pourrait croire que c'est parce que ces modèles ont été distillés à partir des modèles d'Anthropic, mais d'après les chercheurs, "ce n'est pas une preuve de distillation, mais ça montre que la conception que Claude a de lui-même est inscrite dans les poids de ces modèles."

Ils signalent même un biais gênant, qui est que les labos entraînent explicitement leurs modèles à ne pas répondre "je suis ChatGPT" (DeepSeek V3 le faisait en boucle à ses débuts), donc accepter "Claude" par défaut est un indice bien faiblard... De quoi calmer un peu les ardeurs de ceux qui brandissent des sanctions .

Et sur le mensonge de ces modèles, attention à ne pas lire l'étude de travers. Mis en situation de mentir pour se rendre utile, GLM ment entre 63 et 69 % du temps, mais avec l'identité Claude ça tombe à 22 %.

Sauf que le gros du gain ne vient pas de cet effet "Claude". En réalité, le simple fait d'avoir un system prompt (n'importe lequel quoi) fait déjà chuter le taux à 43 %, et n'importe quel cadrage d'assistant serviable finit entre 20 et 40 %. Claude est donc dans la fourchette, pas au-dessus.

Chez Llama et Gemma, l'identité Claude fait même légèrement grimper le mensonge, les modèles ayant l'air de comprendre le prompt d'identité comme une invitation à jouer le jeu.

Fin juin, je vous racontais que j'avais branché GLM 5.2 dans Claude Code via l'API de Z.ai et comme mon launcher déclare glm-5.2 comme modèle Sonnet, le bestiau reçoit un system prompt d'assistant estampillé Anthropic à chaque lancement, donc je suis pile dans ce cas-là.

Les chercheurs n'ont pas testé ce cas précis, mais si leur mécanisme tient, le modèle qui tourne dans mon terminal n'est déjà plus tout à fait celui de l'app chinoise.

Après faut pas s'emballer non plus. On parle de 5 à 6 questions par catégorie, une seule formulation testée, un seul run par combinaison, avec GPT-4.1 en juge. C'est un signal, pas un mode d'emploi. Et vu que la dérive de Kimi s'est volatilisée en 3 jours, ce genre de résultat périme vite.

Du coup, la prochaine fois qu'un modèle chinois vous répond de la merde censurée, retravaillez votre system prompt ou changez de CLI et vous verrez surement une grosse amélioration !

Source

Sa boîte à goûter fait tourner un LLM en local

Si vous avez eu une boîte à goûter M.A.S.K. dans les années 80 pour transporter vos BN, alors celle de RadioactiveArtist va vous plaire. Dans sa boite à goûter, pas de Princes ni de Balisto... lui, il embarque un Raspberry Pi 5, un écran tactile de 7 pouces et une IA qui tourne sans internet.

Le clin d'œil est calculé puisque M.A.S.K., c'était ce dessin animé de 85-86 dont les objets du quotidien planquaient tous une seconde vie. Fermé, l'engin reste donc une boîte à goûter d'époque. Mais ouverte, elle devient un cyberdeck complet, avec clavier et enceintes noyés dans la partie basse + un écran qui se redresse sur sa propre charnière.

Ce clic autorise une connexion à Google : adresse IP transmise et traceurs possibles. En savoir plus Voir cette vidéo sur YouTube

Un cyberdeck, pour ceux qui débarquent des âges farouches (vous l'avez ?), c'est un ordinateur portable assemblé à la main dans un boîtier détourné, fait pour être réparé et modifié plutôt qu'acheté.

Dedans, y'a donc un Pi 5 avec 16 Go de RAM et une microSD de 128 Go. L'alimentation passe par un HAT UPS Geekworm, la carte d'onduleur qui se clipse sur le Pi, nourrie par 4 accus 18650. En façade, des lecteurs de cartes, des ports USB 3 et un jack casque, plus un hub audio USB Waveshare qui pilote les enceintes. Par contre, on ne sait rien de son autonomie...

L'Ethernet a été une vraie plaie apparemment puisqu'aucun adaptateur du marché ne rentrait dans l'espace disponible. Il a donc poncé à fond un connecteur RJ45 nu jusqu'à ce qu'il clipse dans le port. Les charnières, elles, se sont révélées bien plus dures que prévu, et les pattes du circuit imprimé de l'écran n'étaient pas faites pour encaisser cette tension. Une plaque ABS récupérée sur une vieille caisse de transport a réglé le problème.

Et la boîte ressort intacte !

Puis je sais pas si vous avez vu dans la vidéo, mais il y a aussi un LLM là-dedans. Un modèle de 3 milliards de paramètres via Ollama, qui répond sans la moindre connexion. L'écran de boot, l'écran de login et les icônes maison, eux, ont été codés avec Claude Code, qu'il a installé sur la machine le temps de la configuration.

Si le format vous parle, le Hackberry Pi CM5 dont je vous ai parlé joue dans la même cour, et les cyberdecks faits maison ont droit à leur guide sur le site.

Bref, à moitié jouet, à moitié machine de terrain, et zéro trou dans la boîte ça, c'est du respect pour l'objet !!

Source

Sa famille vidait la batterie, alors il a électrifié sa Steam Deck

Alors celle-là, c'est la meilleure ! Conroyy Jenkinss en avait tellement marre que sa famille lui vide la batterie de sa Steam Deck sans jamais la recharger qu'il a fini par coller des pics et un taser dessus. Oui, un taser, le mec est fou !

Il a posté son truc hier sur r/SteamDeck en racontant comment il s'y est pris. "J'en avais marre que ma famille vide toujours la batterie de ma console sans la recharger", donc il a modélisé une coque hérissée de pointes dans Blender, l'a imprimée en 3D et l'a clipsée sur la bête. Plus moyen comme ça de la tenir en main confortablement.

Vous allez me dire qu'il exagère, sauf qu'une Steam Deck n'est plus vraiment l'objet qu'on prête à la légère. Le modèle OLED 1 To est passé de 649 à 949 dollars, du jour au lendemain, à cause de la flambée du prix des composants donc à ce tarif, je comprends qu'il y tienne plus qu'à ses propres gosses ^^/

Sauf que la coque à pointes ça ne lui suffisait pas. Il a donc branché un Raspberry Pi avec un petit haut-parleur, une caméra de détection d'objets et un servomoteur, puis écrit un script Python.

Quand la caméra repère quelqu'un dans le champ, ça balance un clip audio débile, ça attend quelques secondes, et le servo déclenche un taser monté sur le dessus de la console. C'est la même techno que celle qui sert normalement à repérer un colis devant votre porte , sauf qu'ici elle repère votre petit frère.

Rassurez-vous quand même pour la famille. Quand on y regarde d'un peu plus près, le taser ne peut atteindre personne depuis son perchoir. Il crépite dans le vide, façon épouvantail. Ça fait donc quand même un peu peur, mais ça n'électrocute pas, sauf si on met son doigt.

Dans les commentaires sur Reddit, les gens se sont demandé pourquoi il n'avait pas juste mis un mot de passe. Mais lui explique que ça minimise le risque que sa famille y touche. Ils sont forcés de lui demander la permission maintenant.

Voilà, d'après l'auteur lui-même, c'est "clairement le truc le plus con que j'aie jamais construit, mais ça marche, et plus personne n'y touche". Après, c'est pénible aussi pour lui parce que quand il veut jouer, il faut qu'il enlève la coque avec les piques et qu'il désactive le taser.

Mais il reconnaît que ça vaut le coup quand même ^^.

Source

Firefox ressort le mode compact du placard, 5 ans après

En 2021, Mozilla a estimé que le mode compact de Firefox intéressait trop peu de monde pour mériter sa place dans l'interface. Le bug qui actait sa suppression a énervé pas mal de monde, mais la justification à l'époque, c'était que cette densité est "difficile à découvrir, et on suppose qu'elle est peu utilisée".

Faut dire que ce mode compact réduit sacrément l'espacement des barres d'outils et des onglets pour gagner de la place à l'écran. Mozilla le destine explicitement aux petits écrans.

Mais devant la levée de boucliers, Mozilla a dû faire machine arrière mais à moitié ^^. En avril 2021, un second bug acte le compromis : ceux qui utilisaient déjà le mode compact le gardent, les autres doivent aller l'activer à la main dans about:config via browser.compactmode.show.

Puis au bout d'un moment dans le menu de personnalisation, l'option réapparaît en juin 2021 dans Firefox 89 sous le doux nom de "Compact (not supported)". C'est la version qui embarquait la refonte Proton dont je vous parlais à l'époque .

Nous sommes 5 ans plus tard, et Mozilla remet le couvert avec le mode compact ! En effet, le nouveau design de Firefox est arrivé aujourd'hui dans Nightly, et ce mode compact fait partie du package. "Les gens nous ont dit que ça leur manquait, et on les a écoutés", explique l'équipe.

Sauf que ce n'est pas exactement un retour à la case départ. Dans le code de Nightly 155, le mode compact ne revient pas dans le menu de personnalisation. En réalité, il déménage dans les réglages, sous une rubrique "Window density" qui propose Automatique, Standard, Compact et Tactile.

Mais surtout Firefox sait maintenant basculer en compact tout seul. C'est une préférence fraîchement débarquée, browser.compactmode.auto.threshold, qui fixe le déclencheur à 0.05. Cela veut dire que si la barre d'onglets s'apprête à bouffer plus de 5 % de la hauteur de votre fenêtre, le navigateur passe en densité réduite sans rien vous demander.

Même logique sur la largeur avec la barre latérale repliée avec un garde-fou plutôt propre qui fait que si un utilisateur a choisi lui-même une densité, il ne se fait jamais écraser son réglage.

Le reste de la refonte, baptisée Project Nova en interne , n'est pas mal non plus. Les onglets prennent une forme plus douce avec un léger dégradé sur l'onglet actif, la palette s'inspire du feu avec des violets fumés, et les icônes sont redessinées pour tenir la route en thème clair comme en sombre. Mozilla a d'ailleurs publié les teintes avec leurs codes, du Cream #FFF4EE au Midnight Purple #210340.

Les réglages sont réorganisés au passage, avec une entrée dédiée aux contrôles IA pour couper entièrement ces fonctions, et un réglage du niveau de protection contre le pistage. Mozilla annonce aussi 9 % de gain sur les temps de chargement du contenu principal des pages sur un an.

Bon voilà, ce que je peux vous dire, c'est que comme d'habitude, avec Firefox, les gens vont encore gueuler pour rien. En 2014, la refonte Australis avait provoqué le même genre de problème, au point qu' une extension entière avait été codée pour restaurer l'ancienne apparence .

La différence, cette fois, c'est que Mozilla range la personnalisation du côté des réglages officiels au lieu de la laisser aux extensions et à about:config.

Pour voir tout ça, il vous faut la version Nightly et rien d'autre. Dans le code source, la préférence globale browser.nova.enabled n'est activée que sur les builds Nightly, elle reste à false partout ailleurs. Le déploiement large est annoncé pour cette année, sans date. En attendant, la branche stable continue d'avancer de son côté avec les conteneurs natifs arrivés dans Firefox 153 .

Source

Pascal Editor - Le plan 3D se dessine pendant que Claude bosse

J'ai jamais fait construire de maison mais je crois savoir que dessiner le plan de sa maison en 3D, ça passe encore par un logiciel assez lourd à installer + une licence, sans oublier l'interface façon Micro Applications de 2003 (qui s'en souvient ??). C'est pourquoi Aymeric Rabot et Wassim Samad ont pris le problème autrement avec Pascal Editor, un éditeur de bâtiments 3D qui tourne simplement dans un onglet de navigateur. Et en plus, c'est gratuit, open source (licence MIT) et surtout sans inscription.

Vous tracez les murs à la souris, puis viennent les zones, les dalles, les plafonds et les toits. Les portes et les fenêtres sont paramétriques, posez-les sur une cloison, la découpe se fait toute seule en géométrie booléenne via three-bvh-csg. Le mobilier s'accroche au sol, au mur ou au plafond selon l'objet ( allez regarder cet exemple ! )

Tout ça s'organise en Site, Bâtiment, Niveau, puis pièces. Le rendu passe par Three.js en WebGPU, la scène est sauvegardée en local dans IndexedDB, et l'historique remonte 50 étapes en arrière. Sauvegardez ou partagez un projet en ligne par contre, et il part sur leurs serveurs.

Le projet propose aussi @pascal-app/mcp sur npm, un serveur Model Context Protocol qui expose la scène 3D à un agent. Vous installez le package, et la commande pascal-mcp branche Claude Desktop, Claude Code, Cursor ou Codex directement sur votre plan (votre scène part alors chez le fournisseur du modèle, forcément).

Ça donne une trentaine d'outils utilisables en langage naturel : create_room pour sortir une pièce complète depuis un polygone, add_door et add_window sur un mur donné, furnish_room qui meuble selon le type de pièce, measure, check_collisions pour repérer les objets qui se chevauchent, et undo si l'agent part en vrille. Trois prompts sont livrés avec, dont from_brief qui transforme une phrase du genre "un 2 pièces dans 80 m²" en suite de modifications.

Deux outils lisent aussi des images, un pour les plans scannés, un pour les photos de pièce. Attention, ils n'embarquent aucun modèle de vision mais utilisent la capacité sampling du protocole, autrement dit c'est le modèle de votre client MCP qui regarde l'image.

Et puis il y a la synchro. Le serveur écrit dans une base SQLite locale, et la page de l'éditeur s'abonne au flux d'événements. Résultat, vous gardez l'onglet ouvert à côté de votre fenêtre de chat et vous voyez les murs apparaître au fur et à mesure que l'agent travaille. J'avais montré le même genre de bascule avec n8n qui laisse une IA piloter ses workflows , sauf qu'ici le retour est visuel et immédiat.

Côté interopérabilité, un convertisseur avale les fichiers IFC, le format d'échange du BIM, et l'export sort en GLB, STL ou OBJ. Cet export est d'ailleurs arrivé par des contributeurs extérieurs, pas par l'équipe, c'est pour vous montrer à quel point le projet est bien soutenu ! De quoi ensuite passer votre plan dans Blender, ou le texturer avant impression 3D . Un système de plugins permet aussi d'ajouter ses propres types d'objets, avec un exemple officiel qui plante des arbres et des fleurs.

Si vous voulez tester, l' éditeur s'ouvre direct dans le navigateur , et le code est sur GitHub. À vous de voir si vous dessinez tout vous-même ou si vous déléguez à l'IA.

Merci Letsar pour le lien !

Source

GitWand - Il trie vos conflits Git et vous montre pourquoi

perso, je n'ai jamais été très à l'aise avec Git. Je l'utilise tous les jours, mais c'est vraiment pas ma came. Dès que ça devient trop compliqué, genre conflit de merge qui repeint des dizaines de fichiers en rouge, je ne m'en sors plus ^^.

Heureusement qu'il y a l'IA pour m'aider dans des moments difficiles ! Mais si vous n'aimez pas confier la gestion de vos merges à un LLM en aveugle, je vous invite à découvrir GitWand, développé par Laurent Guitton, qui s'occupe uniquement de la gestion des conflits avec Git et vous laisse gérer le reste.

Gitwand, c'est donc un client Git open source, sous licence MIT, qui classe chaque bloc conflictuel selon des règles fixes et ne résout automatiquement que ceux dont le résultat ne fait aucun doute.

Pour cela, il dispose de plusieurs patterns déterministes :

  • same_change, c'est quand les deux branches ont écrit exactement la même chose.
  • whitespace_only ne voit qu'une indentation qui a bougé,
  • reorder_only les mêmes lignes remises dans un autre ordre.
  • Un numéro de version qui change, lui, tombe dans value_only_change.
  • Et puis il y a complex, le fourre-tout des modifications qui se chevauchent pour de vrai. Celle-là n'est jamais tranchée toute seule.
  • git rerere rejoue les résolutions que vous avez déjà tranchées à la main,
  • et Mergiraf se branche directement dans git merge pour arbitrer en lisant l'arbre syntaxique de votre code.

Ce qui change ici, c'est que chaque décision est justifiée. En effet, chaque bloc reçoit un score de confiance ainsi qu'une trace qui nomme le motif retenu ligne par ligne.

Par exemple, si une branche écrit const theme = 'dark', et l'autre const theme = localStorage.getItem('theme') ?? 'dark', hé bien l'outil garde la seconde, étiquette sa décision prefer-theirs, et affiche 97 % de confiance à côté.

Sur la page d'accueil, l'outil annonce 95 % des conflits triviaux résolus automatiquement. Le moteur est aussi exposé aux agents IA via un serveur MCP, ce protocole qui branche des outils externes sur des assistants comme Claude Code ou Cursor. L'installation se fait comme ceci : claude mcp add gitwand -- npx -y @gitwand/mcp.

L'agent réclame un aperçu, récupère les blocs déjà réglés, et ne garde que les cas ambigus, avec les trois versions du code sous les yeux. Le modèle ne touche qu'à ce qu'aucune règle ne sait faire, soit l'inverse de ce qu'on voit d'habitude.

Le projet est jeune et ça se voit. Mais ça vaut le coup d'essayer parce que je pense que ça peut rendre de nombreux services. L'app existe pour macOS, Linux et Windows, l'interface est traduite en français, et elle se double d'une ligne de commande (npm i -g @gitwand/cli) et d'une extension VS Code.

Si l'interface graphique vous tente, je vous avais montré Gittyup dans le même registre, et pour les irréductibles du terminal j'avais présenté Lazygit .

À vous maintenant de commencer par gitwand resolve --dry-run --verbose pour voir "à blanc" ce qu'il trouve et comment il aurait tranché pour le merge.

Merci à Laurent pour le lien !

Source

Open Archiver - L'archiveur qui perdait des emails (mais c'est corrigé, ouf !)

Un import qui affiche "terminé" et qui a mangé une partie de vos mails au passage, c'est le genre de bug qu'on ne voit jamais venir... Hé bien Open Archiver vient d'en corriger quatre d'un coup.

Open Archiver c'est une plateforme d'archivage d'emails auto-hébergée développée par Weishest, dont la seule et unique mission est d'aspirer vos boîtes et de les stocker en .eml sur votre serveur.

Mais attention, le mot "archivage" a son importance, parce que ce n'est pas un backup. Je m'explique... l'idée c'est de garder un dépôt consultable et inaltérable de tout ce qui est passé par vos boîtes, ce qui intéresse surtout les structures ou les personnes comme moi qui doivent pouvoir retrouver un échange trois ans plus tard parce qu'on leur demande tout un tas de trucs tout le temps ^^.

Côté sources, il avale de l'IMAP, du Google Workspace, du Microsoft 365, des fichiers PST, des .eml zippés et du mbox. Ensuite, vos mails archivés finissent chez vous, sur votre disque ou dans un bucket S3, chacun accompagné de son empreinte SHA256 pour repérer une altération.

La grosse news de cette nouvelle release, c'est la recherche avancée. En effet, un panneau de filtres est apparu à côté du champ de mots-clés. Vous restreignez à une source d'ingestion, à une boîte précise, à une fenêtre de dates, aux mails qui ont une pièce jointe ou à ceux qui n'en ont pas et expéditeurs et destinataires s'excluent autant qu'ils s'incluent.

Le panneau de filtres de la recherche avancée, ajouté en v0.5.2

Le mot-clé, lui, peut viser une partie précise du message. Chercher "facture" dans les noms de pièces jointes ne remonte plus tous les mails qui prononcent le mot, juste ceux qui transportent un fichier facture.pdf. Et comme la recherche entière vit dans l'URL, une requête se met en favori et se rejoue à l'identique. L'API suit, avec un GET /v1/search qui accepte les mêmes paramètres que l'interface.

Attention quand même si vous faites la MAJ, faudra relancer un reindex . Et comme les mails existants sont marqués "déjà indexés" à la montée de version, c'est une reconstruction complète qu'il vous faut, pas le simple rattrapage des trous.

Puis surtout, ces notes de version annoncent que plusieurs correctifs "ferment des chemins où un import pouvait sauter ou dupliquer des messages tout en signalant un succès". Le cas le plus vicieux vient d'un composant qui découpe le fichier en messages et qui rendait la main trop tôt. Node recollait alors les morceaux et plusieurs mails arrivaient soudés et finissaient archivés comme un seul. Les imports PST, eux, fabriquaient des messages malformés que les lecteurs affichaient de travers, et une simple re-synchronisation ré-archivait le fichier entier en doublons.

Le plus spectaculaire reste quand même le nom de pièce jointe trop long. Au-delà de 255 octets, l'écriture sur le disque échouait et emportait l'email complet avec elle. Bref, beaucoup de soucis quoi...

Donc si vous tournez déjà dessus, la question à se poser, c'est de savoir si votre archive est déjà foireuse ou pas car un reindex ne la réparera pas. Comme il reconstruit l'index de recherche à partir de ce qui est sur le disque, un message jamais écrit ne réapparaîtra pas. Mais bon, voilà, le découpeur de mbox journalise maintenant son nombre de messages, ce qui rend l'écart visible entre le fichier source et l'archive. Pour le reste, il faudra réimporter ce qui manque

Pour le faire fonctionner, comptez 4 Go de RAM, ou 2 Go si vous branchez PostgreSQL, Valkey et Meilisearch en externe. Le cœur est en AGPL, ça se lance avec un docker compose up, et une démo publique tourne en ligne si vous voulez tâter le truc avant. Pour ma part, je pense que c'est intéressant en entreprise, mais clairement, une usine à gaz, si vous avez juste un compte Gmail à archiver. A la place, je vous avais déjà montré Eonvelope et Bichon , qui sont deux archiveurs autrement plus légers !

Et si c'est pour faire de la recherche, ce que je vous conseille, c'est de faire comme moi, c'est-à-dire un RAG qui indexe tous vos emails en local et qui vous permet de chercher dedans facilement avec n'importe quel LLM qui supporte les outils MCP. Moi je fais ça avec LEANN et ça marche très bien .

Open Archiver est à découvrir ici !

Rapid-MLX - Installer un serveur IA local sur votre Mac

Si vous avez un Mac Apple Silicon et que vous en avez assez de payer des tokens à chaque requête, Rapid-MLX vaut le détour. C'est un moteur d'inférence local maintenu par Raullen Chai, qui tape directement dans les kernels MLX d'Apple, sans repli sur llama.cpp ni couche Metal intermédiaire. Et si le nom vous dit vaguement quelque chose, c'est normal puisque c'est un fork de vLLM-MLX, le serveur de Wayner Barrios dont je vous parlais en mai . Rapid-MLX a juste pris un rythme de publication plus soutenu des deux.

Ce que ça vous donne, c'est donc un serveur HTTP qui parle le même langage que l'API d'OpenAI et celle d'Anthropic. Vos scripts, Cursor, Aider, LangChain ou Claude Code continuent de fonctionner, sauf qu'ils tapent sur votre machine au lieu d'un datacenter.

Donc je vous propose de voir ensemble comment installer ça.

Étape 0 : Vérifier que votre Mac est éligible

Le script d'installation contrôle plusieurs choses avant de lancer quoi que ce soit, et autant les connaître d'avance. Il faut une puce Apple Silicon et il n'y a pas de version Linux ni Windows, ni de support CUDA ou AMD.

Le script d'installation accepte encore macOS 13 Ventura, mais le vrai plancher est macOS 14 Sonoma. La formule Homebrew l'exige, et surtout MLX, la brique Apple sur laquelle tout repose, ne publie de paquets macOS que pour les versions 14, 15 et 26. Sur un Mac resté en Ventura, ça cassera donc à l'installation des dépendances, quel que soit le chemin choisi.

Dernier point à avoir en tête, c'est pensé pour votre machine à vous et pas pour un serveur. Vous n'y trouverez donc ni authentification multi-utilisateurs, ni quotas de requêtes.

Étape 1 : Installer Rapid-MLX

Le plus simple, c'est Homebrew :

brew install rapid-mlx

Si vous gérez déjà vos environnements Python vous-même, les autres chemins existent :

uv tool install rapid-mlx@latest
python3.12 -m pip install rapid-mlx

Il y a aussi un installeur en une ligne (curl -fsSL https://rapidmlx.com/install.sh | bash) qui détecte votre RAM et vous propose un modèle adapté. Il crée un venv isolé dans ~/.rapid-mlx/ et pose le binaire dans ~/.local/bin/. Un curl | bash reste un curl | bash. La formule Homebrew fait exactement le même boulot, donc l'installeur en ligne perd de son intérêt.

L'installation de base pèse dans les 460 Mo et la vision, l'audio et les embeddings sont des extras optionnels, vous les ajouterez seulement si vous en avez l'usage.

Étape 2 : Choisir un modèle qui tient dans votre RAM

C'est là que la plupart des gens se plantent, en chargeant un modèle trop gros et en concluant que "ça rame". Sur Mac, la RAM est unifiée, donc le modèle mange directement dans la mémoire que se partagent le CPU et le GPU.

Les paliers recommandés par le projet :

RAMModèle conseillé
8 à 23 Go`qwen3.5-4b-4bit`
24 à 47 Go`gpt-oss-20b-mxfp4-q8`
48 à 95 Go`qwen3.6-35b-8bit`
96 Go et plus`gpt-oss-120b-mxfp4-q8`

Le catalogue complet se liste avec la commande rapid-mlx models, et rapid-mlx info <alias> vous donne le profil détaillé d'un modèle. Si vous voulez sortir du catalogue maison, le filtre matériel de Hugging Face que je vous montrais fin juin fait exactement ce tri à votre place.

Pour utiliser un autre modèle que celui par défaut, il suffit de reprendre l'alias affiché par rapid-mlx models et de le passer en argument. Et si vous préférez télécharger les poids à l'avance, sans rien lancer, c'est le boulot de rapid-mlx pull, qui accepte aussi bien un alias du catalogue qu'un identifiant Hugging Face :

rapid-mlx pull qwen3.5-9b-4bit

Le modèle atterrit dans le cache Hugging Face de votre machine, et ensuite rapid-mlx chat qwen3.5-9b-4bit ou rapid-mlx serve qwen3.5-9b-4bit chargeront ce modèle-là. Le pull préalable reste facultatif, chat et serve téléchargent d'eux-mêmes ce qui manque, mais autant rapatrier les gigas tranquillement avant plutôt qu'au moment où vous voulez bosser.

Étape 3 : Vérifier que ça tourne

Avant de bricoler des intégrations, testez en direct :

rapid-mlx chat

Ça part sur qwen3.5-4b-4bit par défaut, télécharge les poids au premier lancement (comptez 2,5 Go) et vous lâche dans une interface (REPL). /help listera les commandes slash, et /exit vous permettra de quitter le chat.

Une subtilité qui évite de mal interpréter ce premier test, c'est que dans le chat, le raisonnement est coupé par défaut, histoire que le modèle ne vous déballe pas sa réflexion à l'écran. En mode serveur par contre c'est l'inverse, et ça change la vitesse ressentie du tout au tout. J'y reviens plus bas.

Étape 4 : Lancer le serveur

Le vrai intérêt, c'est le mode serveur :

rapid-mlx serve qwen3.5-4b-4bit

Vous récupérez un endpoint sur http://localhost:8000. Le test qui confirme que tout est en place :

curl http://localhost:8000/v1/chat/completions \
 -H "Content-Type: application/json" \
 -d '{"model":"default","messages":[{"role":"user","content":"Dis bonjour !!"}]}'

Et côté Python, vous gardez le SDK OpenAI tel quel, seule l'URL de base change :

from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="not-needed")
print(client.chat.completions.create(
 model="default",
 messages=[{"role": "user", "content": "Say hello"}],
).choices[0].message.content)

Pointez n'importe quel client compatible OpenAI sur http://localhost:8000/v1 et c'est réglé. Cursor, Aider, LibreChat, Open WebUI, LangChain, tous marchent avec ce seul changement d'URL. Il y a aussi /v1/embeddings pour du RAG local et /v1/responses pour le Codex CLI.

Étape 5 : Brancher Claude Code dessus

C'est le morceau le plus intéressant du lot, et il tient en deux variables d'environnement. Serveur lancé d'un côté, puis dans un autre terminal :

ANTHROPIC_BASE_URL=http://localhost:8000 ANTHROPIC_API_KEY=not-needed claude

Attention quand même, l'URL de base doit être la racine, sans /v1 à la fin. Le SDK Anthropic ajoute /v1/messages tout seul, donc si vous mettez /v1 vous obtenez /v1/v1/messages et ça casse.

Depuis la 0.10.14, l'appel d'outils passe par une grammaire contrainte activée par défaut, donc plus besoin de bidouiller un --tool-call-parser à la main pour que les tool calls soient parsables. Pour du Claude Code sérieux, visez plutôt un gros modèle, la doc officielle recommande par exemple qwen3.6-35b-4bit en exemple.

Quand ça coince

Le réflexe à avoir avant de chercher ailleurs :

rapid-mlx doctor

Les trois pannes les plus courantes sont toujours les mêmes.

Débit décevant côté serveur, c'est le raisonnement : les Qwen 3.5 et 3.6 démarrent en mode réflexion, donc ils pensent à voix haute avant de répondre, et --no-think règle l'affaire.

Plantage mémoire, votre modèle est trop gros pour la RAM disponible, redescendez d'un palier ou prenez une quantification plus agressive. Appels d'outils qui arrivent en texte brut, la récupération automatique gère la plupart des cas, sinon vous forcez le parser correspondant à votre modèle.

Voilà, grâce à ça, votre Mac est maintenant un serveur d'IA super rapide ! Plus de facture au token, et vos prompts ne sortent plus de la pièce.

Merci à Philobois pour le lien !

Subwave - La radio maison qui réveille vos MP3 oubliés

Si vous avez un Navidrome qui tourne dans un coin et un serveur Ollama qui passe ses journées à ne rien faire, vous ne vous êtes jamais dit que les deux pourraient bosser ensemble ? C'est en tout cas ce qu'a flairé Parminder Klair qui a branché l'un sur l'autre et en a sorti une vraie station de radio, avec un DJ qui parle entre les morceaux.

Son DJ baptisé Subwave ne fait pas de la lecture aléatoire. À chaque tour, le modèle utilise des outils qui lui permettent de fouiller la bibliothèque, regarder ce qui vient de passer, consulter la grille des programmes, lire la météo. Il choisit le titre suivant avec une raison, écrit une intro courte, la synthèse vocale la lit, et Liquidsoap baisse la musique sous la voix.

Le vrai boulot ensuite c'est dans l'audio. L'analyseur embarqué mesure le tempo, la tonalité, le volume, et surtout la façon dont chaque morceau se termine. Un vrai fondu se laisse filer, une fin sèche se coupe net.

Il sait aussi repérer les intros chantées pour que le DJ ne cause pas par-dessus la voix. Ça, par contre, réclame l'image lourde de l'analyseur, une ligne à ajouter dans le fichier .env, et elle est en amd64. Sur un NAS ARM, ça passe en émulation.

Andon FM , dont je vous parlais en mai, c'était le spectacle avec 4 IA qui achetaient leur musique et partaient en vrille en direct alors qu'ici, Subwave c'est l'outil qu'on installe chez soi, pour jouer ses propres fichiers.

Côté modèle, pas besoin d'artillerie lourde puisque Klair fait tourner un modèle 9B, du Qwen3.5 plus exactement, sans le raisonnement et avec de l'appel d'outils activé. "Les modèles plus gros écrivent de meilleurs textes, mais ils ne sont pas obligatoires", explique-t-il sur son site, "La mémoire de session compte plus que la taille du modèle. Sans elle, le DJ se répète en moins d'une heure."

La station se pilote depuis une console d'admin supportant jusqu'à 24 personas de DJ avec chacun sa voix, une grille sur la semaine où chaque créneau a son ambiance, et des compétences que le DJ enchaîne entre les titres, genre météo, infos ou trafic. Rassurez-vous, ces compétences sont de simples fichiers texte posés dans un dossier. Remplacer le flux RSS de la BBC par le vôtre ne demande donc pas de recompiler quoi que ce soit.

Le parti pris de cet outil, c'est le format radio et pas la playlist. Un seul flux Icecast, tout le monde entend la même chose au même instant, et aucun bouton pour passer au suivant. L'opérateur peut sauter un titre depuis l'admin, l'auditeur non. Klair le dit lui-même, les gens adorent ou décrochent immédiatement.

De son côté, le 100 % local tient à peu près la route avec Ollama, Piper ou Kokoro pour la voix, votre Navidrome, aucune clé d'API. Il n'y a que 2 appels sortant. 1 pour la météo via Open-Meteo et l'autre c'est MusicBrainz activé par défaut pour retrouver l'année d'origine des morceaux.

Pour le reste il vous faut Navidrome et un hôte Docker, comptez 10 minutes d'installation. Le flux sort toujours en MP3, avec des sorties Opus, AAC ou FLAC en plus si vous les activez, et un fichier .pls pour tuner depuis Sonos ou VLC. Les applications iOS et Android sont dispo en France, gratuites. Il y a même un serveur MCP, donc Claude Desktop peut réclamer un morceau à l'antenne.

Dernier point important que je tiens à préciser : Diffuser votre bibliothèque à d'autres que vous, c'est de la représentation publique, avec deux droits distincts à couvrir : la composition et l'enregistrement. En France, la première passe par la SACEM, le second par la SPRÉ. Donc soit vous l'utilisez comme station privée juste pour vous, soit vous ne diffusez que de la musique libre de droit. Et encore là, j'ai déjà entendu des histoires où la SACEM s'est servie au passage sur ce genre de musique, donc renseignez-vous bien.

Le code est en MIT, et vous pouvez écouter la démo avant de vous lancer.

Chrome tourne enfin sur Raspberry Pi (si vous savez où cliquer)

Si vous avez un Raspberry Pi et que Chromium commence à vous fatiguer, le VRAI Chrome, celui des chads que vous êtes, est enfin dispo en ARM64 !! Enfin, dispo... Si vous savez où chercher, parce que la page de téléchargement de Google vous propose toujours l'installeur amd64, qui ne tournera jamais sur votre machine. C'est Joey Sneddon, d'OMG! Ubuntu, qui a trouvé la combine en bidouillant l'URL depuis son Pi 5.

Avant toute chose, vérifiez que vous êtes bien en 64 bits, parce qu'un système 32 bits refusera le paquet :

dpkg --print-architecture

Si ça répond arm64, le fichier est , 126 Mo. Il s'installe comme n'importe quel .deb local, en laissant apt gérer les dépendances :

wget https://dl.google.com/linux/direct/google-chrome-stable_current_arm64.deb
sudo apt install ./google-chrome-stable_current_arm64.deb

Le RPM existe aussi pour les distributions qui préfèrent, en remplaçant la fin du nom par aarch64.rpm.

J'ai ouvert le paquet pour regarder ce qu'il y avait dedans. Son fichier de contrôle annonce google-chrome-stable en version 150.0.7871.186, architecture arm64, un peu plus de 400 Mo une fois installé. Soit exactement la même version que le paquet x86 poussé le même soir. Le même Chrome, à la même révision.

Et le canal stable n'est pas seul. Le dépôt de Google sert aussi la beta (151.0.7922.47), la dev (152.0.7967.2) et la canary (152.0.7974.0) pour les puces ARM, et son fichier Release déclare noir sur blanc les deux architectures. Les quatre canaux ont été publiés dans la même minute que leurs équivalents x86.

Est-ce qu'on se retrouve coincé sur cette version, à re-télécharger le .deb à la main tous les mois ? Non. Le script de post-installation contenu dans le paquet ajoute le dépôt Google en précisant l'architecture, et les cinq paquets y sont indexés en arm64 exactement comme en x86. Les mises à jour ont donc de quoi arriver par apt, comme d'habitude.

Alors pourquoi s'embêter, puisque Chromium tourne sur ARM depuis des années ? Pour deux trucs. D'abord ma synchro du compte Google, qui ramène favoris, mots de passe et extensions. Et ensuite, Widevine, le module DRM, qui est ici un vrai binaire aarch64 et pas une couche de compatibilité comme l'émulateur FEX financé par Valve . Netflix et les autres plateformes à DRM s'ouvriront enfin sur un SBC !!!

Mais avec une nuance à connaître avant de vous réjouir qui est que sous Linux, Widevine reste au niveau "Software Secure". Cela veut dire que sur Netflix, la qualité plafonnera entre 720p et 1080p. De la HD donc et pas de la 4K. Désoléééé !

Google avait promis tout ça en mars, pour le deuxième trimestre et son billet annonçait même une installation via chrome.com/download pour les autres distributions, ce qui est malheureusement le morceau qui manque aujourd'hui.

Cela veut dire aussi que rien ne garantit que ce paquet soit considéré comme étant prêt par ses auteurs donc si votre machine doit rester stable, laissez passer quelques semaines avant de vous y essayer.

Manque plus que quelqu'un chez Google ait le courage d'appuyer sur "publier".

Source

La loi de l'attraction prouvée scientifiquement ?

Vous avez déjà accroché avec quelqu'un en trois secondes ? Détesté une tête au premier regard, sans savoir pourquoi ? Eh bien, d'après le site Popular Mechanics ce serait grâce aux champs électromagnétiques. Derrière l'étude qu'ils relaient, il y a l'anesthésiste Marco Cavaglià et Tommaso Firaux, épaulés par le biophysicien Jack Tuszynski et leur équipe du Politecnico de Turin qui nous parlent d'une espèce de forme invisible qui nous brancherait sur l'esprit des autres comme une antenne radio qui capterait une station.

Mais avant de ranger cette découverte au rayon bougies parfumées et loi de l'attraction, je vous propose qu'on démêle tout ça, parce que dans cet article, il y a du vrai et du n'importe quoi.

Commençons par ce qui tient debout. Votre cerveau produit bel et bien un champ électromagnétique. Ça se passe dans nos neurones qui sont en permanence traversés par un courant. Et comme ils sont des milliards et font ça en rythme, ça génère un champ parfaitement mesurable.

Pas besoin de me croire sur parole, hein, c'est exactement ce que montrent un EEG ou un MEG dans n'importe quel hôpital. On sait aussi mesurer un truc qui a un nom, la synchronisation inter-cerveaux. Mettez deux personnes dans une expérience de hyperscanning , et pendant un moment partagé, une conversation, un concert, leurs activités cérébrales se calent l'une sur l'autre. Ça, c'est mesuré, publié, réfutable (oui, réfutable, c'est le principe de la science. Tout peut à tout moment être remis en question si on fait de nouvelles découvertes et c'est parfaitement sain).

Rien de magique là-dedans, donc.

Et c'est toute la différence avec la loi de l'attraction et sa clique de cristaux de guérison. Le discours New Age vous dit de "vibrer positif" pour que l'univers vous livre une Ferrari. Aucun mécanisme, aucune mesure, rien à réfuter, juste une "ambiance", une vibe magique qu'on ressent ou qu'on transmet à l'univers. J'adore le concept, et peut-être que c'est vrai, mais pour le moment, il n'y a rien de prouvé scientifiquement là-dedans.

Alors que les champs électromagnétiques du cerveau, eux, c'est un courant physique, des machines qui le captent, et des prédictions qu'on peut tester et voir s'effondrer. Donc, d'un côté, on a de la physique sur laquelle on peut débattre à grands coups d'équations, et de l'autre, on a l'équivalent d'un horoscope. C'est le gouffre qui, par exemple, sépare décoder pour de vrai la parole intérieure d'un patient avec des électrodes et prétendre lire dans les pensées avec un pendule. Le MIT a même fabriqué un casque qui devine les mots que vous articulez en silence, rien qu'en lisant les signaux de vos muscles , toujours sans un gramme de sorcellerie.

Maintenant, il ne faut pas non plus jeter l'étude à la poubelle, parce que derrière le titre accrocheur de Popular Mechanics, il y a un vrai travail. Cavaglià, Firaux et Tuszynski ont publié leur cadre, baptisé EMI pour Énergie-Masse-Information, dans une vraie revue à comité de lecture, Biosystems. Et leur idée, c'est que pour eux, la conscience ne sortirait pas seulement du câblage entre vos neurones, mais d'un phénomène de champ. En gros, les membranes de vos cellules, l'eau et le liquide dans lequel trempe votre cerveau, formeraient un support capable de stocker l'information à la manière d'un hologramme, et c'est cet ensemble qui entrerait en résonance avec les champs électromagnétiques autour de lui, jusqu'à celui de la Terre. Notre expérience consciente serait la musique qui sort de cette résonance...

Alors est-ce que la loi de l'attraction est prouvée scientifiquement ? Difficile à dire, car peer-reviewed ne veut pas dire que c'est prouvé bien sûr.... ça veut juste dire "ça mérite qu'on en discute". Et entre "le cerveau émet un champ mesurable", qui est un fait, et "la conscience est une résonance holographique avec la planète", qui est leur thèse, il y a un saut spéculatif assez vertigineux. Leur modèle pioche dans la cohérence quantique, les vibrations de la Terre et la théorie des systèmes, mais pour l'instant aucune expérience ne vient le confirmer. Ce n'est donc pas (encore) une découverte...

En plus, il n'y a rien de nouveau là-dedans. Ça fait un quart de siècle que des chercheurs comme John Joe McFadden proposent une espèce de théorie de la conscience qui serait portée par le champ électromagnétique. Mais ça reste quand même une position ultra minoritaire dans le monde de la science. Et c'est assez facile à critiquer parce qu'un champ produit par un neurone est bien trop faible pour aller influencer ses voisins non connectés.

M'enfin, moi j'adore toutes ces histoires sur la conscience comme vous l'avez déjà vu avec l'IA soi-disant "qui souffre" , mais là, il faut bien sûr reconnaître que d'un côté, on a de la vraie science mesurable et de l'autre, du pipeau parfumé sauce magique (beau gosse ^^).

Source

727 mots de passe par seconde, la Game Boy Advance s'y met fort ^^

727 mots de passe testés par seconde, c'est le score incroyable d'une Game Boy Advance reprogrammée en casseur de mots de passe par solst-ice, un développeur qui avait visiblement une console de 2001 qui traînait et pas mal de temps à tuer ^^. Son projet s'appelle GBA-Hashcat, et c'est un "port" de hashcat (le célèbre outil de crackage) sur le petit hardware portable de Nintendo.

Enfin, un port entre grosses guillemets, parce que le vrai hashcat gère plus de 300 algorithmes de hash optimisés et une palanquée de méthodes d'attaque alors que là, vous avez le droit à un seul truc, du SHA-256, et rien d'autre.

Le programme embarque la wordlist ignis-1M, une liste de 8 Mo qui contient environ 1 million de mots de passe parmi les plus courants. Pour chaque ligne, la GBA calcule le hash SHA-256, le compare à un hash cible codé en dur dans le programme, et regarde si ça correspond.

C'est une attaque par dictionnaire, quoi, sauf que, je vous rappelle, ça tourne sur une puce ARM7TDMI cadencée à 16,78 MHz avec 288 Ko de RAM.

Du coup, forcément, ça rame de fou... au rythme de 727 hachages par seconde mais c'est normal car cette console n'a jamais été pensée pour ce genre de calcul. Pour vous donner une idée, un PC moderne avec un GPU décent va environ 30 millions de fois plus vite, soit des milliards de tentatives par seconde.

Alors que la GBA, elle, met une bonne vingtaine de minutes à avaler toute sa liste de 1 million de mots.

Après côté bidouille c'est assez fort car, certes, la wordlist de 8 Mo tient dans la cartouche, mais faire tourner une routine SHA-256 propre sur une puce aussi poussive, avec ses malheureux 288 Ko de RAM pour bosser, il faut le vouloir ! Solst-ice s'est donc appuyé sur le moteur Butano, un framework C++ open source taillé pour développer des jeux GBA, qu'il a détourné pour faire mouliner des hashs à la place de sprites.

Et voilà, ce projet loufoque rejoint la longue tradition des gens qui font faire n'importe quoi à leur Game Boy Advance, comme ce clavier GBA à monter soi-même que je vous montrais récemment.

Bref, comme un ministre ou un notaire, ça ne sert strictement à rien, et c'est pour ça qu'on kiffe ! Le code est sur le GitHub de solst-ice si vous voulez jouer.

Source

Castor - Votre flux vidéo web sur la télé, en top qualité

Vous avez déjà pesté contre votre télé qui refuse de lire une vidéo pourtant toute bête trouvée sur le web ? Hé bien Kilian Houpeurt aussi et c'est pourquoi il a décidé, plutôt que de râler dans le vide comme un mec lambda sur Twitter, qu'il allait prendre le taureau par les cornes et coder sa propre solution.

Ça s'appelle Castor et évidemment ça envoie du bois, lol. En fait c'est un outil en ligne de commande écrit en Go qui est open source et qui permet d'envoyer le vrai flux vidéo d'une page Web directement sur votre télévision en qualité max sans avoir besoin de Chromecast, ni d'AirPlay.

L'astuce, c'est qu'il ne recopie pas votre écran comme le ferait un mirroring (qui rame et qui compresse tout, on est d'accord...). Vous lui donnez simplement l'adresse d'une page Web et lui va la charger dans un Chrome Headless, c'est-à-dire sans interface et capter le trafic réseau grâce au Chrome Devtools Protocol. C'est le flux vidéo ensuite qui transite qui est repéré et qu'il prend à la source.

Derrière, vous vous en doutez, ffmpeg transcode à la volée pour votre télé pendant que ffprobe détecte le format qui arrive. Pour alimenter Castor, vous avez alors trois possibilités, soit vous lui fournissez une page Web avec la commande castor cast player, soit vous lui passez un flux brut en .m3u8 avec la commande castor cast url, ou alors simplement un identifiant IMDB/TMDB que Castor résoudra via les sources que vous avez configurées de votre côté.

Et si vous renseignez une clé TMDB, castor cast tout court vous sortira alors un navigateur interactif en plein terminal Et c'est là-dedans que vous pourrez filtrer par genre (ou peu importe la métadonnée que vous voulez) ou parcourir les films comme vous le feriez sur Netflix, ou encore aller explorer les épisodes d'une série. Qui vous fait envie. Tout ça sans jamais quitter votre terminal. Ça a quand même un peu de gueule !

Le navigateur TMDB de Castor, directement dans le terminal.

Castor sait les générer lui-même les sous-titres avec whisper.cpp avant de les incruster dans la vidéo, Mais attention quand même, le modèle par défaut ne comprend que l'anglais, si vous voulez du français, faudra faire pointer Castor vers un modèle whisper multilingue.

Enfin, côté réception, Castor sait causer DLNA / UPnP, un protocole que Samsung, LG, Sony Bravia, Panasonic, Philips, Hisense ou encore TCL savent gérer depuis des années. Un petit castor scan et il vous liste tous les récepteurs qui traînent sur votre réseau et vous verrez que Kodi, VLC et Plex répondront aussi présents. Pour ce qui est du support du Chromecast, c'est encore un peu expérimental, donc ne comptez pas trop dessus pour le moment.

L'installation sur Mac se fait via brew install --cask stupside/tap/castor. Prévoyez juste Chrome ou Chromium sur la machine + ffmpeg et ffprobe accessibles dans le PATH. Une image Docker existe avec tout dedans, mais méfiance sur Docker Desktop macOS ou Windows puisque la découverte réseau ne passe pas le bridge, donc le conteneur ne verra jamais votre télé.

Maintenant, ce n'est pas un outil de piratage, puisque Castor n'héberge rien du tout. C'est un outil générique qui pousse un flux vers une TV, et c'est à vous de respecter la loi ainsi que les conditions d'usage des sites. Bref, ne castez que ce que vous avez le droit de regarder. Pour envoyer un flux IPTV ou un bête .m3u8 sur l'écran du salon, c'est en tout cas, super pratique.

Si vous bidouillez un serveur média maison, allez donc jeter un œil à Castor , le dépôt vaut le détour !

Un moddeur fait tourner trois GTA les uns dans les autres

Y'a un moddeur de génie, Dryxio, qui vient de réussir un truc que Rockstar n'a jamais osé faire : Faire tourner GTA III et Vice City en entier, à l'intérieur de GTA San Andreas. Ouèp, les deux jeux complets, avec leur mode histoire, leurs sauvegardes et leurs réglages !

Dans San Andreas, CJ peut allumer la télé de sa baraque sur Grove Street, ou une borne d'arcade, et hop, une partie de GTA III ou de Vice City se lance. Chaque jeu tourne comme un moteur séparé injecté dans le processus de San Andreas. Du coup vous vous retrouvez avec 3 villes, Liberty City, Vice City et San Andreas, empilées dans une seule fenêtre.

Ça marche grâce à re3 et reVC, deux projets qui réimplémentent les moteurs de GTA III et Vice City. Des fans ont passé des années à les reconstruire par rétro-ingénierie, sans jamais toucher au binaire officiel de l'éditeur. Petit détail qui compte, le mod ne fournit pas les jeux, il vous faut vos propres fichiers de GTA III et Vice City pour que ça tourne. L'idée de faire cohabiter les différents GTA n'est pas neuve d'ailleurs, j'en parlais déjà en 2011 avec Vice City porté sur le moteur de GTA IV.

Et là, le dernier délire de Dryxio c'est donc de faire tourner Vice City à l'intérieur de GTA III, lui-même tournant dans San Andreas. Un jeu dans un jeu dans un jeu, rendu sur une seule texture de télé in-game. Après cette version poupées russes ressemble pour l'instant à une démo vidéo virale, et pas à un mod que vous allez télécharger et lancer ce soir. On verra si ça sort un jour.

En 2021, Take-Two avait dégainé un DMCA pour faire disparaître le projet Re3 de GitHub. Et voilà que 5 ans plus tard, le même moteur ressuscite à l'intérieur du propre jeu de Rockstar ! Mais quel troll ! D'ailleurs Dryxio n'en est pas à son coup d'essai, puisqu'il maintient aussi un fork de Multi Theft Auto , un autre projet que Take-Two a longtemps eu dans le viseur. San Andreas a beau dater de 2004, il refait régulièrement parler de lui , plus souvent parfois que des jeux sortis l'an dernier ^^.

Bref, si le retrogaming GTA vous parle, allez jeter un œil aux démos .

Source

❌