Trois packs à importer, dont All the Mods 11 sur Minecraft 26.1.2 — qui a refait son pipeline GUI en rendu différé. Mon dumper, qui rendait dans une frame live, ne rendait soudain plus rien. Récit d'une réécriture, et d'un outil qui devient un dépôt à part.
BLOG
Carnet de bord d'une galaxie de projets perso. Updates, post-mortems, petits trucs.
Chaque mob du wiki tourne en vue 3/4. Pas un fichier de modèle, pas un screenshot : l'entité vivante, rendue par le jeu en 12 frames. Comment je la fais tourner, et comment je l'empêche de déborder de sa case — démos interactives à l'appui.
Retrouver un favori, c'est l'enfer : on se souvient de l'idée, pas du titre. J'ai mis une recherche hybride — mots-clés + sens — dans une extension Chrome. 120 Mo de transformer, de l'OCR, et zéro octet qui quitte la machine. Avec tout ce que MV3 m'a balancé.
La déco détectée en 20 s, le tick du jeu tiré par le client, les scores perdus : ce n'étaient pas des bugs, c'était l'architecture. Comment j'ai sorti la couche temps réel de mes parties multijoueur vers un Durable Object Cloudflare — un mini-serveur par partie.
J'avais un viewer de quêtes bricolé pour un seul modpack. Le transformer en traducteur générique « n'importe quel modpack → wiki web » a surtout demandé de tracer des frontières — et d'écrire le playbook que je relirai dans 6 mois.
« Combien de matières premières pour fabriquer ça ? » Sur un modpack à 25 000 recettes, la réponse est un arbre — et l'arbre est plein de cycles qui le font tourner en rond. Récit d'un résolveur en CTE récursive Postgres.
Ma couche de données de craft était « items only ». Sans le savoir, elle droppait chaque entrée/sortie de fluide ou de produit chimique — 559 recettes avec un ingrédient fantôme, 28 disparues — et des arbres de poules qui mouraient dans le vide.
Pour mon wiki de modpack, il me fallait l'icône PNG de chaque item, fluide et mob du jeu — teintures et modèles dynamiques compris. La seule source fiable du rendu d'un item, c'est le jeu lui-même. Alors j'ai écrit un plugin JEI qui rend tout dans un FBO.
Pour dumper les assets d'un modpack, il fallait lancer un client Minecraft moddé sans écran sur cookie-server. Entre l'iGPU AMD, Xwayland et un OOM-killer qui visait le mauvais process, ça a pris plusieurs relances.
FTB Quests dessine son arbre de quêtes dans le jeu. Je voulais le même rendu, à l'identique, dans un navigateur. La solution : lire le code source du mod pour en extraire un « render profile », et reporter chaque constante en canvas 2D.
Extraire, résumer via IA et indexer toutes mes sessions Claude Code dans un journal Obsidian qui se met à jour tout seul. Avec les détours pénibles : projet GCP suspendu, quota free tier, hook qui bloquait la fermeture, et un audit GitGuardian inattendu.
Mon MacBook 16 GB plantait en boucle. J'ai accusé les MCP servers, un plugin Claude Code, le navigateur Dia — avant de découvrir que le vrai coupable spawnait 2261 processus en 50 secondes.
Comment j'ai monté un SSO cross-domaines pour 25 sous-sites avec ~150 lignes de code, en utilisant une feature Supabase que peu de gens connaissent.
Une trentaine de projets perso, un serveur sous mon bureau, et un pipeline de déploiement qui tient sur un fichier JSON. Présentations.
Avant je déployais à coups de rsync depuis ma machine. Aujourd'hui, gh release create suffit. Récit du système maison qui écoute GitHub, parle cPanel, et publie sur O2switch.
Pendant 3 jours, manabo.cookie renvoyait 502. La cause se cachait dans une règle UFW que je n'avais jamais regardée.