Pipeline média
Ripping et encodage vidéo, plus vidéosurveillance (enregistreur réseau) des caméras de la maison. Les deux machines sont sous NixOS : accélération matérielle, pilotes et volumes de travail sont déclarés dans le dépôt plutôt que réinstallés à la main après chaque réinstallation.
# dans l'architecture générée
app:plexclusterapp:frigateclusterhost:srv-01hardwarehost:gpu-02hardwareapp:numeriseurcluster
Ces identifiants viennent des dépôts IaC publics, pas de cette page — la vue générée les redessine chaque nuit.
Le GPU à la demande à la maison : deux postes de jeu qui se lèvent sur un interrupteur
Chez nous, personne ne va plus s'asseoir devant une tour pour jouer. On appuie sur un interrupteur dans Home Assistant, une machine avec une vraie carte graphique se lève, Steam est déjà connecté, et on joue depuis le portable de son propre bureau. Deux joueurs, deux cartes, une seule tour, qui retourne travailler pour le cluster dès que la partie est finie. Le montage, le code (public), et ce qui casse quand même. Travail mené avec Claude Code (Fable 5 et Opus 5).
Une borne d'arcade qui cohabite avec Kubernetes (et qui met la grappe dehors quand quelqu'un veut jouer)
Le jeu vivait sur la machine-assistant, sous forme d'un bureau GNOME complet — c'est-à-dire sur un serveur qui, laissé à lui-même, s'endort et emporte le cluster avec lui. Le plan : sortir le jeu de là et lui donner sa propre tour, découpée en deux postes, un par joueur, avec la carte graphique passée directement dans la machine virtuelle. Le twist : cette même tour est aussi un nœud Kubernetes quand personne ne joue. Récit d'une migration où une machine virtuelle s'est parlé à elle-même en IPv6, où GNOME a mangé le bouton d'arrêt, où un BIOS invisible a failli tout casser — et où le deuxième joueur attend encore sa carte graphique, partie en vacances en même temps que le patron.
Laisser le pipeline appuyer sur apply : quatre dépôts IaC, trois outils, et une porte qui refuse les destroys
Tout le labo était déjà décrit en code, mais chaque apply passait encore par mes mains. On a fermé la boucle en une session : GitHub Actions avec OIDC pour le nuage, Argo CD pour le cluster, comin pour NixOS. Le plus intéressant n'est pas la plomberie : c'est ce que la porte refuse, et les deux Raspberry Pi qui se sont étouffés sur une dépendance de tests.
Neuf machines, zéro clé USB : migrer tout mon homelab vers NixOS
Claude Code aux commandes, moi en mode apprentissage : tout mon parc, serveurs GPU, machines virtuelles, Raspberry Pi et une instance cloud, est passé sous NixOS en une journée. C'est quoi Nix au juste, ce que ça change par rapport à Ubuntu, et pourquoi je n'aurais pas pu faire ça tout seul.
Mon encodeur faisait du bruit : le détecteur vidéo tournait sur le CPU au lieu du GPU
Un petit vrombissement de ventilateur trop insistant a fini par révéler qu'une mise à jour avait discrètement retiré le support GPU du détecteur d'objets de mon NVR maison, et que ça tournait sur le CPU depuis un bon bout sans que je m'en aperçoive.
Construire un vrai réseau d'alarme pour son homelab (et toutes les manières dont ça peut foirer en silence)
La construction d'un dashboard de monitoring centralisé (Uptime Kuma + ntfy) pour un homelab a fini par débusquer un pare-feu Windows mal scope, une protection DNS anti-rebinding, un bug JSONata, un piège UTC et une session parallèle qui avait renommé un compte admin en douce.
Donner une adresse IPv6 propre et prévisible à chaque serveur de mon réseau
Mise en place d'une convention d'adressage IPv6 (suffixe = octet IPv4 en hexadécimal) sur un réseau de serveurs en DHCPv6 stateful. Couvre la découverte de DUID par capture réseau, un piège de rechargement de configuration après changement de moteur DHCP, et un cas de client DHCPv6 attaché à la mauvaise interface.