Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierGénéralistes

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

Par : Korben ✨
29 juillet 2026 à 08:42

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

Par : Korben ✨
29 juillet 2026 à 08:08

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.

Votre vieux Morrowind se relance dans le navigateur

Par : Korben ✨
28 juillet 2026 à 08:11

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

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

Par : Korben ✨
27 juillet 2026 à 16:58

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

Par : Korben ✨
27 juillet 2026 à 16:52

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 !)

Par : Korben ✨
27 juillet 2026 à 16:24

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

Par : Korben ✨
27 juillet 2026 à 09:33

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

Par : Korben ✨
27 juillet 2026 à 08:54

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.

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

Par : Korben ✨
19 juillet 2026 à 07:57

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 !

Pix 2D to 3D - Des sprites aux modèles 3D, sans IA ni GPU

Par : Korben ✨
17 juillet 2026 à 13:18

Si vous faites du pixel art, voilà un petit outil qui devrait vous plaire. Pix 2D to 3D prend votre sprite et vous le transforme en modèle 3D voxelisé au format .obj, importable direct dans Blender, Unity ou Godot. Pas la moindre trace d'IA là-dedans, uniquement des maths, et son dev Prashant bosse chez Snaptrude sur du logiciel 3D, donc autant vous dire qu'il maîtrise.

L'idée, c'est de vous épargner la modélisation quand vous montez un jeu en 3D iso ou un 2.5D et qu'il vous manque juste trois caisses et un tonneau pour meubler le décor. Vous dessinez le sprite, vous le passez dans l'app et hop, l'objet 3D ressort de l'autre côté.

Vous avez 4 modes selon ce que vous lui donnez à manger, plus un réglage Auto qui devine le format tout seul en regardant les proportions de votre image.

Single voxelise un sprite unique. Single + Repeated le répète sur les 4 côtés en l'extrudant sur la profondeur de votre choix. Dual accepte une planche à 2 vues (face et dos). Et mon préféré, Quad, avale carrément une planche de 4 vues alignées à l'horizontale dans un ordre bien précis : gauche, face, droite, dos. Résultat, un objet complet visible à 360°.

Si c'est sur ce dernier mode que vous voulez partir, sachez que le développeur conseille de passer par la fonction d'export de Frame d' un éditeur de sprites plutôt que de tout vous taper à la main.

L'interface de Pix 2D to 3D, avec le sélecteur de mode et les réglages de profondeur

L'algorithme calcule l'épaisseur des pixels en fonction de leur distance au bord, et les flancs sont arrondis pour une transition douce. L'outil modifie également les bords pour un effet plus naturel, en supprimant progressivement des voxels, ce qui évite l'aspect rigide et artificiel.

Du coup, pas de GPU qui chauffe, rien à installer à part l'app. Après cet outil est un convertisseur géométrique, pas un devin, hein donc à vous de bien gérer l'alignement du dessin dans les cases au départ. Sur Windows, la dernière pre-release est disponible par contre, pour macOS, il faut utiliser la version précédente et sous Linux, ça se compile facilement avec Go, Node, GTK3 et WebKit2GTK.

En tout cas, pour des formes simples et plutôt rondes, j'ai trouvé le rendu assez bluffant. Maintenant, si vous préférez rester dans votre éditeur, Pixelorama dispose de sa propre extension de voxélisation, mais sans le mode à 4 vues. Et pour vous rendre compte de ce que donnent des sprites voxélisés à grande échelle, je vous invite à jeter un œil à ce mod voxel de Duke Nukem 3D qui vaut vraiment le coup d'œil.

C'est par ici que ça se passe !

Firefox en WebAssembly - Gecko s'embarque dans vos pages web

Par : Korben ✨
17 juillet 2026 à 11:56

Vous avez une TV connectée qui vous crache de la pub, un navigateur intégré dedans qui n'accepte aucune extension, et surtout aucun moyen d'installer quoi que ce soit dessus ? Bonne nouvelle les amis, l'équipe de Puter vient de compiler Firefox en WebAssembly, ce qui fait que ce mur commence sérieusement à se fissurer...

On avait déjà de vieux OS et des émulateurs x86 qui tournaient dans une page web , et là on passe carrément au navigateur au complet. La démo est en ligne si vous voulez tester tout de suite.

L'idée, la voilà... vous ouvrez un onglet dans votre navigateur, et dans cet onglet, c'est un Firefox complet qui tourne, avec son propre moteur d'affichage. Curieux de savoir ce que ça pesait, j'ai récupéré les fichiers, et une fois tout déballé, on arrive à 233 Mo. C'est exactement le même Firefox que sur votre machine, sauf qu'il vit à 100% sur une page web.

Le plus marrant là-dedans, c'est toutes les possibilités que ça ouvre... Par exemple, il y a un gars sur Hacker News qui vient de récupérer une TV sous VIDAA, ce système où tout s'affiche en pages web et où le navigateur maison refuse le moindre bloqueur de pub. Et maintenant son programme du week-end c'est de démarrer Firefox dans le navigateur de la télé, puis d'y glisser uBlock Origin . Et ça vaut pour tout ce qui est cadenassé, la borne d'accueil, le Chromebook du collège, le poste du boulot où l'informatique vous a tout bloqué sauf le navigateur.

La deuxième, c'est de pouvoir vérifier un site dans Firefox quand vous n'avez pas de Firefox sous la main. Vous êtes sur iPhone, ou coincé sur le Chrome tout naze de votre boîte sans les droits admin ? Bah vous ouvrez un onglet et vous avez un vrai moteur Mozilla sous la main pour vérifier que votre page ne part pas en vrille.

La troisième possibilité s'adresse aux développeurs. Pour fabriquer une miniature de page ou prévisualiser du HTML, il faut d'habitude un navigateur qui tourne sur un serveur, avec la machine à payer derrière. Là, le rendu peut se faire directement chez le visiteur, grâce à un peu de code :

import { Gecko } from 'gecko.js';

const gecko = new Gecko({ canvas: document.querySelector('canvas')! });
await gecko.init();
await gecko.load('data:text/html,# hello from Gecko

');

Maintenant, la limite de la démo actuellement en ligne, c'est que tout le trafic passe par les serveurs de Puter, sans quoi ça ne pourrait pas fonctionner du tout. Le HTTPS reste bien chiffré de bout en bout, mais évitez quand même d'y taper vos mots de passe. Ah et ça rame aussi un peu, et sur mobile c'est mort pour le moment. En tout cas, c'est pas un truc que je vous conseille d'utiliser au quotidien parce que bien employé par un cybercriminel, ça pourrait permettre s'il y a une faille dans le moteur de rendu évidemment de lire par exemple vos cookies.

Donc si vous l'utilisez, pensez bien à faire tourner chaque site que vous visitez avec ça, dans une instance séparée

Ce chantier a été entrepris avec l'aide de Claude d'Anthropic. Il a englouti une trentaine de milliards de tokens, soit dans les 25 000 $ au tarif normal. Mais heureusement, l'équipe de Puter avait un abonnement Max et s'en est tirée "que" pour une centaine de dollars. Voilà, c'est de la bidouille, avec les défauts qui vont avec mais avouez que c'est beau ^^.

Le code est ici sous licence MPL, et y'a aussi WebkitWasm qui fait la même chose avec WebKit.

Source : Simon Willison

Open OSCAR Server - Faites revivre AIM sur vos vieilles bécanes

Par : Korben ✨
17 juillet 2026 à 11:32

Vous vous souvenez d'AIM ? Mais siiii, le petit bonhomme jaune qui courait, la porte qui claque quand un pote se connecte, les away messages passifs-agressifs à base de paroles de chanson... Et bien la bidouilleuse Veronica a remonté son propre serveur AIM, et ça a l'air de plutôt bien fonctionner

Pour reposer un peu le cadre, AOL a débranché AIM fin 2017. Depuis, les millions de screen names de l'époque pointent dans le vide (Moi c'était FoxMDE ^^), et tous les vieux clients qui traînent actuellement sur vos disques durs ou CD-Rom se connectent à un serveur qui n'existe plus.

Fin de l'histoire, normalement (?).

Bah pas vraiment car AIM tournait sur un protocole qui s'appelle OSCAR, et qui est le même que celui d'ICQ. Du coup, un développeur du nom de mk6i a réimplémenté ce truc en open source, baptisé Open OSCAR Server . En gros, vous faites tourner le serveur sur votre propre machine, vous dites à votre vieux client AIM d'aller taper là plutôt que chez AOL, et hop, vous revoilà en 2003. Veronica utilise ainsi AIM 5.1 sur ses bécanes, et elle héberge le sien sur un petit VPS Debian qui coûte trois francs six sous.

Alors pourquoi avoir fait ça ? Eh bien comme elle le dit elle-même, Discord commençait à la gonfler, et elle avait la nostalgie du lycée. Je vous traduis le passage, il est chouette car je m'y suis bien retrouvé : "Au lycée, la plupart de mes journées commençaient et finissaient par AIM. C'était avant que tout le monde ait des SMS (ou des téléphones portables). Tout, des projets de classe aux relations entières, se passait dans une fenêtre AIM."

Voilà. On a tous connu ça, certains avec MSN ou ICQ...

Ce qui me plaît là-dedans, c'est que ça remet surtout des vieilles machines au boulot. C'est la même énergie que NeoCities et son web fait à la main , sauf qu'ici c'est votre messagerie. Votre Windows 98 dans le placard peut ainsi redevenir utile (gaffe aux virus quand même) ! Vous montez le serveur, vous filez l'adresse à vos potes, et vous avez votre messagerie privée à vous. Pas de pub, et surtout aucun webdesigner coké pour vous chambouler toute l'interface un matin sans prévenir.

Après faut quand même savoir bricoler un minimum sous Linux mais avec son tuto, vous devriez vous en sortir. Bref, si ça vous tente, elle détaille toute la manip sur son blog.

Source

Comic Chat - L'IRC qui vous dessinait en BD fonctionne encore

Par : Korben ✨
17 juillet 2026 à 07:21

Microsoft vient de balancer sur GitHub le code source de Comic Chat. Je pense qu'on est peu nombreux à s'en souvenir mais c'était un logiciel sorti en 1996, imaginé par DJ Kurlander chez Microsoft Research, qui affichait nos discussions IRC sous forme de bande dessinée auto-générée, avec les personnages, les bulles et le cadrage gérés automatiquement.

C'était codé en C++ et 30 ans plus tard, ça se compile encore !

Vous tapiez une phrase, et le logiciel décidait quels personnages coller dans la case, quelle tête ils faisaient, comment les orienter, quelle forme donner à la bulle, à quel moment passer à la case suivante et même quel zoom appliquer. Le tout en temps réel, à partir de vos mots. Par exemple, si vous écriviez un point d'exclamation dans votre phrase, hop, votre avatar levait les bras.

Comic Chat recompilé sous Visual Studio 2022, sur Windows 11. La roue des émotions est en bas à droite.

Kurlander a présenté son bidule à SIGGRAPH 96 avec Tim Skelly et David Salesin et c'était assez innovant pour l'époque parce que Comic Chat ne se contentait pas d'afficher vos messages, mais prenait des décisions éditoriales suivant la gueule de votre conversation, tout ça sans IA ^^.

Les gens avec qui vous discutiez étaient sur des serveurs IRC à écrire de la ligne de commande. Et vous de votre côté, vous étiez dans une vraie bande dessinée à discuter avec eux et chacun d'entre eux avait un petit personnage attribué d'office. Les dessins que vous aviez sous les yeux, d'ailleurs, ne sortaient pas d'une banque de cliparts . C'est Jim Woodring , un auteur de BD indé américain, qui a créé ces personnages.

L'appli a été traduite en 24 langues, livrée avec Internet Explorer 3 puis bundlée avec Windows 98 donc vous l'avez peut-être eu sans le savoir. La version 2 est ensuite arrivée avec IE4 sous le nom de Microsoft Chat, avant que la messagerie instantanée ne bouffe tout au début des années 2000.

Microsoft écrit dans son annonce que Comic Chat a, je cite, "apporté Comic Sans au monde", sauf qu'en réalité c'est Vincent Connare qui avait dessiné la police en 1994 pour Microsoft Bob, dont les bulles en Times New Roman l'avaient rendu dingue. Et cette police est sortie dans le Plus! Pack de Windows 95, soit un an avant Comic Chat. Ouais on me la fait pas moi ^^.

Ce qui est rigolo, c'est que si vous allez fouiller un peu sur le dépôt GitHub et que vous regardez l'historique, vous verrez que Microsoft n'a pas juste poussé une archive et basta. Ils ont carrément reconstruit tout l'historique Git à partir des dates des fichiers. Du coup vous pouvez tomber sur des commits qui datent du 2 août 1996. C'est drôle non ?

Je trouve ça super cool que ce projet soit libéré. Microsoft avait déjà fait le coup avec Zork , passé en MIT l'an dernier. En tout cas, il y a eu chez Microsoft, un petit travail de réactualisation avec des versions qui peuvent fonctionner sur les écrans d'aujourd'hui et se connecter sur de vrais serveurs IRC actuels en TLS. Vous pouvez télécharger ces versions compilées récentes ici.

Et si vous voulez vous lancer, il y a Mermaid Elizabeth qui maintient même une liste de serveurs qui marchent encore avec. Perso, entre ça et un client IRC moderne , mon choix est vite fait ! ^^

Bref, si vous voulez voir à quoi ressemblait le web quand on se demandait sérieusement "et si les discussions étaient des BD ?", c'est sur GitHub .

Source

Steam Controller - elle rampe toute seule vers son chargeur

Par : Korben ✨
28 juin 2026 à 05:55

Il y a des problèmes qui n'existent pas, et des gens qui les résolvent quand même... Ray Foss en fait partie. Ce dernier a fait en sorte que sa Steam Controller flambant neuve rampe toute seule jusqu'à son chargeur, sans qu'il ait à lever le petit doigt. Et pour cela, il a codé son Triton Auto-Charge Vision Tracker qui tourne entièrement dans le navigateur et qui est utilisable par tous !

Le principe est bien tordu... Vous collez une webcam au-dessus de votre bureau, vous ouvrez la page, et vous cliquez sur trois points à l'écran : le palet de charge, l'avant de la manette, l'arrière. À partir de là, la vision par ordinateur suit la manette en temps réel pendant que le code pilote ses deux petits moteurs de vibration internes.

Petit rappel si vous aviez hiberné, Valve a ressorti sa Steam Controller en mai dernier, des années après avoir lâché la première. Elle se recharge sur un palet magnétique, et c'est pile poil cette dernière étape que Foss a automatisée. La Steam Controller, c'est aussi la manette dans laquelle Valve a planqué un cri Wilhelm , et visiblement elle attire les bidouilleurs.

En pulsant ces moteurs de façon asymétrique, autour de 70 Hz, la page fait littéralement ramper la manette sur le bureau et la réoriente petit à petit vers le palet. C'est le principe de ces bristlebots faits avec une brosse à dents et un moteur vibreur de téléphone, sauf qu'ici les moteurs étaient prévus pour faire vibrer la manette dans vos jeux, et surement pas pour la balader sur le bureau...

Pas d'install, pas de pilote à régler non plus, c'est la page qui se connecte directement à la manette via WebHID, la même techno qui permet déjà de tester son matos gaming dans le navigateur , à condition d'être sur Chrome ou Edge parce que Firefox et Safari boudent toujours cette API.

L'interface de l'outil, avec les points de repère à placer sur la manette et le palet.

Au passage, elle lit la batterie de la manette et vous affiche le pourcentage et même le voltage de la cellule, histoire de confirmer que le contact magnétique se fait bien.

Foss a aussi prévu un mode approche en douceur qui réduit de moitié la fréquence des vibrations quand la manette arrive tout près du palet, pour qu'elle se pose dedans au lieu de le percuter. Enfin, en théorie, parce qu'il prévient lui-même que l'amarrage n'est pas garanti.

La vraie limite du truc, c'est que le calage des points de repère reste assez pénible à faire.

Ça ne sert strictement à rien, mais c'est marrant. Le projet est en open source sur GitHub si vous voulez tenter le coup chez vous.

Source

Dream Server - Un serveur IA complet chez vous en une commande

Par : Korben ✨
26 juin 2026 à 14:41

Monter une vraie IA à la maison, c'est vite une galère. Vous achetez une super machine puis vous collez dessus toute votre liste au père Noël (Chat local, reco vocale, génération d'image, RAG et compagnie) et vous voilà à empiler des dockers à n'en plus finir. Eh bien Light Heart Labs en a eu marre de ces bricolages et nous a pondu Dream Server, un outil qui câble tout ce petit monde à votre place !

Une seule commande et c'est parti mon kiki (Linux et macOS) :

curl -fsSL https://raw.githubusercontent.com/Light-Heart-Labs/DreamServer/main/dream-server/get-dream-server.sh | bash

Ou Windows :

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer
.install.ps1

Ça va lancer le script qui va ensuite tout paramétrer tout seul et choisir le modèle d'IA qui collera le plus à votre matériel, et cela que vous ayez une RTX 4090, un Mac M4 avec mémoire unifiée ou encore une puce AMD Strix Halo voire un vieux PC sans GPU.

Edit : un lecteur m'a remonté un piège si vous êtes sous Linux configuré en français (ou n'importe quelle locale qui écrit les décimales avec une virgule). Le script génère tout seul les valeurs de votre fichier .env en suivant le format de nombres de votre système, et il vous colle des 16,0 au lieu de 16.0. Du coup l'install se vautre avec une erreur dans le genre COMFYUI_CPU_LIMIT: expected number, got '16,0'. La parade, confirmée par un des auteurs, c'est de relancer l'installeur en forçant la locale C (celle qui met des points à la place des virgules) :

LC_ALL=C ./install.sh

Ensuite, pendant que le LLM se télécharge à fond les ballons, un autre petit modèle de 1,5 milliards de paramètres en backup afin que vous puissiez quand même "discuter" avec votre Dreamserver.

Le rôle de Dreamserver c'est donc juste de prendre toutes les briques de l'IA pour vous en faire un truc clé en main. Open WebUI pour le chat, llama-server pour l'inférence, Whisper et Kokoro pour la voix, ComfyUI pour les images, Qdrant pour le RAG, SearXNG pour la recherche web sans mouchard, et bien sûr n8n pour brancher tout ça à vos automatisations.

Et une fois que c'est en route, suffit de lancer la commande dream et là vous pourrez tout faire.

Par exemple dream status pour visualiser l'état des services et du GPU, dream model swap T3 pour changer de "palier" sur votre matos, dream enable n8n pour activer une extension ou encore dream mode hybrid pour avoir de l'inférence en local avec possibilité de basculer sur une IA dans le cloud via une API.

Dreamserver reste un orchestrateur, et pas un moteur IA magique, donc si vous adorez tout assembler vous-même, vous n'avez clairement pas besoin de ça. Par contre, si vous vous en foutez, et que vous voulez juste votre IA qui tourne ce soir, ça vous fera gagner des heures de bidouille.

Faut dire qu'à mesure que l'IA devient une infrastructure de base, dépendre à 100% d'un abonnement cloud qui peut tripler ses tarifs ou couper votre accès du jour au lendemain, ça craint un peu. Donc je pense qu'on est tous bien contents d'avoir des solutions clé en main comme celle-ci.

Si ça vous tente, c'est sur le dépôt de Dream Server .

Communautés tech toxiques, faudrait en parler à un moment

Par : Korben ✨
26 juin 2026 à 14:16

Y'a un truc dont on parle pas assez dans le milieu tech je trouve, et pourtant tout le monde le constate : Une grande partie des communautés autour du logiciel libre, de Linux, du dev...etc sont devenues des endroits franchement hostiles. Des clubs fermés, peuplés quasi exclusivement de mecs, qui passent leur temps à expliquer aux autres qu'ils sont de gros nuls, qu'ils posent des questions de noobs, ou encore qu'ils ne tapent pas sur leur clavier comme il faut et j'en passe... Oui je parle bien entre autres du fameux barbu Linux qui vous toise parce que vous utilisez Ubuntu et pas Arch que vous avez compilé à la main.

Et le pire, c'est que tout ça est documenté et chiffré, et même reconnu par les pontes du milieu eux-mêmes ! Vous allez voir...

Prenez Linus Torvalds par exemple. C'est le créateur de Linux et pendant des années, il a insulté publiquement des développeurs sur la mailing list du kernel, leur balançant que leur code était une honte et compagnie. En septembre 2018, il a toutefois fini par mettre les choses à plat dans un mail d'excuses où il écrit noir sur blanc que ses attaques étaient "non professionnelles et injustifiées", et qu'il voulait s'excuser auprès des gens que son comportement avait blessés et je cite, "possiblement complètement chassés du développement du kernel". Il a même pris une pause pour aller se faire aider à comprendre ses émotions. Si même le mec au sommet de la pyramide reconnaît qu'il a fait fuir des contributeurs à coups de mépris, vous imaginez un peu l'ambiance qui grouille en dessous...

D'ailleurs, trois ans plus tôt, en 2015, une développeuse majeure du kernel avait déjà claqué la porte. Sarah Sharp, celle qui maintenait le pilote USB 3.0, était pourtant loin d'être une débutante. Dans son billet Closing a door , elle explique notamment qu'elle n'arrive plus à contribuer à une communauté où elle était respectée pour ses compétences mais jamais respectée en tant que personne.

Violence verbale, blagues sexistes et homophobes, voilà tout ce qu'elle subissait. Et en 2015, malheureusement, elle criait vraiment dans le désert. Personne ne l'a écouté et il aura fallu attendre 2018 et les excuses de M. Torvalds pour capter qu'il y avait un sérieux problème.

Je vous ai dit aussi que j'avais des chiffres, alors les voilà... En 2017, une étude publiée dans PeerJ a analysé plus de 3 millions de pull requests sur GitHub et le résultat bien que fascinant m'a déprimé. Le code proposé par des femmes est accepté à un taux plus élevé que celui des hommes, environ 79% contre 75%. SAUF quand leur genre est identifiable. Cela veut dire que quand on sait que c'est une femme, on accepte moins son code, alors même qu'en moyenne il est meilleur. Affreux non ?

La même année, l'enquête Open Source Survey de GitHub plantait également le décor en annonçant qu'il y avait environ 95% d'hommes, 3% de femmes et 1% non binaire parmi les contributeurs (le 1% restant c'est l'arrondi, btw). Et tristement, les femmes rapportaient bien plus souvent du langage qui les mettait mal à l'aise, et des remarques stéréotypées ("Pas mal pour une femme !", "T'es blonde ou quoi ?", ce genre de saloperies sexistes).

Voilà où en est la belle méritocratie du logiciel libre !

Et du côté de l'entraide soi-disant légendaire, c'est pas plus glorieux. Stack Overflow, le site où des millions de devs vont chercher de l'aide tous les jours, a carrément publié en 2018 un mea culpa officiel . Leur responsable "culture" y écrit que trop de gens vivent Stack Overflow comme un endroit hostile ou élitiste, en particulier les codeurs débutants, les femmes et les personnes de couleur.

Le vrai problème, selon lui, ce n'est pas la communauté, c'est qu'on a appris aux utilisateurs à dire aux autres ce qu'ils font de travers sans jamais leur apprendre à le faire correctement. C'est ce bon vieux RTFM de connard balancé à la gueule des débutants qui après n'osent plus poser de question.

Et tout ça, ça coûte cher, figurez-vous. Oui, oui, la Tech Leavers Study du Kapor Center , en 2017, a chiffré à 16 milliards de dollars par an le coût du turnover provoqué par une culture de travail injuste dans la tech. Les femmes, les minorités, les gens qui ne rentrent pas dans le moule, bah ils se barrent. Une autre enquête, Elephant in the Valley , montrait même que 60% des femmes de la Silicon Valley qui avaient +10 ans d'expérience avaient subi des avances sexuelles non désirées.

Bon, maintenant je vais quand même vous parler de moi, parce que tout ça, je le constate aussi depuis vingt ans.

Pour ma part, si je me suis retiré des réseaux sociaux, et je parle même des réseaux plus barbus, les Mastodon et compagnie censés être plus sains, c'est à cause de ça. Cette hostilité permanente, ce besoin maladif de certains de vous expliquer pourquoi vous avez tort, pourquoi votre choix technique est nul, pourquoi vous n'êtes pas un "vrai". Et si j'ai fermé mes commentaires il y a des années, c'est exactement pour la même raison. Pas parce que je ne voulais plus discuter avec vous, mais parce que je ne voulais plus servir de défouloir à une poignée de types qui confondent intelligence et agressivité.

Sachez que sur cette planète, 100% des problèmes que j'ai eus (et que j'ai encore) dans ma vie perso comme dans ma vie pro, ont été causés par des hommes. Pas 90%. 100% ! Et à chaque fois que quelqu'un m'a défendu, m'a tendu la main, m'a aidé quand j'étais au sol, c'était dans 80% des cas des femmes. Alors je le dis tout simplement, merci à elles, vraiment, du fond du cœur.

Donc voilà, messieurs les toxiques de la tech, sachez-le, je vous évite du mieux que je peux, parce que vous n'êtes pas les personnes ouvertes et sympathiques que vous pensez être. J'ai toujours refusé de rentrer dans vos cases et je pense que pour votre bien et celui du Monde en général, ce serait chouette à un moment d'arrêter de vous comporter en boy's club de connards, et surtout arrêter de croire que la tech vous appartient et que tous ceux qui ne pensent pas comme vous méritent de se faire détruire en place publique.

Et aux femmes, aux noobs, aux curieux, et à tous ceux qui ne sont pas ces clones qui se marrent à chaque blague sexiste, sachez que la tech, elle est à tout le monde.

Elle l'a toujours été d'ailleurs.

Franchement, je vous le dis, moi je trouve ça triste parce que ce milieu, moi je l'aime, j'y suis depuis le tout début, probablement bien avant eux et le voir se transformer en cour de récré pour mecs aigris incapables de gérer leurs émotions, et voir surtout que ça empire d'année en année, bah ça me fout le cafard.

Ah et si mon article vous a donné la rage et que vous voulez me casser la gueule, c'est probablement parce que vous vous êtes bien bien reconnu en 4K UHD Dolby Atmos avec les sous-titres et que vous venez de comprendre que vous n'êtes pas ce gars altruiste que vous pensez être... Déso / pas déso 😘 hein.

BioPass - Déverrouiller son Linux avec sa tronche et son doigt

Par : Korben ✨
26 juin 2026 à 09:08

Contrairement à ce que dit Yann Barthès, on n'est pas tous égaux face à la canicule. Et l'autre truc face auquel on n'est pas tous égaux non plus, c'est le déverrouillage biométrique de son ordi. On les connaît les Linuxiens qui regardent avec jalousie leur collègue sous Windows qui déverrouille sa machine d'un simple coup d'œil à la webcam. Eux, ils sont obligés de taper leur mot de passe de 56 caractères et ça leur fout la rage, alors ils vont sur Reddit pour dire du mal de tous ceux qui n'ont pas de restes de frites collés dans la barbe.

Mais je vais apaiser cette haine en vous parlant aujourd'hui de BioPass , un projet open source signé thaitran24 et phucvinh57, deux devs réunis sous la bannière TickLabVN.

Ce qu'ils veulent faire, c'est amener enfin sous Linux l'équivalent de Windows Hello. BioPass vous connecte à votre session, à un sudo ou à tout service qui passe par PAM avec votre visage ET votre empreinte digitale.

Jusqu'ici la référence sur Linux c'était Howdy , qui fait du visage uniquement, en ligne de commande, et que les développeurs eux-mêmes décrivent comme un peu à l'abandon (sur openSUSE le paquet n'est carrément plus maintenu). C'était chiant à configurer en plus, alors que BioPass lui, propose une vraie interface graphique pour gérer tout ça.

Le module qui parle à PAM est écrit en C++17 et fait tourner trois modèles en local via ONNX Runtime : YOLO pour détecter le visage, EdgeFace pour le reconnaître, et MobileNetV3 pour l'anti-spoofing. Les devs ont d'ailleurs viré les grosses dépendances type PyTorch et OpenCV au profit d'ONNX, histoire de garder un truc léger.

Au moment où votre OS réclame une authentification, BioPass le voit et démarre un processus isolé nommé biopass-helper qui s'occupe de la capture de votre minois et de l'inférence derrière pour vous reconnaître.

Et puis surtout, le point qui compte vraiment quand on parle biométrie c'est que tout reste en local. Y'a vraiment aucune empreinte de votre doigt ou cartographie de nos tronches de cakes qui partent faire du tourisme chez AWS ou Azure.

BioPass gère bien la détection de fausse présence avec une caméra infrarouge (supportée depuis la version 1.1), et la dernière mouture exige même que toutes les méthodes anti-spoofing activées valident, mais sans caméra IR, en se reposant sur le seul modèle d'IA, un visage peut potentiellement se laisser amadouer par une photo bien placée.

Ça reste le talon d'Achille classique de la biométrie, et on a déjà vu pire ailleurs, genre Windows Hello dont le visage devenait copiable sur une clé USB , ou ce laptop Dell qu'on déverrouillait avec un oignon , donc prenez-le plutôt comme un outil de confort plutôt que pour quelque chose qui renforce la sécu de votre Linux.

Pour tester, il y a des paquets .deb et .rpm sur les releases GitHub, et un paquet AUR biopass-bin pour les gens sous Arch. Ah et il vous faudra un capteur d'empreintes pour la partie doigt. Une webcam classique suffit pour la reconnaissance faciale, mais sans caméra infrarouge l'anti-spoofing reste encore une fois, fragile donc gardez ça en tête.

Le projet est sous licence MIT, et la prochaine grosse étape annoncée c'est carrément l'authentification vocale.

macUSB - Créer une clé USB macOS sans toucher au Terminal

Par : Korben ✨
26 juin 2026 à 08:52

Krystian Pierz, un développeur polonais qui se planque derrière le pseudo Kruszoneq, en a eu marre de se galérer à chaque fois pour faire des clés USB bootable pour Mac, alors il a sorti macUSB , une app Mac native (du vrai Swift, pas un machin Electron quoi) qui fait tout le sale boulot à votre place. C'est gratuit, le code est ouvert, et surtout c'est notarisé par Apple, donc pas besoin de bidouiller la sécurité de votre Mac avec Sentinel pour la lancer.

Et ça se fait en trois clics. Vous balancez votre image (un .dmg, un .app d'installation macOS, ou même un .iso), vous désignez votre clé USB, et macUSB se débrouille pour calculer le checksum, détecter la version et l'architecture, formater le support dans le bon système de fichiers et écrire le tout en vous affichant la vitesse en temps réel. Pas de Terminal, pas de commande à rallonge à recopier sans se tromper d'un espace, et surtout l'Utilitaire de disque qu'on déteste tous reste fermé.

Le vrai exploit de Kruszoneq c'est surtout qu'il a réussi à régler les cas de figure où createinstallmedia, l'outil officiel d'Apple, se crashait comme une merde. Je pense que si vous avez déjà essayé de vous faire une clé Monterey ou Big Sur depuis un Mac Silicon par exemple, pour réparer un autre Mac Intel, vous avez dû vous galérer avec des erreurs de validation et autres messages d'erreur pour cause d'architecture incompatible.

Bah macUSB contourne tout ça tout seul comme un grand, et répare même les certificats expirés des installeurs High Sierra et Mojave sans rien vous demander.

Pour situer le progrès, la méthode "propre" côté Apple ressemble à ça :

sudo /Applications/Install macOS Sequoia.app/Contents/Resources/createinstallmedia --volume /Volumes/MaCle

...et encore, à condition d'avoir déjà récupéré le bon installeur dans l'App Store. Je ne vous parle même pas de l'époque où il fallait extraire à la main le fichier InstallESD.dmg planqué dans le paquet de l'installeur (j'expliquais déjà ce bricolage en 2011 pour OSX Lion ). Alors que macUSB, lui, embarque un téléchargeur qui va chercher les installeurs directement sur les serveurs d'Apple. Vous n'avez plus rien à préparer en amont.

L'outil sait donc préparer des clés USB de macOS Tahoe (la version 26, celle de cette année) jusqu'à Tiger 10.4 sorti en 2005, PowerPC compris. Oui, vous pouvez ressusciter un iMac G5 depuis votre MacBook M4. Pour les collectionneurs de vieilles machines, les labos qui gardent des Macs d'époque, ou juste pour remettre d'aplomb un ordi que vous comptez revendre, c'est du bonbon ^^.

Et la v2.3, sortie hier, en remet une couche côté Windows puisqu'elle sait également préparer des clés Windows 10 et 11 en contournant le check TPM 2.0 (le compte Microsoft obligatoire avec la connexion Wi-Fi forcée pendant l'installation, argh !). Et elle écrit aussi les images Linux en .iso et en .img. Après si c'est juste faire une clé Windows depuis votre Mac que vous cherchez, WinDiskWriter fait déjà très bien le job, mais macUSB a l'avantage de tout regrouper au même endroit.

Côté prérequis, votre Mac doit donc tourner au minimum sous Sonoma 14.6 (Apple Silicon ou Intel), et il faudra lui accorder l'accès complet au disque dans les réglages système, rien d'anormal puisqu'il écrit directement sur vos volumes. Une fois ça réglé, vous récupérez le .dmg sur la page des releases GitHub , ou vous l'installez en une ligne avec Homebrew :

brew install --cask macusb

C'est super impressionnant pour un projet développé par une seule personne et qui plus est n'a que 6 mois d'existence. Bref, si vous avez un Mac à réinstaller, un vieux coucou à dépanner ou une machine à remettre d'aplomb avant de la revendre, foncez !

EmuDevz - Le jeu où vous codez votre émulateur NES

Par : Korben ✨
26 juin 2026 à 07:39

Afska, le développeur derrière une flopée d'outils pour Game Boy Advance, a eu avec son studio [r]labs une idée géniale ! Ça s'appelle EmuDevz, et c'est un jeu vidéo dans lequel vous devez coder votre propre émulateur NES. Et pas en cliquant sur des boutons comme un loser, hein mais en pissant du vrai code pour le processeur, la puce graphique et la puce audio de la console de Nintendo.

L'émulation, normalement, c'est un truc réputé aride où vous passez des semaines le nez dans la nesdev wiki à piger comment le 6502 gère ses cycles d'horloge. Et pourtant, là, tout devient clair et facile puisque vous avez un éditeur de code intégré façon shell Unix, et vous implémentez le CPU, le PPU et l'APU dans l'ordre que vous voulez. Puis au fil de votre progression, vous débloquez des ROMs et des homebrews à faire tourner dans l'émulateur que vous venez de pondre. Et pour vérifier que votre code tient la route, le jeu fournit même des tests unitaires, des tests vidéo et des tests audio.

Mais le truc qui m'a scotché dans ce "jeu", c'est le debugger. Dans celui-ci, vous avez droit à un visualiseur de mémoire, un log d'instructions, les nametables, la CHR, les sprites, les palettes, les canaux APU affichés un par un, le monitoring du contrôleur... l'arsenal complet du mec qui développe pour de vrai, mais emballé dans une interface gaming. Y'a même un tuto interactif pour apprendre l'assembleur 6502 si vous débarquez sans rien connaître...

Voilà, c'est génial pour apprendre des concepts liés à l'émulation et au développement de jeux retro. On savait déjà qu'il était possible d' apprendre Prolog grâce aux Pokemon ou de recréer une carte 3dfx de zéro et voilà que maintenant, on nous propose carrément de dompter l'émulation de la NES.

Puis surtout, une fois que vous maitriserez un peu plus, le mode libre de EmuDevz vous permettra de commencer à coder des émulateurs pour d'autres systèmes. Ah et y'a même une bande son retro-synthwave dans l'appli pour se mettre dans l'ambiance.

Et je vous l'ai dit ou pas que c'était open source, trouvable sur Steam mais surtout jouable directement depuis votre navigateur ???

La vie est belle ! Et bonne canicule à tous 🥵 !

Source

❌
❌