Meeting Recorder
, c'est un enregistreur de réunions pensé pour
Omarchy, la distribution Linux de DHH
basée sur Arch et Hyprland. Et y'a pas besoin d'inviter à bot chelou dans votre visio puisque l'app se contente d'écouter votre micro et ce que joue votre ordinateur. Donc ça fonctionne avec n'importe quel logiciel de réunion, et tout est ensuite transcrit sur votre machine, 100% en local
Le micro et le son de l'ordinateur sont ainsi enregistrés sur deux pistes séparées, et deux jauges vous montrent avant de lancer que les deux arrivent bien. C'est comme ça que l'outil sait qui parle... ce qui passe par le micro, c'est vous, et ce que joue l'ordinateur, ce sont les autres. Et s'il y a plusieurs personnes en face, Nemotron 3 Diarization, un modèle de NVIDIA qui tourne en local, sépare simplement leurs voix en "Remote 1", "Remote 2"...etc, que vous pouvez ensuite renommer.
L'écran de fin, Maya au micro, Tom côté ordinateur, et les deux pistes dans la forme d'onde
À la fin de l'appel, c'est whisper qui transcrit tout ce basar, avec le modèle large-v3-turbo par défaut (environ 1,6 Go à télécharger une seule fois), pendant qu'une animation façon années 90 vous fait patienter. Et pas besoin de carte graphique puisque d'après l'auteur, le processeur d'une machine récente boucle un appel court en quelques secondes. Ah et puis trop cool, le français fait partie des langues proposées, donc vous pouvez l'utiliser si vous avez séché les cours d'anglais.
Vous récupérez ensuite le texte, avec l'heure et l'intervenant sur chaque ligne, et un lecteur audio au-dessus. Cliquez alors sur une ligne et la lecture repartira de là. Et si whisper s'est gourré, vous survolez la ligne pour la corriger, la donner à l'intervenant suivant ou la supprimer. Chaque réunion finissant dans un simple dossier de ~/Documents/Meetings, avec l'audio et un fichier transcript.md, vous pouvez tout récupérer et même glisser sur la fenêtre un vocal ou un appel enregistré ailleurs, et Nemotron pourra y détecter jusqu'à 8 voix sans problème.
Pour les réunions de trois minutes ou plus, il y a aussi du chapitrage et c'est l'agent de code réglé par défaut dans Omarchy (Claude Code, Codex...) qui découpe la transcription une fois que c'est terminé. Donc, si vous ne voulez pas que ça parte dans le cloud, il faut prendre le temps de ne régler aucun agent par défaut sur Omarchy.
Et n'oubliez pas non plus de prévenir les gens en début de réunion, car
l'article 226-1 du Code pénal
punit l'enregistrement de paroles privées sans leur consentement. Hé ouaiiiis !
Côté installation, l'outil est dans le dépôt de paquets d'Omarchy, pour l'instant uniquement sur le canal edge. Sinon, en attendant la prochaine version d'Omarchy, ce script d'une ligne installera le même paquet.
Bref, c'est l'un ou l'autre :
yay -S omarchy-meeting-recorder
ou
curl -fsSL https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/main/install.sh | bash
Attention, au moment où j'écris ces lignes, la version 1.1.1 plante dès la première transcription sur les processeurs sans AVX-512, un Ryzen 5 5500 ou un Core Ultra 9 285K par exemple. L'audio est bien enregistré, mais vous n'aurez pas de texte, parce que le binaire publié a hérité des instructions AVX-512 de la machine qui l'a compilé. Heureusement, un contributeur a déjà proposé un correctif, donc, soyez patient. Mais si vous êtes vraiment pressé, il faudra juste compiler vous-même l'appli (cargo build --release, les étapes sont dans le README).
Et si vous n'êtes pas sous Omarchy ? Faut chialer ?
Non, car l'app prendra alors l'apparence standard de libadwaita, mais sans l'agent par défaut d'Omarchy. Donc adieu les chapitres. Sous Windows,
l'application Meetily
fait le même genre de travail en local, Avec mon application macOS
Kassis
, on peut faire ça aussi. Il suffit de glisser-déposer l'enregistrement de la réunion sur l'appli. Les interlocuteurs sont reconnus et on obtient un transcript en quelques secondes. Enfin, pour transcrire vos enregistrements directement sur un serveur, il y a
Speakr, dont je vous ai déjà parlé
.
Voilà, en tout cas, je trouve que son dev a bien bossé ! Meeting Recorder c'est sous licence MIT, et
le code est sur GitHub
pour ceux qui ont un Omarchy sous la main !
Un emplacement M.2 finalement, ce n'est rien d'autre qu'un bonne vieille connexion PCIe d'une à quatre lignes selon la machine (sauf quand il est câblé en SATA, mais ça, j'en reparle à la fin). Et en général, comme le montre la photo ci-dessous, ce qu'on y met, c'est un SSD pour avoir du stockage rapide et efficace
Emplacement d'un M.2 sur la carte mère d'un laptop (
source
)
Mais aujourd'hui, on va s'ouvrir un petit peu l'esprit sur cet emplacement M.2, parce que OUI, rien ne vous oblige à y mettre un SSD !
Mais avant de commander quoi que ce soit, sortez le manuel de votre carte mère ou la doc de votre mini-PC et regardez le type (PCIe ou SATA) de votre connecteur M.2, le format accepté et surtout le nombre de lignes de cet emplacement.
Le nombre de lignes, c'est le nombre de voies de circulation entre la carte M.2 et le processeur. Plus il y en a, plus ça va vite, donc en général, pour une carte réseau, une ligne (x1) ou deux (x2) suffisent. Mais si vous partez sur une carte graphique, il faudra 4 lignes minimum (x4).
Par exemple, le Beelink ME Mini
, lui, dispose de 5 emplacements PCIe 3.0 x1 et un seul en x2. Et sur
une ASRock B850 Pro-A
, le 4e emplacement M2 tourne en x4... mais retombe en x2 dès qu'un disque occupe l'un des autres ports M.2 en SATA3.
Regardez aussi ce que l'emplacement partage, car sur cette même carte mère ASRock, occuper par exemple le 3ème emplacement désactive purement et simplement le slot PCIE2. Vérifiez aussi que la puce du contrôleur M.2 dispose bien d'un pilote pour votre système, et demandez-vous par où passera le câble car mis à part l'accélérateur IA que je vous présente un peu plus bas, toutes les cartes qui suivent traînent un truc derrière elles. Donc, il faudra peut-être découper votre boîtier ou laisser dépasser des trucs...
Allez, c'est parti !
Une carte réseau 5 ou 10 GbE
Pour un NAS ou un routeur maison,
la carte 5 GbE de KALEA
à 29,90 € embarque une Realtek RTL8126 qui se branche sur un emplacement à clé M ou B+M et déporte son port RJ45 sur une équerre classique de PC. Et bonne nouvelle, comme la RTL8126 est une puce PCIe 3.0 x1, une seule ligne suffit ! Elle est reconnue par
le pilote r8169 de Linux
depuis le noyau 6.9, et sous FreeBSD (donc OPNsense ou pfSense) par
le pilote officiel de Realtek
, realtek-re-kmod, qui s'installe à part.
La carte 5 GbE de KALEA, avec son port RJ45 déporté sur une équerre
Maintenant, si vous voulez du 10 GbE,
la carte de REKONG
à 98,32 € passe par une Marvell AQC113. Et si j'en crois la fiche du vendeur, elle accepte du Gen4 x1 ou du Gen3 en x4, x2 et x1. Sauf qu'une ligne Gen3, c'est 8 Gbit/s, ce qui veut dire que sur un emplacement Gen3 x1, elle plafonnera sous ses 10 Gbit/s. Donc à ce prix-là, autant prendre la 5 GbE. Par contre, en Gen3 x2 (16 Gbit/s) ou en Gen4 x1 (32 Gbit/s), elle pourra tenir les 10 Gbit/s sans problème,
Côté logiciel, Linux la gère avec son pilote atlantic, mais sous OPNsense, c'est une autre histoire. Le pilote FreeBSD d'Aquantia, lui, ne prend pas en charge l'AQC113 et il faudra
passer par un pilote communautaire
.
Un accélérateur IA pour Frigate
Si vous faites tourner
Frigate pour vos caméras
, oubliez le Google Coral, qui
n'est plus recommandé par Frigate
. Mais attention, avant d'acheter un autre accélérateur IA à la place, regardez d'abord si votre processeur ne sait pas déjà faire le boulot, car le détecteur OpenVINO de Frigate tourne sur le GPU intégré des processeurs Intel de 6e génération ou plus récents. Un N100, par exemple, analyse une image en 15 ms environ avec MobileNetV2, sans rien acheter de plus, donc vous n'en aurez peut-être même pas besoin.
Par contre, si ça ne suffit plus,
le module Hailo-8 de LUCKFOX
à 201,59 € vous amènera 26 TOPS sur une interface PCIe Gen3 à quatre lignes. Frigate le prend en charge, avec environ 7 ms par image, mais mesurées avec YOLOv6n, donc c'est loin d'être comparable aux 15 ms du N100.
Maintenant, le truc cool, c'est que vous n'avez pas besoin d'un emplacement x4. La preuve,
l'AI HAT+ 26 TOPS
de Raspberry Pi, construit autour du même Hailo-8, tourne sur le port PCIe du Pi 5, qui n'a qu'une seule ligne. Un emplacement M.2 en x1 fera donc l'affaire, même si Frigate note que les PC x86 à deux lignes font mieux que le Pi.
Le module M.2 Hailo-8, avec sa puce sous un capot métallique
Une carte graphique externe en OCuLink
Ici, c'est la seule carte de la liste qui exige un emplacement x4.
L'adaptateur OCuLink de RIITOP
à 36,95 € transformera instantanément votre port M.2 en prise OCuLink PCIe 4.0 x4 (jusqu'à 64 Gbit/s). On doit ensuite le relier au
dock Minisforum DEG1
(prix 109,00 €), sur laquelle se plug la carte graphique (à acheter séparément avec son alim) et se branche sur une alimentation ATX ou SFX. Le câble OCuLink, lui,
est livré avec le dock
.
L'adaptateur M.2 de RIITOP et sa prise OCuLink
Notez que le DEG1 de Minisforum n'est compatible qu'avec les machines qui gèrent le PCIe 4.0 x4, donc visez un emplacement Gen4 x4. Et l'OCuLink ne se branche pas à chaud, faudra éteindre le PC avant.
Le dock DEG1 de Minisforum, avec le slot qui reçoit la carte graphique
Et si vous préférez rester à l'intérieur du boîtier,
la nappe ADT-Link
à 35,45 € ressortira l'emplacement M.2 en slot PCIe x16 prévu pour une carte graphique. Alors je dis x16, mais c'est seulement au niveau du format PCIe 3.0 parce que la carte, en réalité, ne recevra que les lignes réellement disponibles de l'emplacement M.2.
La nappe R43SR d'ADT-Link, du connecteur M.2 au slot PCIe x16
Le port USB-C de façade qui ne sert à rien
Et si le port USB-C en façade de votre boîtier reste inerte faute de connecteur sur la carte mère,
l'adaptateur Type-E de CY
à 32,99 € transformera l'emplacement M.2 en connecteur interne Type-E à 20 Gbit/s. Il repose sur une ASMedia ASM3242, conçue pour quatre lignes PCIe Gen3 (sur deux, on tombe à 16 Gbit/s), et ne fait ni vidéo, ni audio, ni recharge PD.
L'adaptateur M.2 de CY, son connecteur Type-E et son dissipateur
Maintenant, si un connecteur USB 3.0 à 19 broches est encore libre,
un simple adaptateur EZDIY-FAB
à 14,99 € réveillera ce port en USB 3.2 Gen 1, sans avoir à toucher à votre emplacement M.2.
L'adaptateur en L d'EZDIY-FAB, vu sous deux angles
Six ports SATA de plus
Côté stockage,
le contrôleur SATA de Namvo
à 29,99 € vous ajoutera 6 ports SATA 6 Gbit/s grâce à
une ASMedia ASM1166
, reliée en PCIe Gen3 x2. Ça fait 16 Gbit/s à partager entre les 6 disques, et moitié moins sur un emplacement x1.
Le contrôleur SATA de Namvo
Du Wi-Fi 6E
Enfin, pour ajouter du Wi-Fi 6E à une tour qui n'en a pas, il vous faudra
un module Intel AX210
à 28,37 € et
un adaptateur Jectse
à 9,62 € qui le fera tenir dans un emplacement à clé M. Comme Intel documente son AX210 comme étant du Wi-Fi (PCIe) et BT (USB), l'adaptateur fait passer le Wi-Fi par une ligne PCIe et le Bluetooth par un petit câble USB 2.0 fourni, à relier à un connecteur interne de la carte mère. Et les antennes ne figurent ni sur la fiche du module ni dans le colisage de l'adaptateur, donc faudra les acheter à part.
Méfiez-vous par contre de la liste de compatibilité de la fiche Jectse, qui dit supporter aussi l'AX201.
Intel classe ce module
en "M.2: CNVio2", et pas en PCIe et USB. Bref, attention à bien prendre un AX210 et pas un 201
Voilà et si votre emplacement libre s'avère être câblé en SATA, bah oubliez toutes ces cartes... Toutes ces cartes parlent uniquement le PCIe. Il ne vous restera alors plus qu'à y mettre un SSD SATA... Snif.
Je ne sais pas si vous connaissez curl.md, mais c'est un service qui prend l'adresse d'une page web et vous l'affiche en Markdown. Y'a pas de menus, pas de bandeaux de cookies, et ce genre de conneries... C'est juste le texte de votre article, les titres, les liens et les tableaux.
Et le plus sympa, c'est que vous n'avez rien à installer pour l'essayer. Vous collez curl.md/ devant l'adresse qui vous intéresse, dans la barre de votre navigateur, et vous obtenez la page en texte markdonw. Avec curl dans un terminal, c'est pareil, la réponse arrivera en text/markdown, et si vous préférez du JSON, vous envoyez l'en-tête Accept: application/json.
Un article de korben.info passé par curl.md : le texte, les liens, et un en-tête de métadonnées en haut
Et vous pouvez aller plus loin
en ajoutant un objectif
avec le paramètre --objective. Par exemple, vous décrivez ce que vous cherchez dans la page, et le service ne vous renvoie que le passage qui correspond. Il y a aussi des mots-clés, qui font un pré-filtrage avant l'extraction, et un mode smart ou rush selon que vous voulez une passe plus poussée ou plus rapide. Tout ça passe en paramètres d'URL, donc sans ligne de commande.
Pour ceux qui y reviennent souvent, il existe également un client à installer avec npm, avec bun ou avec un script, et qui s'invoque ensuite par curl.md ou par son alias court md :
# Sans rien installer
curl curl.md/example.com
# Ou avec le client
npm i -g curl.md
md zod.dev/error-formatting --objective "tree error formatting"
Côté agents de code, il y a des intégrations natives pour Amp, Claude, OpenCode et Pi. Si votre outil n'est pas dans la liste, le client sait aussi tourner en serveur MCP avec curl.md --mcp, et il existe un SDK TypeScript. Dans tous les cas, c'est l'agent qui va chercher les pages tout seul, vous n'avez plus rien à lui coller.
Du coup, ça sert à quoi ?
Bah dans le cadre de votre boulot, c'est surtout pour arrêter de coller des pages entières dans vos prompt. Vous donnez à votre agent la doc d'une bibliothèque avec un objectif précis, et il reçoit trois paragraphes au lieu de quarante pages HTML.
Ça marche aussi pour un script de veille qui suit les notes de version d'un projet, ou pour aspirer une doc dans un fichier texte que vous garderez dans le dépôt (bien plus lisible qu'un PDF dans un coin...).
Et en usage perso, ça vous permet de récupérer par exemple un article pour le relire au calme dans Obsidian, d'archiver une recette ou un mode d'emploi avant qu'il disparaisse, ou de vous envoyer une page à ChatGPT sans lui faire avaler la moitié du site autour. Notez que si c'est la consommation de vos agents qui vous embête, j'avais parlé de
RTK, un proxy qui économise des tokens
sur le même principe.
Par contre, il y a un plafond. En mode anonyme sur la version hébergée, vous avez droit à 100 requêtes par heure, et 1 000 une fois connecté. Et pour les requêtes avec un objectif, celles qui font justement l'intérêt du truc, c'est 3 par heure en anonyme et 10 en étant connecté. Bref, de quoi essayer, mais pas vraiment de quoi travailler... Au-delà, faudra passer par des crédits prépayés, à recharger par tranches de 5, 10, 20 ou 50 dollars.
Et si vous ne voulez pas dépenser d'argent, le code source est public sur GitHub sous licence MIT pour l'auto-héberger chez vous.
Saviez-vous que Silent Hill, premier du nom, peut aujourd'hui être terminé sur PC, en grand écran et sans émulateur ? Et oui, c'est possible parce que le jeu est compilable directement pour votre machine à partir du code source obtenu à partir d'un gros travail de reverse engineering.
Et ce genre de portage n'est plus un cas isolé du tout. Depuis
Zelda 64 recompilé
, la scène RECOMP a franchement explosé, au point qu'on ne sait plus trop où donner de la tête. Il y a des portages qui sont très complets et fonctionnels du début à la fin, et puis des projets en cours qui sont à moitié finis, qui plantent, etc.
Alors j'ai fait mes recherches et aujourd'hui, je vous présente 10 projets de recompilation qui valent le coup ! Je commence donc par les deux qui se jouent pour de vrai.
Le
port PC de Silent Hill
, donc, pour commencer. Dans ce portage, chaque carte, chaque boss, chaque cinématique et chaque fin fonctionnent, et vous pouvez boucler le jeu aujourd'hui si vous le voulez. Vous récupérez au passage la 16:9, la correction de perspective PGXP, des caméras alternatives et un gestionnaire de mods, et les disques PAL français sont reconnus tout seuls. Je précise aussi que la décompilation PSX en dessous est un travail communautaire de longue haleine, mais que le portage, lui, est assisté par IA (avec Claude Opus 4.6 et 4.7).
Le launcher du port PC, réglé en 1920x1080 avec PGXP activé et la limite de FPS à zéro
Dans la même catégorie, il y a
Golden Balloon
qui ressuscite ce que son dépôt appelle sobrement le kart racer Nintendo 64 de 1997. Pas d'émulateur là non plus mais un jeu compilé pour votre machine, qui lit votre ROM en local, sans jamais l'envoyer nulle part. Vous pouvez même jouer directement dans le navigateur à 2 ou 4 joueurs en écran partagé ou en multijoueur directement en ligne (ça c'est en bêta).
La page du portage : le jeu compilé pour votre processeur, affiché en WebGPU, et rien à installer
Après, il y a d'autres projets qui démarrent plutôt bien même s'ils sont encore en chantier.
Je pense à
Party Board
qui en est le meilleur exemple. En gros, c'est Mario Party 4 porté sur Windows, Linux, macOS, Android et iOS, avec un mode en ligne à deux. Tout n'est pas parfait, c'est un work in progress, mais ça progresse assez vite, donc je pense que c'est un projet à suivre si vous aimez Mario Party.
Party Board sur GitHub : le dernier commit remonte à l'heure qui précède la capture
De son côté,
DKC1Recomp
s'attaque à Donkey Kong Country sur Super Nintendo, et son statut affiché est "playable bring-up". Ça veut dire que ça démarre, ça se joue, mais on en est aux toutes premières versions. La totalité du code du jeu est générée statiquement et ça peut tourner sous Windows, macOS et même via une app iPhone et iPad native. Par contre, comme d'hab', il vous faut la ROM.
Notez que Snesrecomp apparaît en sous-module dans l'arborescence de DKC1Recomp
Lost Odyssey Recomp
est sans doute le plus ambitieux du lot puisqu'il s'agit d'un très gros jeu Xbox 360 traduit depuis son binaire PowerPC vers du natif, en Direct3D 12 ou Vulkan. D'après ses auteurs, les zones d'ouverture et quelques scènes sont testées, mais pas encore une partie complète, et il reste des soucis de rendu et de stabilité. La dernière version embarque quand même un pack de shaders qui vous évite leur compilation au premier lancement.
La ville industrielle de Lost Odyssey, avec sa minimap de navigation en haut à droite
Viennent ensuite les outils, ceux qui fabriquent les portages plutôt que de les livrer...
On a d'abord
RecompOne
qui recompile statiquement les exécutables PlayStation 1 vers du C# et fournit la couche qui rejoue le matériel de la console. Pas besoin de BIOS ni du moindre fichier Sony, vos fichiers de jeu suffisent. Le projet est fait par des humains, et aucune contribution écrite par une IA ne sera acceptée, et l'auteur explique qu'il ne fera la promotion d'aucun portage produit de cette façon.
L'IA c'est la vraie ligne de fracture de la scène en ce moment...
RecompOne et son logo aux couleurs de la PlayStation, publié sous licence MIT
DolRecomp
fait la même chose pour la GameCube et la Wii. Il sait extraire un disque GameCube tout seul, et s'appuie sur Wiimms ISO Tool pour les images Wii, qu'il vous propose d'installer au passage. Sa grosse limite, c'est qu'il ne traduit que le processeur. En effet, tout le runtime autour, il faut l'apporter, ou partir du modèle que fournit ModernGekko. Autant dire que c'est un outil de bricoleur et pas un bouton "portage".
Luigi's Mansion qui tourne dans une fenêtre Windows sobrement nommée MansionRecomp
ps3recomp
de son côté vise la machine la plus tordue de la liste, le Cell de la PlayStation 3, avec un objectif simple : transformer un binaire PS3 en exécutable natif sans passer par l'émulation. Et face à l'émulateur
RPCS3
, l'argument n'est pas la compatibilité mais la performance native, et évidemment, un code C++ nettement plus facile à modder.
Chez ps3recomp, la toute première version publiée s'appelait Hello, Cell
Le neuvième outil, spoiler alert, c'est le mien. Ça s'appelle
KOMPOTE
et c'est un recompilateur universel de ROMs. Je bosse dessus depuis trois ou quatre mois et il permet de recompiler des ROMs Game Boy dans toutes ses déclinaisons, NES, Super NES, les consoles Sega, la Lynx, la Nintendo 64, la Neo Geo, le Commodore 64. Vous glissez une ROM dessus, ça vous sort un exécutable natif, ou une version WebAssembly pour jouer depuis une page web.
C'est une bêta réservée aux
Patreons
pour l'instant, dispo sous macOS, Windows et Linux et comme pour les autres projets de ce type, ça n'embarque aucun code propriétaire. J'y ai également intégré des petites fonctionnalités sympas sur l'affichage (effets VHS, GB color...etc), l'amélioration du son, les sauvegardes automatiques, du rewind, une API pour pouvoir piloter les jeux avec un TAS, le support des codes Game Genie et j'en passe...
Et puis il y a surtout
CubeShelf
, qui est le premier signe que tout ça commence à s'organiser. C'est un gestionnaire de bibliothèque GameCube qui installe et met à jour les runtimes de plusieurs jeux portés d'un coup... Mario Party 4, Soulcalibur II, Super Mario Strikers... etc. Ça prépare vos images disque et gère les mods
GameBanana
.
La page du projet CubeSelf
Voilà, donc comme je vous le disais, aucun de ces projets ne contient le moindre fichier de jeu. C'est à vous d'amener votre propre ROM ou votre image disque, et parfois même le BIOS de la machine en plus, sinon rien ne se lancera ou ne se recompilera. Et ensuite, une fois que vous aurez une version recompilée de votre jeu préféré, vous pourrez y jouer depuis votre ordinateur comme bon vous semble, sans devoir passer par un émulateur ou la console d'origine.
Bref, si vous ne deviez en essayer qu'un aujourd'hui, prenez Silent Hill ! C'est vraiment un super portage !!
J'ai installé 2 interrupteurs Sonoff Zigbee dans mon bureau hier, un pour la lumière et un pour le volet roulant, et ça m'a pris quelques dizaines de minutes. Que du bonheur !
Les deux bêtes sont l'Orb-ZBW1L et l'
Orb-ZBRBS
(lien affilié). Le premier est un interrupteur mural Zigbee 3.0 à un bouton, qui fonctionne sans fil neutre et supporte jusqu'à 6 A de charge, ce qui règle le cas des vieux emplacements où il n'y a que la phase. Le second interrupteur que j'ai installé, quant à lui, pilote un volet roulant, et son appairage se fait très facilement par un appui d'environ cinq secondes sur le bouton arrière.
Notez que le volet demande un calibrage pour connaître sa course, et c'est là que j'ai failli faire une bêtise. En effet, Zigbee2MQTT expose une action start_automatic qui fait parcourir tout le trajet au moteur. Chez moi ça a duré plusieurs minutes, capteur de statut muet et position bloquée à 50 %. J'ai donc cru qu'il y avait un problème et j'ai stoppé le moteur, alors qu'il avait presque fini. Bref, au moment du calibrage, pensez donc bien à le laisser tourner cinq bonnes minutes.
Bon, après, je n'ai pas vraiment de mérite parce que j'ai surtout laissé aussi Claude Code m'aider à mettre tout ça en place avec son MCP Home Assistant,
comme je vous l'expliquais dans cet article
.
Vive les wagos !
Le vrai morceau qui m'intéresse après, c'est Alexa. En effet, ces deux appareils passent par un pont Matter local vers Alexa (
Home-Assistant-Matter-Hub
), déjà appairé depuis des semaines, et je les ajoute directement là-dessus. Comme ça, tout mon matos dispo Home Assistant apparaît dans Alexa sans problème. Ça me permet de dire des trucs comme "Alexa, allume la lumière du bureau" ou "Alexa ouvre le volet à moitié" ou "Alexa ferme le volet de 30%".
Et ça me permet surtout de faire des scénarios d'automatisation assez cool. Par exemple, mon volet se ferme tout seul quand le soleil passe sous 5° au-dessus de l'horizon... donc pas à heure fixe !
En fait, comme en décembre le soleil descend plus obliquement qu'en juin, le fameux "30 minutes avant le coucher du soleil" ne donne pas la même pénombre d'une saison à l'autre. Alors que 5°, si... Enfin bref, je ne sais pas si vous faites comme ça chez vous, mais moi je trouvais ça plus adapté à ce que je voulais.
Après, mon garde-fou, le but ultime de toute cette affaire, c'est qu'on ne voie pas l'intérieur du bureau depuis la rue ! Du coup, j'ai mis en place une règle supplémentaire qui fait que si le volet s'ouvre alors que le soleil est déjà bas, les lumières s'éteignent. Et je déclenche ça dès le début de l'ouverture, pour qu'il fasse déjà noir à l'intérieur pendant que le volet remonte.
Ah et j'ai oublié de le préciser mais comme l'électricité et moi ça fait deux, j'ai donc photographié les fils des anciens interrupteurs pour demander un peu d'aide à ChatGPT avant de rebrancher tout ça avec des wagos. Je n'ai eu aucun court-circuit, youpi !! J'ai aussi bien pris soin de couper le disjoncteur général pour ne pas finir comme Claude François, car je précise quand même qu'on est sur du 230 V, et qu'une IA qui lit une photo ne remplace pas un électricien !
Le vieil interrupteur que j'ai remplacé
Mais ça permet quand même de mieux comprendre ce qu'on est en train de faire et de débrouiller des situations un peu compliquées parfois, quand le boulot à l'origine était mal fait.
Voilà, en tout cas, je suis très content de ces deux interrupteurs et je pense que je vais en acheter d'autres, notamment pour le reste des volets roulants de la maison.
Si vous avez déjà voulu essayer une distrib sans toucher à votre machine, vous connaissez la corvée... Faut dénicher la bonne ISO (32/64 bits, ARM...etc), créer la VM, et passer 20 minutes dans des réglages pour que ce soit joli ou qu'on puisse y faire du copier coller dans l'hôte et l'invité.
Boxes
, l'application de virtualisation du projet GNOME, vous permet d'éviter tout ça et c'est top si vous aimez économiser un peu de jus de cervelle. Vous choisissez le système dans une liste, et il va chercher l'image et l'installe tout seul en VM pendant que vous faites autre chose, par exemple venir
sur Twitch regarder mon live
.
La liste couvre Debian, Fedora, Ubuntu, OpenSUSE, CentOS Stream, Red Hat Enterprise Linux et Windows. Pour son fonctionnement Boxes s'appuie sur du solide avec qemu-kvm, libvirt-glib et spice-gtk, donc le code de votre système invité s'exécute directement sur le processeur de l'hôte via KVM, pour obtenir ce que la doc de GNOME appelle des "performances proches du natif".
Une fois la VM créée, vous lui fixez la quantité de mémoire et le stockage qu'elle a le droit de prendre sur votre système, histoire qu'elle ne vous freeze pas la machine. Et bien sûr, vous pouvez prendre des instantanés pour la ramener à un état antérieur, ce qui est la fonction qu'on utilise tout le temps, si comme moi vous aimez casser volontairement vos OS avec des bidouilles alternatives des enfers.
Le reste, c'est du confort : vous branchez une clé USB sur votre machine et vous la redirigez dans la VM, le presse-papiers est partagé entre les deux, et vous déposez un fichier depuis votre gestionnaire de fichiers dans la fenêtre de Boxes pour l'envoyer à l'invité.
L'affichage des VMs dans Boxes se redimensionne tout seul quand vous changez la taille de la fenêtre, et il y a même de l'accélération 3D pour certains des systèmes supportés.
Après, cette "simplicité" se paye puisque des choses comme la config des adaptateurs réseau ou la mise à jour du matériel virtuel,
n'est pas visible dans l'interface
. Et comme le Flatpak embarque toute la pile de virtualisation dans son propre conteneur, vous n'irez pas rattraper ça en douce dans les fichiers. Donc si vraiment vous avez besoin de mettre les mains dans le cambouis au niveau de ces réglages-là, prenez plutôt virt-manager dès le départ, c'est fait pour.
Son auteur, Felipe Borges a d'ailleurs réécrit entièrement l'application en GTK4 et
partage ses résultats depuis août
. Cette version-là installe dorénavant Windows 11 sans le moindre contournement manuel, en configurant Secure Boot et un TPM virtuel automatiquement. C'était la fonction la plus réclamée sur la version classique et elle ajoute aussi un périphérique VSOCK, qui permet de se connecter directement en SSH sur les VM en systemd 256 ou plus récent.
Attention quand même, ça reste une bêta destinée aux tests et pas à la production, et son auteur conseille de sauvegarder les données de vos VM avant d'y aller. Il précise aussi qu'il travaille là-dessus sur son temps libre, en plus de maintenir GNOME Settings et de son job à temps plein chez Red Hat ! Encore un hyperactif !! lol. Donc soyez patient si vous ouvrez un ticket de support.
Pour ce qui est disponible aujourd'hui, Boxes ne tourne que sur Linux, la version stable est la 50.0 sortie depuis mars 2026, et ça se télécharge via Flathub comme ceci :
flatpak install flathub org.gnome.Boxes
Dernier truc à savoir, Felipe, le mainteneur, a proposé de
retirer Boxes du cœur de GNOME
pour en faire une application indépendante, et le retrait est programmé pour GNOME 52 en mars 2027. Flathub deviendra alors le seul canal officiellement supporté, et le nom perdra son "GNOME" pour devenir simplement Boxes. L'identifiant Flatpak ne bougeant pas, les installations existantes continueront de se mettre à jour sans rien casser.
Et si vous voulez comparer avec une autre solution similaire, je vous avais déjà parlé de
QuickEmu pour monter des VM
sans y passer l'après-midi, mais Boxes, lui, joue sur le terrain du tout à la souris, et ça j'imagine que ça vous plait plus !
Si vous avez une petite console rétro portable qui traîne, du genre une Miyoo Mini, une TrimUI Brick, une
Anbernic RG35XX
, vous avez sans doute remarqué que l'interface livrée avec fait le job mais sans plus. Ça tombe bien, spruceOS est là pour ça ! Et malgré son nom, ce n'est pas vraiment un système d'exploitation. En réalité, il s'agit d'un frontend codé en Python qui vient se poser sur une base système déjà existante. Le code est public, sous une licence Creative Commons donc pour les plus capitalistes d'entre vous, ça veut dire pas d'usage commercial sans permission écrite de l'équipe.
Sur les Miyoo et les TrimUI, la base en question est le système d'origine de la console, celui du fabricant. Sur les Anbernic à puce H700 et sur la Powkiddy RGB30, il faut d'abord installer une base tierce sur la première carte mémoire, genre BaseOS pour les Anbernic, dArkMoss pour la Powkiddy. La carte spruce, elle, ira dans le second emplacement, le TF2, et elle restera librement échangeable d'un appareil supporté à l'autre. Rien de dramatique donc, mais ça fait une étape de plus et une carte en plus.
Ce que vous y gagnez si vous installez spruceOS, c'est surtout du confort au quotidien. Vous maintenez le bouton HOME pendant trois secondes et le Game Switcher vous laisse sauter d'un état de sauvegarde à l'autre sans quitter votre partie. Quand vous éteignez la console en plein jeu, elle sauvegarde même toute seule son état et vous remet exactement là où vous en êtiez au rallumage. Et si votre console a le Wi-Fi, vous ne repassez plus par le PC pour l'habiller puisque l'outil Theme Garden pioche dans plus de quatre-vingts thèmes communautaires dispo en ligne, le Game Nursery télécharge des portages gratuits / homebrew, et un scraper récupère même les jaquettes des jeux depuis la base libretro.
Le menu principal de spruceOS, avec les quatre icônes du thème SPRUCE par défaut
Ce qu'il vous faut avant de commencer
Il vous faut une carte microSD neuve, d'une vraie marque, achetée chez un revendeur sérieux ainsi qu'un bon lecteur de cartes. Et bien sûr un ordinateur sous Windows, macOS ou Linux avec une connexion Internet.
Et surtout, n'utilisez pas la carte livrée avec la console. C'est pas moi qui le dit mais le wiki du projet qui est catégorique là-dessus, en majuscules dans le texte : "DO NOT USE THAT STOCK SD CARD!", parce qu'elle est mauvaise, que les jeux dessus sont mauvais et que les BIOS le sont aussi. Donc gardez-la dans un tiroir, elle vous servira pour revenir en arrière en cas de foirage.
L'installation en un clic
L'équipe a sorti un installeur tout-en-un, qu'elle présente comme entièrement open source, disponible pour Windows, Linux et macOS. Il formate la carte, télécharge la version que vous choisissez et l'installe, en une seule opération. Une seule précaution, et le projet la signale lui-même : vérifiez bien que le lecteur que vous désignez est votre carte, parce que l'installeur écrit sur celui que vous lui montrez. C'est le chemin recommandé, et c'est aussi lui qui règle le cas des Anbernic et de la Powkiddy : BaseOS et dArkMoss ont chacun leur onglet dans l'application et se téléchargent puis s'installent automatiquement, sans que vous ayez à aller chercher une image ailleurs.
Un détail qui coince sur Mac, et qui n'est écrit nulle part ailleurs que dans le dépôt : macOS interdit aux applications d'écrire sur un disque amovible sans permission explicite, et l'installeur passe par le Terminal. Il faut donc aller dans Réglages Système, Confidentialité et sécurité, Accès complet au disque, ajouter Terminal, puis quitter et rouvrir le Terminal. Ce dernier point compte, la permission ne s'applique pas à une session déjà ouverte.
Sur Mac, Terminal doit figurer dans Accès complet au disque pour que l'installeur puisse écrire sur la carte (
Source
)
L'installation à la main
Si vous préférez faire ça vous-même, il vous faut un utilitaire de formatage et 7zip. Vous formatez la carte en FAT32, avec Rufus sous Windows ou l'Utilitaire de disque sous macOS en choisissant MS-DOS (FAT32). Vous récupérez l'archive spruce.vX.X.X.7z sur la page des versions du dépôt, vous l'extrayez sur votre ordinateur, puis vous copiez le contenu extrait sur la carte. Vous éjectez proprement, vous insérez la carte dans la console et vous allumez.
Et là, attention au piège, puisque le paquet contient un dossier caché nommé .tmp_update, et sans lui spruce ne fonctionnera tout simplement pas. Donc affichez les fichiers cachés avant de les copier : sur Mac c'est Commande + Majuscule + point, et sur Ubuntu le dossier est masqué par défaut lui aussi. Sur Mac, pensez aussi à nettoyer les fichiers .dot parasites avant d'éjecter la carte. Un utilitaire comme
CleanEject
fait ça très bien.
Vos jeux et vos BIOS
Les ROMs se rangent ensuite dans un dossier Roms, avec un sous-dossier par machine. La plupart des noms sont évidents, mais certains noms piègent tout le monde comme SFC ou FC. Hé oui, les jeux Super Nintendo vont dans SFC, pour Super Famicom, et pas SNES ; les jeux NES vont dans FC, pour Famicom, et pas NES. Les vidéos et la musique, elles, vont toujours dans MEDIA.
Les BIOS se posent dans un dossier BIOS à la racine de la carte, mais il faut les placer dans le sous-dossier qui va bien par machine et pas tout balancer en vrac. Le BIOS de la Dreamcast veut son sous-dossier, certains sont obligatoires pour que la machine tourne, d'autres pas. Donc je vous invite à vous renseigner en fonction de la machine que vous voulez émuler. Et comme d'hab, le BIOS de la NeoGeo ne va pas dans BIOS mais avec les jeux.
BIOS/dc/dc_boot.bin Dreamcast, obligatoire
BIOS/gba_bios.bin Game Boy Advance, facultatif
Roms/NEOGEO/neogeo.zip NeoGeo, obligatoire, et pas dans BIOS
Et évidemment, le projet ne fournit ni ROMs commerciales ni BIOS et ne vous dira pas où les trouver, donc c'est à vous de voir avec vos propres cartouches et vos propres disques.
Si l'écran reste noir
Maintenant, si c'est tout noir au lancement, vérifiez que le dossier .tmp_update est bien présent sur la carte. Remettez-la dans l'ordinateur, réaffichez les fichiers cachés, et regardez : si vous avez copié sans avoir activé l'affichage, il n'y est pas. L'autre suspect, c'est la carte elle-même. C'est peut-être parce que vous avez acheté une no-name de merde.
Le moment où vous ne pourrez plus revenir en arrière
Tant que vous ne touchez qu'à la carte, vous ne risquez rien de définitif. Sur la famille Anbernic RG35XX, les guides de référence le disent tous : ces firmwares vivent entièrement sur la microSD, et donc on peut passer de l'un à l'autre sans modification permanente de l'appareil. Ailleurs le principe est le même, et pour retrouver votre console en version d'usine il suffit donc de remettre la carte d'origine.
Sauf qu'il y a UNE exception !! spruce embarque un Firmware Updater qui apparaît tout seul dans vos applications si votre console tourne sur un firmware ancien. Celui-là n'écrit pas sur la carte mais dans la mémoire interne de la machine, et le wiki prévient sans détour : "Failure to follow the firmware updating instructions can lead to a bricked device.". En gros si vous le lancez pour faire la mise à jour du firmware, ça peut bricker votre console, donc pensez bien à la brancher sur le courant avant la mise à jour. Le projet documente d'ailleurs deux procédures de débriquage, dont une qui demande carrément d'ouvrir la Miyoo Flip et de débrancher sa batterie, ce qui vous dit assez bien à quel point on a quitté le terrain du réversible...
Et si spruceOS ne vous convient pas, vous ne serez pas coincé pour autant car sur ce même matériel,
le guide de référence de Retro Game Corps
recommande aussi
Knulli
pour son interface EmulationStation, ou encore
muOS
pour la performance d'émulation la plus avancée, à condition que le bricolage de configs customs ne vous rebute pas. Après voilà, chaque "OS" a sa carte et vous changez d'avis quand vous voulez.
Vous voulez vérifier un truc dans une vieille version de Python, du genre celle de 2017, histoire de voir si le bug que vous traquez vient de là. Normalement ça veut dire chercher une image Docker ou un vieux binaire de python, pour faire vos tests. Mais avec trynix, vous cliquez un lien et hop, vous avez un shell avec votre outil.
Ce site est signé Farid Zakaria, qui bricole autour de Nix depuis des années et appelle ça son "magnum opus". En gros, une machine Linux x86_64 démarre dans votre onglet, avec le paquet demandé déjà accessible dans le PATH. Rien à installer et pas de compte à se créer, ça marche direct dans le browser.
J'ai essayé ce matin avec
python3 en version 3.6.2
. Le navigateur va chercher les chemins du store, vérifie leurs signatures, et au bout d'une trentaine de secondes le prompt s'affiche. Je tape alors python3 --version, il me répond Python 3.6.2, avec la glibc 2.25 et l'OpenSSL 1.0.2l de l'époque livré avec. Et voilà comment je me retrouve avec un Python de 2017 dans un Chrome de 2026, sans rien toucher à ma machine.
Le terminal de la machine virtuelle, dans l'onglet : Python 3.6.2 répond, et les seize chemins du store sont vérifiés juste au-dessus.
Et ce ne sont pas trois démos préparées à l'avance puisque l'index recense les 310 000 et quelques versions que nixpkgs a livrées en treize ans. Toutes ne démarrent pas, attention, il n'y en a que 274 729 avec un binaire x86_64 dans le cache, et le reste est non libre, cassé, ou hors du lot.
Ce qui rend la chose possible, c'est en fait une simple ligne d'en-tête HTTP. Le cache binaire de Nix sert un access-control-allow-origin: *, donc votre navigateur a le droit d'aller y piocher tout seul. Et le plus drôle, c'est que Zakaria avait lui-même réclamé cet en-tête en 2021, pour un tout autre projet. Et 5 ans plus tard, il s'en sert pour démarrer des machines virtuelles... Qui aurait pu prédire comme dirait l'autre !
Pour l'émulation, après il n'a rien réinventé. Il a tout simplement repris prend
qemu-wasm
, le QEMU compilé en WebAssembly de ktock, et la machine virtuelle ne boote même pas vraiment, mais reprend un instantané figé à l'avance. En tout cas, c'est bien pensé et très pratique.
Du Linux dans un navigateur, je vous avais d'ailleurs déjà montré ça ici avec
cette machine virtuelle x86
. Sauf que ces trucs-là chargent une image figée à l'avance, alors qu'ici, on choisit vraiment son contenu en 1 clic.
Niveau vitesse, le projet annonce un lancement en 3 secondes, mais c'est le temps d'obtenir le shell quand tout est déjà dans le cache du navigateur. Chez moi, lors de mes tests, au premier passage, il a fallu 30 secondes, puis 7,5 secondes au suivant. Et une fois dedans ça reste poussif, parce que chaque binaire est traduit du x86 vers le WebAssembly à son premier lancement, ce qui peut faire monter le chargement à deux minutes sur les gros binaires.
Et il y a aussi un plafond puisque tout doit tenir dans la mémoire de l'onglet, soit environ 1,5 Go. Et c'est une console série, donc vous ne pourrez rien lancer de graphique, pas de fenêtre, pas de souris... Bref, que les outils en ligne de commande et rien d'autre ! Mais bon, vous êtes de vrais barbus qui n'ont peur de rien à part du déo, donc je ne suis pas inquiet ^^.
Ce qui est vraiment cool avec Trynix surtout, c'est
l'action GitHub que son dev a sortie
dans la foulée. Si votre intégration continue pousse déjà ses compilations dans un cache, un bot colle un lien sous la pull request et le relecteur lance le code au lieu de le lire. Comme ça, fini le clone, la compilation et le "*ça marche chez moi pourtant *" invérifiable. Même topo pour faire essayer un truc à quelqu'un qui n'a ni Nix ni Docker... Suffit de lui envoyer le lien.
Un petit point sécu quand même que je tiens à vous signaler : L'URL transporte à la fois les caches supplémentaires et les clés qui les valident, du coup la signature vous prouve bien que le binaire vient du cache annoncé... mais pas qu'il vient de quelqu'un de fiable. En effet, cliquer sur un lien trynix inconnu, ça revient à lancer le programme d'un inconnu, et même si ça se passe dans la sandbox de l'onglet du navigateur (ce qui limite les dégâts), c'est quand même mieux d'en avoir conscience !
Bref, voilà encore un chouette projet sous licence MIT et si ça vous chauffe, ça se passe sur
trynix.dev
.
Restic
chiffre bien vos sauvegardes, rclone sait parler à 70 services de stockage, mais connecter les deux ensemble demande d'écrire des scripts et surtout de les surveiller. Eh bien bonne nouvelle, Pluton est l'interface web qui fait ce travail à votre place.
Vous y décrivez un plan de sauvegarde via un formulaire, avec une source, une destination, une fréquence, une politique de rétention, et Pluton fabrique les commandes restic derrière. Les sauvegardes restent ainsi incrémentielles et chiffrées avant l'envoi. La destination peut être un disque local, un bucket S3, un Backblaze B2 ou un Google Drive, et le même plan peut se répliquer vers plusieurs stockages pour respecter la fameuse règle 3-2-1.
L'installer
Je vous ai préparé un petit kit IA pour ceux qui ne jurent que par leur agent :
Un dossier, deux fichiers, et c'est parti. Le docker-compose.yml d'abord, dans lequel vous montez ce que vous voulez sauvegarder en lecture seule et le dossier qui recevra les sauvegardes en écriture. Si vous êtes sur Mac, lisez l'avertissement plus bas avant de monter quoi que ce soit, car ce montage-là m'a joué un tour :
Par contre, attention à cette ENCRYPTION_KEY, c'est le point à ne pas rater. Le compose officiel la documente comme la clé de chiffrement des snapshots restic et rclone, et c'est bien ça. Il s'agit du mot de passe de vos dépôts, c'est la même clé pour tous vos plans. Et donc la perdre, c'est perdre vos sauvegardes, et la changer rendra illisible tout ce qui a déjà été écrit. Bref, copiez-la dans votre gestionnaire de mots de passe avant d'aller plus loin, parce que le jour où vous en aurez besoin, personne ne pourra vous la redonner.
Puis faites un :
docker compose up -d
L'interface répond alors sur le port 5173 et vous demande directement les identifiants du .env. Pas d'assistant de première configuration, pas de compte à créer... en fait quand les variables sont bien configurées, Pluton s'installe tout seul au démarrage. Chez moi, entre le up -d et l'écran de connexion, il s'est donc passé moins d'une minute.
Créer le premier plan de backup
Le bouton "+ New" de l'interface ouvre un assistant en quatre écrans. Vous nommez le plan, vous gardez la stratégie "Incremental Backup" (les trois autres sont grisées, elles appartiennent à l'offre Pro), vous pointez /mnt/documents comme source et /mnt/backups comme destination, puis vous réglez la fréquence et la rétention. Le dernier écran laisse le chiffrement et la compression activés et propose de lancer la sauvegarde tout de suite, ce que j'ai fait.
Chez moi, trois fichiers de test de quelques octets sont partis en quelques secondes. Et c'est là qu'il faut regarder la bonne chose pour vérifier que ça fonctionne... Non, c'est pas la pastille verte, mais plutôt le nombre de fichiers et leur taille.
Le plan Documents juste après sa première sauvegarde.
En fait, si je vous dis ça, c'est parce que sur mon Mac, avec Docker Desktop, restic n'arrivait pas à lire les dossiers montés depuis l'hôte, et sort en erreur d'entrée/sortie sur chaque fichier. Et pourtant, Pluton affichait quand même la sauvegarde en vert avec le statut "Complete". Les colonnes disaient bien 0 fichier et 0 octet, mais le statut, lui, semblait correct... Donc si vous êtes sur Mac, prenez plutôt l'installeur de bureau, qui existe aussi pour Windows et Linux, et dans tous les cas vérifiez que les chiffres sont OK après votre première sauvegarde.
Vérifier et répéter une restauration
Votre dossier de destination contient maintenant un config, un data/, un index/, un keys/ et un snapshots/, tous illisibles en clair. C'est un dépôt restic standard, et ça se vérifie sans Pluton, avec le binaire embarqué dans le conteneur :
Vous obtenez la liste de vos snapshots avec leur taille, et avec une mauvaise clé, restic répondra "wrong password or no key found" et s'arrêtera là. Faites les deux essais car ça prouve en une fois que le chiffrement travaille, et que vos données restent récupérables même si Pluton disparaît demain.
Le menu d'une sauvegarde propose ensuite "Browse", qui ouvre le snapshot comme un explorateur de fichiers, avec la taille de chacun et un bouton pour le télécharger ou le restaurer seul.
Le contenu du snapshot, fichier par fichier, avec le téléchargement et la restauration à droite de chaque ligne
Et le "Restore" lancera un assistant qui vaut le détour puisqu'il sait restaurer vers un chemin différent de l'original. Il vous laisse choisir quoi faire des fichiers déjà présents, et surtout il génère un aperçu en dry run (à blanc quoi...) avant de toucher au disque. J'ai restauré mes trois fichiers vers un dossier séparé, puis comparé avec les originaux, et c'était identique. Faites-le une fois, tranquillement, pendant que vous n'en avez pas besoin.
Voilà, tout ça, c'est la version gratuite, pour la machine où elle tourne. Maintenant, si vous voulez piloter les sauvegardes de plusieurs machines depuis la même interface, ça passera par l'offre Pro à 59 dollars par an. Si vous voulez comparer avec un autre truc, sachez aussi que
Zerobyte
joue dans la même cour.
Vous le savez, je suis
un grand défenseur des flux RSS
. C'est d'ailleurs pour ça que
le mien est complet !!
Je dois être le dernier à faire ça, alors, abonnez-vous (c'est gratuit) car ça me permet de continuer à faire ce que j'aime et ce que vous aimez aussi apparemment, puisque vous êtes de plus en plus nombreux à venir ici !
Mais bon, bref, si je vous parle de ça aujourd'hui, c'est parce que j'ai découvert RSSMonster, un lecteur de flux RSS que vous installez sur votre machine, et qui a la particularité de rapprocher tout seul les articles qui parlent du même truc et qui leur met une note.
J'ai de la lecture...
La qualité d'écriture compte pour moitié, le ton pour un quart, et le dernier quart mesure à quel point le texte est promotionnel, si bien qu'un publireportage descendra tout seul. J'ai trouvé ça plutôt malin. Et les articles qui racontent le même "fait" sont regroupés dans un Event, donc vous lisez l'actu qu'une fois sans vous fader tous les copycats.
Et le plus cool, c'est que ce tri tourne sur votre ordi, sans avoir besoin de la moindre clé d'API. Chez Miniflux ou FreshRSS, la liste officielle des fonctionnalités ne mentionne rien de tel. Quant à NewsBlur, celui-ci apprend à masquer ou surligner les articles selon ce que vous lui dites aimer, ce qui n'est pas la même chose que rapprocher deux actus pour les dédupliquer. Dans le même genre, je vous avais quand même déjà parlé d'
un lecteur RSS
qui s'y met aussi.
Le choix à faire
RSSMonster est livré avec deux fichiers Docker Compose. Le premier monte l'application et un collecteur de flux au-dessus de SQLite, sans un seul modèle (c'est celui de la procédure express du README). Le second ajoute MySQL, un worker dédié à l'IA et le service d'inférence, et c'est lui qui allume tout ça.
En fait, si vous choisissiez SQLite, la concurrence des traitements optionnels sera plafonnée à un, donc, ce sera un peu plus lent. Et surtout, le profil léger tel qu'il est livré ne démarre pas le worker IA et coupe l'inférence, donc pas de regroupement ni de notes tant que vous ne les activez pas à la main. Ça ira donc pour une install perso, mais si vous voulez mettre ça sur un serveur pour le partager à tous vos potes ou dans votre entreprise, je vous conseille vraiment de choisir MySQL directement. Parce qu'après, la bascule de l'un vers l'autre a l'air plus hasardeuse.
Enfin, rassurez-vous, il y aura toujours la possibilité d'exporter un fichier OPML avec tous vos abonnements et les catégories. Par contre, ça ne transporte que votre liste de flux, pas les articles déjà collectés ni ce que vous avez lu.
Installer le profil léger (SQLite)
C'est celui que je vous conseille pour commencer. Côté prérequis : git, Docker et Docker Compose. On commence par cloner le dépôt :
git clone https://github.com/pietheinstrengholt/rssmonster.git
cd rssmonster
Ensuite, faut générer deux secrets. Lancez cette commande deux fois, les résultats doivent différer :
openssl rand -hex 32
Créez un .env à la racine, lisible par vous seul :
Ajoutez-y RSSMONSTER_BIND_ADDRESS=0.0.0.0 tout de suite pour y accéder depuis une autre machine, le port n'écoutant que sur la boucle locale. Et ne sautez pas les secrets, car le Compose refuse de démarrer si l'un des deux manque :
docker compose up -d
Ouvrez http://localhost:3000. Pas de compte admin par défaut, c'est le premier que vous créez qui devient l'administrateur, et notez bien vos identifiants. Ensuite, allez dans réglages puis flux, et importez ensuite votre OPML.
L'écran de connexion au premier démarrage
Et si vous voulez la version qui dépote (MySQL)
Si vous aviez déjà lancé le profil léger, coupez-le d'abord avec docker compose down, qui arrête les conteneurs sans toucher à vos données. N'y ajoutez surtout pas -v, car ça supprimera le volume et la base. Et MySQL démarrera vide et vous devrez réimporter votre OPML comme sur une install neuve.
Ensuite, ajoutez ces quatre valeurs dans le même .env, à côté de vos deux secrets :
docker compose -f docker-compose.mysql.yml up -d --build
Ne paniquez pas si localhost:3000 ne répond pas dans la foulée. L'application attend que MySQL et l'inférence soient dispo, et celle-ci commence par télécharger ses trois modèles donc ça prend quelques minutes. Le contrôle de santé de l'outil lui laisse dix minutes, donc allez vous faire un ti café (dans sa couche ? nooon).
L'ajout d'un flux, sa catégorie et sa fenêtre de rattrapage
Si vous saisissez une commande commençant par wmic dans PowerShell ou l’Invite de commandes sur Windows 11, vous voyez probablement un des messages d’erreur suivant s’afficher : 'wmic' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes » wmic : Le terme «wmic» n'est pas reconnu comme nom … Lire la suite
NTLite
, j'sais pas si vous connaissez, mais ça permet d'ouvrir le fichier d'installation de Windows, celui que vous gravez sur une clé USB, et ça vous laisse en retirer des composants avant que la moindre machine ne démarre. C'est super pratique pour alléger des install afin de tout faire rentrer dans des images ISO, WIM, ESD et SWM.
Le nom vous dit d'ailleurs peut-être quelque chose parce que derrière se cache Dino Nuhagić, le même auteur que pour l'app
nLite, l'outil qui charcutait les CD de Windows XP
. Et 20 ans plus tard, le principe n'a pas bougé, et seules les cibles ont changé.
Dans cette même image que vous préparez avec NTLite, vous pouvez aussi coller les mises à jour cumulatives (celles qui vous bouffent 20 minutes au premier démarrage) et les pilotes, pour que le PC soit à jour tout de suite et qu'il voie ses disques NVMe pendant l'installation. Puis surtout, faire en sorte que l'installation puisse se faire sans surveillance (sans clic clic suivant, OK, clic clic...etc), avec le partitionnement, les bons comptes utilisateurs et la région déjà choisie.
Et il n'a même pas besoin d'une image pour faire sa petite affaire puisqu'il sait éditer un Windows déjà installé, sur une autre partition, dans un disque virtuel monté, ou carrément le C:\Windows sur lequel vous êtes en train de lire cette page... Vous cochez, vous appliquez vos choix, vous redémarrez, et c'est fait !! Pas besoin de réinstaller !
Alors évidemment, il reste la question du prix. Parce qu'il s'agit d'un outil payant. Mais rassurez-vous, pour une utilisation personnelle, c'est totalement gratuit. Il fait l'installation sans surveillance, l'intégration basique des mises à jour et des pilotes, l'édition d'un Windows déployé, et un retrait de composants que l'éditeur qualifie lui-même de "basique".
La licence payante débloque uniquement le retrait de n'importe quel composant Windows (les non basiques), ainsi que le nettoyage des applications MSIX et Appx, la gestion des tâches planifiées, l'import des pilotes de votre propre machine et leur ciblage par matériel. Rassurez-vous, certaines fonctionnalités IA comme Copilot ou Recall, récemment intégrées dans Windows 11, sont également désactivables par la version gratuite.
Maintenant, attention avant de tout décocher dans la joie et la bonne humeur, retirer trop de choses d'une image Windows peut lui coûter sa capacité à évoluer ou à être modifié, et le projet
tiny11builder l'explique bien dans sa doc
. Par exemple son script le plus agressif produit un système auquel on ne peut plus ajouter ni langue, ni mise à jour, ni fonctionnalité.
Et ça vaut pour tous les outils du genre, NTLite compris.
Sachez aussi que si les 40 balles de la version payante de NTLite vous freinent, tiny11builder est tout aussi capable de fabriquer des images Windows 11 allégées avec des scripts PowerShell. En plus c'est open source, et de son côté, le
WinUtil de Chris Titus
fera le ménage, les réglages et les mises à jour sur une installation fraîche. Et ça c'est tout gratos !
À récupérer sur
ntlite.com
, ou en une ligne avec winget pour ceux qui sont pressés ( winget install ntlite )
Windows 11 26H2 est la nouvelle version du système d’exploitation de Microsoft. L’entreprise vient de la proposer en préversion dans le programme Windows Insider, la dernière phase de test avant sa diffusion auprès du grand public. Vous pouvez toutefois télécharger et installer Windows 11 26H2 dès maintenant sur votre PC. Le principal intérêt de Windows … Lire la suite
Ce mois-ci, je suis en mode déménagement / vidage de cartons / montage de meubles Ikea et bien sûr, j'en profite pour réinstaller mon matos... Mon système d'alarme, mes caméras et un peu de domotique.
Sauf que la domotique, c'est pas mon kif car même si j'aime l'idée d'avoir des automatisations chez moi, ça fonctionne un moment, puis après ça ne fonctionne plus, souvent parce que les Raspberry Pi passent leur temps à corrompre les cartes SD... Puis surtout, je manque de temps pour me prendre la tête à régler des scénarios au poil de cul.
Mais là, c'est aussi un peu les vacances et y'a plusieurs paramètres qui ont changé. Déjà la nouvelle maison est plus petite. J'ai aussi un mini PC à disposition qui ne faisait pas grand chose. J'ai également une caisse de matos divers et variés (Zigbee / Zwave et autre) qui prend la poussière. Et puis les nouveautés dans ma vie, c'est bien sûr l'IA et Alexa.
Je me suis donc chauffé un peu, et je vais vous raconter ce que j'ai mis en place ces derniers temps.
Étape 1 : le mini PC qui dormait dans un carton
Le point de départ, c'est ce mini PC. Un
NiPoGi Pinova P1(lien affilié) que j'avais acheté en 2023, un Ryzen 3 4300U avec 16 Go de RAM et 1 To de SSD, qui n'avait jamais vraiment trouvé sa vocation. Complètement surdimensionné pour de la domotique, vous vous en doutez, et c'est exactement pour ça qu'il est parfait.
Parce que le vrai sujet, c'est pas la puissance, c'est le stockage. Mes install précédentes mouraient toutes de la même façon : une carte SD qui rend l'âme au bout de quelques mois d'écritures permanentes. Là, le système tourne sur un SSD, et rien que ça, ça règle le problème qui m'avait dégoûté les fois d'avant.
J'ai donc collé
Home Assistant OS
dessus, ce qu'on appelle HAOS pour les intimes. C'est la version "système d'exploitation" qui prend la machine entière et qui pilote tout elle-même, sans Linux à administrer en dessous ni Docker à maintenir. Et puis avec cette version, vous récupérez au passage le magasin d'add-ons et les sauvegardes automatiques, sans rien configurer. Sur une machine dédiée qui ne fait que ça, c'est franchement le mode le plus tranquille.
Et là, premier petit piège à savoir au niveau du BIOS si vous vous lancez... Pour démarrer, HAOS exige en effet que le mode UEFI soit activé et que le Secure Boot soit désactivé. Si vous zappez ça, votre clé USB ne bootera jamais et vous allez tourner en rond un bon moment.
Et tant que vous êtes dans le BIOS, y'a un troisième réglage dont la doc ne parle pas et qui est pourtant le plus important sur la durée : le comportement après une coupure de courant. Ça s'appelle "Restore on AC Power Loss", "After Power Failure" ou "AC Back Function" selon les marques, et il faut le passer sur "Power On". Sans ça, la moindre micro-coupure vous laisse une maison sans domotique jusqu'à ce que quelqu'un rentre appuyer sur le bouton. Et ça, croyez-moi, on n'en veut pas quand on est parti en vacances.
Le reste après, c'est du classique. Vous récupérez l'image générique x86-64 et vous la flashez sur une clé USB avec Balena Etcher. Attention à bien prendre haos_generic-x86-64 et pas une version pour Raspberry Pi ou pour machine virtuelle, sinon vous allez vous demander longtemps pourquoi ça ne démarre pas. Ensuite vous bootez le mini PC sur la clé, l'installeur écrit le système sur le SSD interne, et c'est plié. Vous retirez la clé, ça reboote, et l'interface vous attend :
http://homeassistant.local:8123
Si ça ne répond pas, c'est que votre box ne fait pas de mDNS, allez juste chercher l'IP dans sa liste de clients. Et voilà, un Home Assistant tout neuf.
Maintenant, passons à la suite parce que j'ai une caisse pleine de matos à réveiller.
Première galère : Faire parler le Zigbee
Dans ma caisse, y'avait notamment un
dongle USB Sonoff(lien affilié) pour le Zigbee. Je le branche, et je décide de partir sur Zigbee2MQTT plutôt que sur ZHA, l'intégration native. Le choix se paye tout de suite en complexité (il faut un broker MQTT à côté, Mosquitto en l'occurrence), mais il se rembourse largement après, parce que Zigbee2MQTT expose absolument tous les réglages internes des appareils. Vous verrez plus bas pourquoi c'est déterminant.
Le mini PC qui va me faire oublier mes galères avec le Raspberry Pi
Sauf que rien ne s'est passé comme prévu. J'installe les modules recommandés, et Zigbee2MQTT n'apparaît tout simplement pas dans la liste. Bon. Une fois que j'ai réussi à le sortir de sa cachette, c'est la configuration du port série de la clé qui m'a offert un vrai moment de solitude : on modifie, on clique sur "Submit", ça a l'air de sauvegarder... et la page revient vierge, sans plus rien à sélectionner. Allez savoir si le réglage est passé ou pas !
Le truc à retenir en fait, c'est qu'il faut désigner la clé par son identifiant stable et pas par un /dev/ttyUSB0 qui peut changer au reboot. Le chemin ressemble à ça :
Une fois ça compris, le bridge est monté et n'a plus bougé. Mais c'est ce genre de conneries qui font lâcher la domotique à pas mal de monde, je pense.
Deuxième galère : mes appareils étaient otages du cloud
Deuxième claque, et celle-là est plus vicieuse. Mes prises connectées Meross, je les avais appairées à l'époque avec l'app du fabricant. Résultat, elles étaient déjà mariées au cloud Meross, et impossible de les récupérer proprement depuis l'app iPhone pour les basculer ailleurs.
La solution est donc passée par HACS, le magasin de composants communautaires, et un custom component qui s'appelle Meross LAN. L'intérêt, c'est qu'il parle aux prises en local, sur votre réseau, sans faire l'aller-retour par les serveurs du fabricant. Même logique avec l'app
Sonoff LAN pour un interrupteur USB
que j'avais (lien affilié). Vos automatisations continuent donc de tourner même quand le cloud du constructeur est dans les choux ou quand votre fibre est coupée.
J'ai aussi buté sur un cas plus tordu avec du matos Tuya car j'ai des appareil qui sont vendus sous une autre marque, avec leur app maison, et qui n'existent pas dans le cloud Smart Life sur lequel s'appuie l'intégration Tuya standard. Donc intégration cloud inutilisable... C'est vraiment le problème numéro un de l'objet connecté grand public, et c'est pour ça que je vous conseille de vérifier si un appareil
a besoin du cloud
avant de l'acheter, pas après.
Du coup, HACS est devenu mon meilleur pote sur ce chantier. J'y ai pris Meross LAN pour les prises, Sonoff LAN pour l'interrupteur, Alexa Media Player pour mes Echo et l'intégration Dyson. Il n'y a que mon capteur de qualité d'air air-Q qui était supporté nativement, sans rien avoir à installer.
Et pour faire tout ça, j'ai une arme secrète : Claude Code !
Et maintenant, la partie qui a vraiment tout débloqué. Parce que jusqu'ici, j'avais du matériel qui répondait, mais toujours zéro automatisation. Et c'est précisément là que je décrochais avant car l'éditeur graphique de Home Assistant devient vite limitant, et dès qu'on veut une condition un peu fine, on se retrouve à taper du YAML avec des templates Jinja et à se planter d'indentation ou de paramètres.
Du coup j'ai fait un truc très à la mode en ce moment... J'ai branché Claude Code directement sur mon Home Assistant via
un serveur MCP conçu spécialement pour ça
. En gros, le MCP c'est ce qui donne des outils concrets à l'IA. Grâce à ça elle peut lister mes entités, lire leur état en direct, et surtout écrire les automatisations dans HA. Je décris ce que je veux en français, il va regarder ce que j'ai réellement comme capteurs chez moi, et il écrit le scénario.
Et ça pour moi, ça change complètement le rapport tordu que j'ai à ma domotique. Et voilà comment en quelques jours, je me suis retrouvé avec 21 automatisations qui tournent, ce que je n'aurais jamais fait à la main. Pas parce que l'IA est magique, mais parce qu'elle supprime la friction. Je n'ai qu'à formuler les idées qui me passent par la tête et l'IA fait le job sans que j'ai à me galérer avec du paramétrage.
À noter que Home Assistant a aussi sa propre intégration
Model Context Protocol Server
depuis la version 2025.2, mais elle fait plutôt l'inverse : elle expose vos appareils à un assistant. Moi je voulais un truc qui écrive la config à ma place.
Mon vrai défi : Passer l'été sans clim
Voilà le scénario dont je suis le plus fier, parce qu'il résout un problème que j'ai vraiment dans cette nouvelle maison : pas de clim, et un bureau qui monte en température.
Ce n'est pas que je ne veux pas en installer
, c'est que je viens d'arriver, que y'a pénurie de ventilos et de pompes à chaleur et en plus je suis en location, donc ce n'est pas si simple que ça. Mes seules armes pour le moment, c'est donc un Dyson qui filtre et qui brasse, et des fenêtres à ouvrir au bon moment.
Mon fidèle ventilo !
Ce que j'ai fait du coup, c'est que le Dyson démarre tout seul quand l'air se charge en pollution et s'arrête quand c'est redevenu propre. Concrètement il se lance quand les PM2,5 dépassent 10 µg/m³ ou les PM10 dépassent 18 µg/m³ pendant 5 minutes d'affilée. Les 5 minutes de délai, c'est important car sans ça, un simple passage devant le capteur déclenche tout.
Mais le truc dont je suis vraiment content, c'est qu'il ne souffle pas pareil selon si je suis là ou pas. Si le capteur de présence me détecte, il démarre à 20% seulement, histoire de rester silencieux pendant que je bosse. Si je suis absent, il part direct à 100% et il purge la pièce à fond. Même logique pour les COV : au-dessus de 1000 ppb, c'est 30% en ma présence et 100% quand j'ai le dos tourné.
Le reste suit la même idée : une purge à fond pendant mon absence, un régime plus doux dès que je rentre dans la pièce, le mode nuit uniquement si je suis présent, et une alerte quand les filtres arrivent en bout de course.
Mais le vrai casse-tête, c'était l'aération. Parce que oui, quand l'air intérieur devient mauvais, la solution évidente c'est d'ouvrir les fenêtres. Sauf qu'en pleine canicule, ouvrir c'est la pire idée du monde : vous virez vos polluants et vous encaissez 35 degrés à la place. Je me suis retrouvé au départ plusieurs fois avec Alexa qui me disait d'aérer alors que c'était juste pas possible.
La solution que j'ai trouvé, c'est donc de mettre en place un scénario qui ne me conseille d'ouvrir que si quatre conditions sont réunies en même temps : il fait plus de 26 degrés chez moi, il fait au moins 2 degrés de moins dehors, l'air extérieur est plus sec que le mien, et la qualité de l'air extérieur est correcte. Alors let's go, Alexa me dit d'ouvrir les fenêtres. Et ça, elle le réévalue toutes les 10 minutes.
La condition sur l'humidité est celle à laquelle je n'avais pas pensé au départ, et que Claude Code m'a conseillé de lui-même, et c'est pourtant la plus utile. Comparer les températures toutes seules, ça ne suffit pas, c'est pourquoi le scénario compare les points de rosée, et pas les pourcentages d'humidité. Parce que de l'air à 24 degrés bien humide vous rafraîchit beaucoup moins que de l'air à 25 degrés bien sec, et vous vous retrouvez avec une pièce moite que vous mettrez la nuit à assécher.
Les notifs que j'ai sur le smartphone et qui sont lues par Alexa
Petite subtilité technique au passage : je ne regarde pas la température qu'il fait dehors, mais la plus chaude des deux prochaines heures. Ça évite d'ouvrir dix minutes avant que ça remonte. Et ça oblige à passer par un helper, parce qu'un template Home Assistant ne peut pas appeler un service tout seul... il faut donc une automatisation qui va chercher la prévision et la dépose dans une variable, toutes les 10 minutes.
Et surtout, il me dit quand refermer, avant que la chaleur ne revienne. Là, je referme quand la fraîcheur est acquise, quand la prévision annonce que c'est fini, ou quand l'air du dehors se dégrade. Et le message diffusé par Alexa m'explique laquelle des trois raisons s'applique.
Deux petits helpers mémorisent aussi qu'une aération est déjà en cours, histoire qu'Alexa ne me répète pas la même chose toutes les cinq minutes. Et si je m'absente pendant l'opération, j'ai droit à un rebriefing en rentrant.
Au passage, j'ai fait deux erreurs de débutant. La première c'est que j'avais posé mon capteur de qualité d'air juste à côté de la fenêtre. Il mesurait donc l'air de la rue et pas celui de mon bureau, et les scénarios se déclenchaient n'importe quand. Déplacé au fond de la pièce, tout est redevenu cohérent. Bref, placez vos capteurs là où vous vivez, pas là où c'est pratique à brancher.
La seconde, c'est que j'ai fini par limiter les annonces vocales sur la plage 8h-22h parce que se faire réveiller à 3h du matin par une enceinte qui vous parle de particules fines, ça vous passe l'envie de la domotique très vite !
Et si vous n'avez pas de clim non plus et que vous cherchez plus radical, Vincent avait aussi testé un
rafraîchisseur pendant la canicule
.
Le petit capteur qui a tout changé
Dans ma caisse à domotique, y'avait aussi un
détecteur de présence Moes(lien affilié) en Zigbee, à ondes millimétriques, ce qu'on appelle un capteur mmWave. Un petit module qui coûte trois fois rien, et c'est clairement ma meilleure surprise de tout ce chantier.
Parce qu'un détecteur de mouvement classique, un PIR, détecte la chaleur qui bouge. Donc quand vous êtes assis à votre bureau en train de lire ou de regarder une vidéo, au bout de deux minutes il décide que la pièce est vide et vous éteint la lumière. Alors que le mmWave, lui, détecte la présence statique : il vous voit même immobile, parce qu'il capte les micro-mouvements et la respiration. Pour un bureau, c'est le jour et la nuit !
Le capteur AirQ à gauche / Le capteur mmWave à droite
Et c'est ici que le choix de Zigbee2MQTT paye enfin, parce qu'il expose tous les réglages internes du capteur. J'ai pu fixer la distance de détection à 225 cm, les sensibilités de mouvement et de présence statique à 4 sur 5, et un délai avant extinction de 20 secondes. Ce réglage de distance est important puisque le capteur peut porter jusqu'à 6 mètres, et à pleine portée il traverse allègrement une cloison pour aller détecter la pièce d'à côté.
Le résultat, c'est que quand j'approche de mon bureau, ma barre lumineuse BenQ s'allume toute seule via mon interrupteur Sonoff. Une deuxième automatisation allume la lampe d'ambiance sur une prise Meross, et une troisième éteint tout quand je quitte la pièce.
Et surtout, le déclencheur n'est pas la présence, mais la distance : la barre s'allume quand la cible passe sous 175 cm et ce chiffre-là, je ne l'ai pas sorti de mon chapeau. J'ai relevé 25 mesures en me plaçant assis, debout et en circulant derrière le bureau. Comme ça, un seuil serré exclut proprement tout ce qui n'est pas moi devant mon écran. Si vous devez retenir une chose sur le mmWave, c'est de bien noter vos vraies distances avant de choisir un seuil, sinon vous passerez des semaines à corriger des déclenchements bizarres.
Rien de spectaculaire au final, mais c'est un super confort !
Et forcément, des trucs ont cassé
Parce que non, même avec l'IA tout ne marche pas du premier coup. Une nuit, je quitte le bureau juste après minuit, et le lendemain matin je retrouve toutes les lumières allumées. Huit heures dans le vide. L'automatisation d'extinction sur absence n'était pourtant pas cassée : elle n'a simplement jamais eu l'information qu'il fallait pour se déclencher.
Le coupable, c'est le défaut classique des radars mmWave : la cible fantôme. Le capteur s'est verrouillé sur un écho statique et a continué à annoncer quelqu'un dans la pièce, en oscillant tranquillement entre 241 et 269 cm toute la nuit. Pour Home Assistant, j'étais donc toujours là. C'est ça la contrepartie de la détection statique... quand un radar voit quelqu'un d'immobile, il ne sait pas faire la différence entre vous et un artefact.
La parade, c'est donc une automatisation garde-fou : si la cible reste au-delà de 175 cm pendant 90 minutes d'affilée alors que les lumières sont allumées, on éteint tout. Le seuil reprend la calibration de la barre BenQ, et les 90 minutes valent le double de la plus longue plage légitime que j'aie observée sur trois jours (49 minutes). Elle ne remplace pas l'extinction sur absence, mais rattrape le cas où celle-ci n'a jamais pu partir.
Bref, l'IA écrit vite les scénarios c'est sûr, mais elle ne les teste pas en conditions réelles dans votre vraie maison. Un scénario parfait sur le papier peut très bien ne jamais se déclencher parce qu'un capteur ment donc il faut comprendre ce qui a été écrit, et surtout aller regarder l'historique quand quelque chose cloche.
Et puis y'a les petites morts silencieuses... Une de mes prises connectées est passée en "unavailable" et y est restée plusieurs jours sans que je m'en rende compte. C'est un autre piège de la domotique... Quand un truc tombe, rien ne vous prévient, ça arrête juste de marcher. D'où l'intérêt d'avoir aussi des automatisations qui surveillent votre installation elle-même, et pas seulement votre maison.
Voilà, c'est un petit début, mais ça me permet de me remettre en selle tranquillement. En tout cas, l'option mini PC + LLM est un bon choix pour avoir une install domotique rapidement fonctionnelle, je pense.
La suite du programme
Ce que j'ai fait aussi c'est installer
Tailscale
sur le mini PC, pour accéder à mon Home Assistant depuis l'extérieur sans ouvrir le moindre port sur ma box. C'est de loin la méthode la plus propre, et c'est gratuit pour un usage perso.
Ensuite, je pense que je vais sortir les ESP32 du tiroir. L'add-on ESPHome est déjà installé, il ne me manque plus que le courage de m'y mettre. Si ça vous tente, j'avais montré comment transformer
un ESP32 à 5 euros
en capteur domotique.
J'ai aussi pas mal de matos Z-Wave à recycler, donc je pense que je vais aussi prendre une petite clé Z-Wave à rajouter sur l'ordi.
Voilà pour ce début d'aventure domotique dans mon nouveau chez moi. Pour le moment, je me suis surtout concentré sur l'aération, la pollution, la gestion de la chaleur mais je pense que j'aurais de nouveaux scénarios qui viendront peupler mes rêves dans les semaines qui viennent et je ne manquerai pas de vous en causer.
Ce serait trop cool non, si avec un double-clic sur un .docx dans votre gestionnaire de fichiers Linux, Word s'ouvrait directement ? Et je ne vous parle pas d'un bureau Windows complet en plein écran ou d'une session de bureau à distance. Juste une fenêtre Word tout ce qu'il y a de plus classique, avec son icône dans votre barre des tâches, épinglable et "alt-tabbable" comme le reste.
Hé bien, c'est ce que fait
WinPodX
, qui fait tourner un conteneur Windows sous KVM en arrière-plan et découpe l'affichage application par application via FreeRDP RemoteApp. Comme ça, les liens mailto: partent vers Outlook ou les schémas slack: ou vnc: vers l'application qui les a déclarés.
Tout ce qui est presse-papiers, son, imprimantes et votre dossier personnel sont partagés d'office, et le conteneur se met en pause tout seul quand personne ne s'en sert.
Jusque-là,
WinApps dont je vous ai déjà causé, qui fait tourner Office sous Linux
, faisait déjà l'essentiel avec les fenêtres détachées, le dossier personnel partagé, le clic droit qui envoie un fichier vers une application Windows. Mais WinPodX se distingue aussi dans l'autre sens puisque vos applications Linux remontent également dans le menu "Ouvrir avec..." du Windows, et dans un dossier "Linux Apps" du menu Démarrer. Bref, l'accès aux apps et aux fichiers marche dans les 2 sens, pour plus de transparence dans vos usages.
Si ça vous intéresse, sachez qu'il vous faut une licence Windows valide, car WinPodX ne la fournit pas (logique), que la virtualisation doit être activée dans le BIOS, avoir un accès à /dev/kvm, 8 Go de RAM et une trentaine de gigas de libre. La première installation prend cinq à dix minutes le temps de télécharger l'ISO, et les suivantes sont quasi instantanées.
Il y a également un paquet pour openSUSE, Fedora, Debian, Ubuntu, Arch et NixOS, un AppImage pour les autres. C'est sous licence MIT, et sans aucune télémétrie puisque celle de Windows a été elle-même coupée par défaut. Ah et l'interface du OuinOuin peut être configurée en français.
Par contre, pas d'accélération GPU, ce qui exclut les jeux et la 3D à moins de monter un passthrough à la main. Préférez Wine pour ça...
Je suis trop content, le numéro d'août du
magazine officiel Raspberry Pi
est sorti avec un dossier spécial cyberdeck en couverture, et ses 132 pages sont téléchargeables gratuitement en PDF.
Un cyberdeck, si ça ne vous dit rien, c'est un ordinateur portable bricolé à la main. Petit écran, clavier physique, look cyberpunk assumé. On fabrique la machine que le commerce ne vend pas, pour un usage qui n'appartient qu'à soi.
J'en ai déjà montré un
y'a pas longtemps, même si faut encore voir ce que ça donne une fois posé sur un bureau.
Le dossier de Raspberry Pi Magazine en aligne une dizaine. Un Amstrad PPC 640 de 1987 vidé de ses entrailles pour loger un Raspberry Pi 3 et une appli de narration qui se déclenche à l'insertion d'une disquette. Une machine à écrire Smith Corona de 1989 refaite à neuf autour d'un Raspberry Pi 4. Un sac à dos qui trimballe un labo mobile, radio logicielle et outils Kali Linux...etc. Y'a de quoi faire !
On y croise aussi un
Hackberry Pi
monté en outil de pentest, une pochette rose façon clutch avec un Pi Model A+, et le PiDex Doomsday Companion, caisse étanche à panneau solaire qui embarque Wikipedia sur clé USB.
Vient ensuite le montage pas à pas. Brian Corteil y déroule la construction d'une machine logée dans une
valise étanche de type Pelican
(lien affilié), avec un Raspberry Pi 5, un écran tactile 7 pouces, un clavier Bluetooth, une carte son USB et une batterie LiPo protégée par un fusible.
Et rassurez-vous, le tuto ne se contente pas d'aligner des références à commander sur Amazon... Non, il détaille même le calcul d'alimentation à faire à la main, I = P/V, soit 28 W et environ 5,6 A pour un Pi 5 et son écran à pleine luminosité. Il conseille également de prototyper en carton votre cyberdeck avant de vous lancer dans la CAO, et préfère un power bank au LiPo pour ceux qui ne veulent pas jouer avec les batteries (BOUM !).
Pour récupérer le fichier PDF du magazine, le lien passe d'abord par une page de don. Si vous êtes un gros radin, le bouton
No thanks, take me to the free PDF
déclenchera quand même le téléchargement sans compte ni adresse mail. C'est en anglais bien sûr et pour ceux qui aiment le toucher du papier, l'édition physique coûte 7,99 livres.
Ah et le contenu est sous licence Creative Commons BY-NC-SA 3.0, sauf mention contraire. Amusez-vous bien !!
Diagram-design
, c'est un skill pour Claude Code, Codex et Pi qui vous fabrique un schéma technique sous forme de fichier HTML autonome. Vous double-cliquez, ça s'ouvre dans le navigateur, et le diagramme est là, super clean et sans avoir à faire de build ou importer des images.
27 types de diagrammes sont couverts, du schéma d'architecture au diagramme de séquence en passant par la machine à états, le Gantt et le quadrant, chacun en 3 variantes : claire, sombre et éditoriale. Bref, de quoi illustrer une doc ou un article de blog sans dessiner les boîboîtes vous-même, une par une comme dans un
Excalidraw
.
Le type Loop, avec son moyeu de mémoire partagée. Les pointillés sont les écritures en retour.
Il sait aussi partir de ce que vous avez déjà. Vous lui pointez un fichier draw.io ou un bloc Mermaid planqué dans un README, et il le reprend. Attention, ce n'est pas une conversion hein, mais un re-dessin (ça se dit ?? j'sais pas mais je m'en fous) complet. Il va même récupérer le diagramme embarqué dans un .drawio.png, vous savez, celui qui ressemble à du charabia quand vous ouvrez le fichier dans un éditeur.
Ce qu'il jette au passage ce sont les coordonnées de la source, sa palette, ses polices, les connecteurs en diagonale de draw.io et la mise en page automatique de Mermaid. Ce qu'il garde par contre, ce sont les composants, les relations, les regroupements et le sens de lecture.
À la fin de l'import, il rend même un genre de relevé de fidélité en vous indiquant les noeuds en entrée, les noeuds qu'il a dessinés et les noeuds orphelins qu'il a supprimé.
Un fichier draw.io de 12 nœuds redessiné en niveau de détail équilibré, pour un billet de blog.
La sortie se règle ensuite sur 4 critères. Le format d'abord, HTML, SVG ou PNG. Puis la taille, qui ne touche pas que le cadre. Une planche 16:9 destinée au vidéoprojecteur reçoit des libellés en 16px, une image de doc en reçoit des 12px.
Le troisième critère élague votre dessin, avec 24 nœuds au maximum en mode fidèle, 12 en équilibré, 7 en simplifié, et la coupe suit toujours le même ordre : les décorations, puis les doublons, puis les grappes de feuilles, puis l'infrastructure.
Le quatrième change le vocabulaire, mais pas le nombre de boîtes pour s'adapter au public à qui est destiné le diagramme. Pratique pour passer d'un diagramme hyper technique à quelque chose qui pourra être compris de la direction ou des commerciaux.
Reste l'allure du diagramme... Vous lui donnez par exemple l'URL de votre site, il lit la page d'accueil, en tire la couleur de fond, celle du texte, celle des boutons et la pile de polices, puis range tout ça dans des rôles, et voilà vous avez le design de vos rêves.
Mais surtout, avant d'écrire quoi que ce soit, il contrôle le contraste en AA. Si une de vos couleurs ne tient pas la route à la taille où vivent les libellés, entre 9 et 12px, il propose une valeur corrigée et explique pourquoi. Vous validez le diff, et le guide de style du skill est mis à jour pour tous les schémas suivants.
Et au premier schéma dans un nouveau projet, il refusera même de partir sur le thème par défaut sans vous demander. Il vous proposera naturellement d'aller consulter votre site, de coller vos couleurs à la main, ou encore d'assumer le défaut en connaissance de cause.
Côté installation, ça passe par les plugins pour Claude Code et Codex, par npx pour Codex, par une ligne pour Pi. C'est sous licence MIT et c'est gratuit. Tout est ensuite produit en local, et l'import Mermaid se contente de lire le texte, sans rendu ni appel réseau. Il n'y a que l'export PNG qui réclame un extra, à savoir Playwright, à installer à côté.
Maintenant, c'est pas le même usage qu'un bloc Mermaid qui lui est destiné à évoluer en permanence. Là c'est vraiment pour faire des rendus sous la forme d'une image finie et jolie. Donc à vous de voir !
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
là
, 126 Mo. Il s'installe comme n'importe quel .deb local, en laissant apt gérer les dépendances :
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".
Je viens de perdre de précieuses minutes sur un truc qui aurait dû me prendre trente secondes : Récupérer le numéro DUNS de mon entreprise.
Si vous ne savez pas ce que c'est, bienvenue au club ! En gros, c'est un identifiant que Dun & Bradstreet, une société américaine, a déjà collé à mon entreprise sans jamais me demander mon avis. C'est l'équivalent B2B de ce qu'Experian ou Equifax font sur les particuliers et leur job, depuis 1841 (oui, ils sont plus vieux que l'ampoule électrique), c'est de ficher les boîtes du monde entier et de revendre l'info.
C'est un peu le societe.com des américains quoi. Ils font le même taf que les mormons mais en maintenant une base de plus de 600 millions d'entreprises avec pour chacune, qui la dirige, son chiffre d'affaires, sa taille, si elle paie ses fournisseurs à temps, si elle a frôlé la faillite...etc. Bref, grâce à eux, sans le savoir, on a une note de solvabilité et une espèce de carte d'identité de notre entreprise.
Comme ça, avant qu'une banque ne vous prête de l'argent, ou qu'un gros client ne signe avec nous, ça permet de savoir si votre entreprise est solvable et réelle.
Sauf qu'à aucun moment, on ne nous demande notre avis. En France par exemple, leur partenaire exclusif c'est Altares qui crée automatiquement nos fiches à partir des registres publics (INSEE, RCS) dès que votre entreprise a un SIRET. On est donc enregistré par défaut et ensuite pour consulter SA PROPRE fiche ou la corriger, bah faut passer à la caisse.
Voilà, c'est juste un data broker de plus qui agrège des données en bonne partie publiques, pour y ajouter du comportement de paiement, et facturer l'accès aux pigeons qui passent.
Mais alors leur VRAI coup de génie, c'est ce code DUNS lui-même !!
Ce n'est qu'une numérotation privée, mais Apple, Google, l'administration américaine (les marchés publics US ont longtemps tourné au DUNS) l'ont adoptée comme standard. Cela veut dire que cet identifiant fait maison attribué par une société américaine est devenu un passage quasi obligé pour publier une app sur l'AppStore ou décrocher un contrat. Bref, c'est plus un numéro, c'est un péage mondial.
Et moi, tout ce que je voulais faire, c'était publier des applications sur l'App Store et sur Google Play. Sauf que voilà, pour le faire en tant qu'entreprise, eh bien, il faut ce numéro DUNS.
Le truc rigolo, c'est que ce numéro est censé être communicable gratuitement, mais j'ai eu beau chercher, que ce soit sur les sites officiels ou sur les sites alternatifs (qui sont parfois de grosses arnaques), tous exigent une "petite" contribution pour connaître le numéro.
Sympa la pression quand justement vous ne savez pas où les trouver.
Vous tapez le nom de votre entreprise sur verif.com, un service d'Altares-D&B. La fiche s'affiche, pas mal d'infos s'affichent SAUF la seule ligne que vous cherchez. À la place du DUNS, une zone de flou et un bouton pour acheter le rapport à 39 euros hors taxe.
Et d'autres sites vous vendent également une "recherche instantanée" à 3,90 euros... C'est un peu le même délire qu'avec notre KBIS nationale, car comme écrit dans la FAQ de Verif.com, ce numéro est gratuit !
Sauf que c'est tellement galère ou looong de l'obtenir que tout le monde finit par payer. Il y a bien, soi-disant, la possibilité de faire une demande directe chez Dun & Bradstreet ou chez verif.com / altares, mais j'ai retourné leur page contact, il y a tout sauf ça... Pire, le petit formulaire "Obtenir un DUNS", renvoie vers Verif.com qui veut nous facturer les 39 € HT dont je vous parlais ci-dessus.
Enfin ça, c'est ce que je croyais. Parce qu'il existe bien un service officiel, gratuit et instantané pour lire votre numéro, sauf que Dun & Bradstreet le planque bien : ça s'appelle UPIK (pour Unique Partner Identification Key). Vous allez sur
le portail UPIK
, vous tapez le nom de votre boîte, vous choisissez "France" dans la liste des pays, et là, magie, les neuf chiffres s'affichent en clair, sans compte à créer, sans un centime à sortir. J'ai testé, le numéro arrive en 3 secondes... celui-là même que verif.com me masquait derrière ses 46,80 €. Même base de données, même numéro, prix qui n'a plus rien à voir.
Le seul hic, c'est qu'UPIK sait juste lire, pas créer. Si votre entreprise est déjà fichée chez D&B (et une boîte française immatriculée l'est quasi toujours), vous avez vos chiffres direct. Mais si elle n'y figure pas encore, UPIK vous renvoie gentiment vers le partenaire du coin... Altares. Et rebelote, le péage. C'est là que la deuxième combine entre en jeu, celle qui fabrique le numéro gratos quand tout le monde veut vous le vendre, et elle vient d'où on ne l'attend pas du tout : Apple.
Étape 1 : ouvrez l'outil de recherche DUNS d'Apple
Direction
developer.apple.com/enroll/duns-lookup
. Oui, faut aller chez Apple, même si votre appli part sur le Play Store de Google parce que ces derniers proposent un service qui interroge la même base Dun & Bradstreet que tout le monde, et recrache le même numéro.
Il vous faut juste un identifiant Apple, gratuit, que vous avez sûrement déjà dans un tiroir et renseigner quelques infos.
Étape 2 : renseignez votre société
Apple vous réclame alors quelques infos telles que le nom légal exact de l'entreprise, l'adresse du siège, l'adresse postale et vos coordonnées professionnelles. Recopiez le nom légal au caractère près, tel qu'il figure sur votre extrait d'immatriculation KBIS et validez !
Étape 3 : récupérez vos neuf chiffres
Si votre boîte est déjà dans la base D&B, et une société française immatriculée y est quasi toujours, Apple renverra alors sur votre boite mail le précieux numéro DUNS gratuitement. Et si votre société n'apparaît pas, vous soumettez vos infos pour une création gratuite, et ça devrait prendre quelques jours max (ouais les mecs prennent leur temps). Après dans les deux cas, la facture sera identique à savoir que ça vous coutera zéro euro !!! Ouf !
Étape 4 : reportez le numéro dans Google Play
Une fois les neuf chiffres en poche, retour dans Play Console ou sur Apple Connect et voilà, vous allez pouvoir enregistrer votre entreprise chez eux. Attention à l'adresse car elle doit correspondre exactement à celle qu'a enregistrée D&B, pas à celle que vous croyez avoir.
Et voilà...
J'espère que vous aurez la chance de tomber sur mon article et que ça vous aura éviter bien des galères ! Le DUNS est gratuit mais ne pas connaître cette astuce peut vous coûter cher !