Vue lecture

term.everything - Faites tourner Firefox dans votre terminal

Et si je vous disais qu'on pouvait faire tourner Firefox dans un terminal ? Et pas un navigateur en mode texte, hein. Non, le véritable Firefox, avec ses onglets, les images, la totale... Hé oui c'est possible et que ça fonctionne via SSH, donc depuis un serveur distant. Bienvenue dans le futur (ou le passé, j'sais plus trop) !

Term.everything c'est un compositeur Wayland construit from scratch en Go qui, au lieu de balancer l'image sur votre écran, la convertit en caractères ANSI et l'affiche dans le terminal. Du coup, n'importe quelle app GUI Linux peut tourner là-dedans. Firefox, un gestionnaire de fichiers, un lecteur vidéo... et même Doom (parce que si ça peut pas faire tourner Doom, ça compte pas). Le binaire fait une poignée de Mo, c'est sous licence AGPL-3.0, et y'a zéro dépendance externe.

L'outil propose 2 modes d'affichage. Le mode basique qui convertit les pixels en blocs Unicode, et dont la qualité dépend du nombre de lignes et colonnes de votre terminal. Plus vous zoomez out (Ctrl+- sur Alacritty), plus c'est net... mais plus ça rame. Donc si votre terminal supporte le protocole image, genre Kitty ou iTerm2, l'autre mode, c'est du rendu pleine résolution et là non seulement c'est pas dégeu mais en plus ça marche bien !

Le truc vraiment dingue, c'est surtout le SSH parce que si vous avez un serveur Linux distant, vous vous connectez dessus en SSH, vous lancez term-everything firefox et hop, Firefox s'affiche dans votre terminal local. Pas de X11 forwarding relou à mettre en place ni de VNC / RDP zarbi.

Pour les admins sys qui gèrent des serveurs headless, c'est quand même sympa ! D'ailleurs si vous aimez les outils SSH bien pensés , celui-ci aussi va vous plaire.

Par contre, on est encore en bêta et certaines apps vont planter ou refuser de se lancer. C'est normal, c'est un compositeur Wayland complet écrit par un seul gars (chapeau l'artiste !). Ce n'est donc pas le genre de truc qu'on met en prod, mais pour du dépannage sur un serveur Debian distant ou juste pour la beauté du geste, ça envoie du pâté.

Le créateur de term.everything est d'ailleurs le même qui avait codé Fontemon , un jeu vidéo caché dans une police de caractères. On est donc clairement dans la catégorie "parce qu'on peut le faire et que c'est marrant".

Bref, si vous voulez épater vos collègues en lançant KDE dans un terminal par-dessus SSH, ou juste jouer à Doom dans tmux, c'est par là que ça se passe.

Amusez-vous bien et merci à Lorenper pour l'info !

  •  

Qobuz en bit-perfect sur Linux (enfin !!)

Si vous êtes abonné Qobuz et que vous êtes sous Linux, vous connaissez cette douleur sourde qui vous coupe le souffle la nuit : IL N'Y A PAS DE CLIENT OFFICIEL ! Vous êtes donc condamné comme n'importe quel gueux à utiliser le lecteur web, qui est aussi "audiophile-phile" qu'un casque de chantier.

Mais heureusement, QBZ vient régler ça, et vous allez voir, c'est du sérieux !

Il s'agit d'un client natif et open source (sous licence MIT) écrit en Rust avec Tauri 2.0 côté desktop et SvelteKit pour l'interface, ce qui fait que c'est léger, que ça démarre vite, et surtout ça gère le bit-perfect via 4 backends audio au choix : PipeWire, ALSA, ALSA Direct (accès exclusif au DAC) et PulseAudio.

Le switching de sample rate se fait alors à la volée, de 44.1 à 192 kHz, selon ce que votre DAC supporte. Pour les audiophiles... bah ça change tout par rapport au resampling sauvage du navigateur. Ouf, on est sauvé en fait ^^

Côté fonctionnalités, c'est clairement loin du petit projet bricolé un dimanche soir en vibe coding puisque ce lecteur décode nativement FLAC, MP3, AAC, ALAC, WavPack, Ogg Vorbis et Opus, le tout avec du gapless playback et de la normalisation de loudness EBU R128. Je comprends pas tout parce que je suis pas expert là dedans, mais si vous aimez la Hi-Fi, je sais que ça vous parle.

Y'a aussi une gestion de bibliothèque locale avec scan de dossiers et indexation SQLite, et même un import de playlists depuis Spotify, Apple Music, Tidal ou Deezer. Ainsi, si vous migrez vers Qobuz, ça vous fera gagner des heures plutôt que de tout vous retaper à créer à la main !

Niveau intégrations, c'est aussi super complet : scrobbling Last.fm et ListenBrainz, enrichissement MusicBrainz, pochettes via Discogs, contrôle MPRIS et touches média. Et le casting vers Chromecast, DLNA/UPnP et AirPlay est intégré. Le Chromecast directement depuis un client Linux sans bidouille, c'est pas courant, et ça fait plaizzz !

L'interface est également hyper soignée avec 26 thèmes au choix (Dark, OLED, Nord, Dracula, Tokyo Night...) et 17 panneaux de visualisation dont un spectre, un oscilloscope et un spectrogramme. Y'a même un mode immersif plein écran, le tout dispo en 5 langues dont le français.

Pour l'installation, c'est packagé proprement : Flatpak, AUR, Snap, AppImage, DEB, RPM et même un DMG pour macOS (Apple Silicon, expérimental) et si vous êtes sur Arch, un petit yay -S qbz-bin et c'est réglé.

Par contre, il y a quelques limites à connaître comme le seeking sur des pistes hi-res au-dessus de 96 kHz qui peut prendre 10 à 20 secondes. ALSA Direct bloque aussi les autres applis audio (logique, c'est l'accès exclusif). Et le bit-perfect via PipeWire est limité quand on lance le tout en sandbox Flatpak. En fait, le problème c'est que la sandbox bloque l'accès direct au matériel donc si vous voulez le max de qualité, optez pour le paquet natif.

Si Qobuz est votre service de streaming et que Linux est votre OS préféré d'amour, les alternatives payantes comme Audirvana ou Roon ne sont clairement pas données. C'est pour cela que je vous parle de QBZ qui fait le boulot gratuitement comme un chef et dont le développeur (vicrodh) est super actif (il recherche des contributeurs si vous voulez l'aider).

Et un grand merci à Pierre pour le tuyau !

  •  

OpenCiv3 - Civilization III renaît en open source

Vous vous souvenez de Civilization III ? Hé bien des fans ont décidé de le recréer de zéro en open source avec OpenCiv3 , et franchement ça a de la gueule, vous allez voir !

En fait, leur idée c'était pas juste de cloner le jeu de Sid Meier tel quel, mais plutôt de le réimaginer en corrigeant tous les trucs qui étaient cassés à l'époque, mais aussi en virant les limites arbitraires du moteur original et en poussant le modding aussi loin que possible. En gros, ils nous ont pondu un Civ3 comme il aurait dû être si les développeurs avaient eu le temps de tout finir.

Côté technique, c'est du Godot avec du C#, ça tourne sur Windows, Linux et Mac et c'est sous licence MIT. Du coup vous pouvez forker le truc et en faire votre propre version si ça vous chante.

Après, voilà, on est encore en pré-alpha. La version 0.3 "Dutch" est sortie en décembre dernier, et permet de lancer une partie, explorer la carte, créer des villes et taper sur vos voisins. Mais la fin du jeu n'est pas encore là. Et le truc sympa, c'est que contrairement à d'habitude, le jeu fonctionne en mode standalone avec des graphismes de remplacement, donc pas forcément besoin d'avoir Civ3 installé. Après si vous avez l'édition Conquests ou Complete qui traîne quelque part sur votre disque dur, OpenCiv3 est capable d'importer les graphismes originaux pour un rendu fidèle !

Mais comme vous l'avez compris, le vrai kiff du projet, c'est le modding. Le Civ3 original vous laissait modifier trois bricoles via des fichiers texte, et c'était pas ouf... Mais OpenCiv3, lui, veut ouvrir toutes les portes en changeant les règles de combat, en ajoutant des mécaniques de jeu, en créant des scénarios complets, voire en inventant de toutes pièces de nouvelles civilisations... bref tout est prévu pour être modifiable. Ça rappelle un peu ce qu' UnCiv fait avec Civ V sur Android , sauf que c'est sur PC.

Voilà, c'est encore super jeune mais si vous avez la nostalgie des soirées "encore un tour", ça vaut le coup de garder un œil dessus !

À découvrir ici : OpenCiv3

  •  

Reverse-SynthID - Le filigrane de Gemini mis à nu

SynthID, le filigrane invisible que Google injecte dans chaque image Gemini, c'était censé être incassable. Sauf qu'un dev a eu l'idée toute bête de générer des images noires et blanches avec Gemini, puis de regarder ce qui restait dans le domaine fréquentiel. Et là, surprise... le watermark est apparu en clair avec toutes ses fréquences porteuses !

Le projet reverse-SynthID documente le truc de A à Z où on comprend en gros, que le marquage IA de Google fonctionne en injectant de l'énergie à des fréquences bien précises dans le spectre de l'image via une transformation de Fourier . Le chercheur a identifié 6 fréquences porteuses principales, toutes avec une cohérence de phase supérieure à 99,9% et la blague, c'est que ce pattern est fixe. Donc pas de message unique par image, pas de clé qui change... c'est juste la même empreinte spectrale sur toutes les images sorties du modèle Gemini.

Spectre FFT du watermark SynthID - les pics lumineux correspondent aux fréquences porteuses identifiées

Du coup, une fois que vous avez profilé cette empreinte avec une cinquantaine d'images PNG de référence (25 noires, 25 blanches, générées via l'API Gemini), vous pouvez faire deux trucs. D'abord, détecter le filigrane avec 90% de précision, sans avoir le moindre accès au code source de Google. Et ensuite le retirer en soustrayant les composantes spectrales identifiées, fréquence par fréquence, tout en préservant la qualité de l'image à plus de 40 dB PSNR. Visuellement identique à l'original !

Et c'est là que la différence avec UnMarker (dont je vous avais parlé) saute aux yeux car ce dernier "secoue" l'image en aveugle pour casser le watermark. Alors que Reverse-SynthID, c'est plutôt scruté à la loupe et hyper ciblé. Résultat, y'a clairement moins de dégradation et un drop de confiance du détecteur.

Les fréquences porteuses reconstruites - la structure diagonale du watermark SynthID

Par contre, je l'ai implémenté en Rust et j'ai essayé de voir si ça marchait vraiment sur mes propres images générée avec Gemini. Hé bien non, car le bypass ne fait PAS chuter la confiance du détecteur de 100 à 0, mais juste de quelques pourcents.

Le watermark est atténué, mais pas effacé. Ce n'est donc pas un outil clé en main pour faire disparaître tous les filigranes SynthID en un clic. Mais le fait qu'une seule personne, avec du Python et du traitement de signal classique (FFT, filtres notch, soustraction spectrale), ait pu reverse-engineerer un système que Google présente comme LA solution anti-deepfakes...

Ça confirme ce que les chercheurs de l'Université de Waterloo avaient déjà démontré : le watermarking d'images IA, c'est pété by design.

D'ailleurs, Google le sait très bien et ils pourraient changer le pattern demain et tout serait à refaire, mais ça confirme surtout que le principe même du watermarking spectral a une date de péremption. Après, ça arrange tout le monde d'avoir un truc à montrer quand les gouvernements demandent "et contre les deepfakes, vous faites quoi ?"

Et si c'est la petite étoile visible en bas à droite des images Gemini qui vous gêne (pas le watermark spectral invisible, juste le marqueur visuel), j'ai développé un outil pour mes Patreons qui s'en occupe.

Bref, tout est sur le repo si le reverse-engineering de watermarks IA, ça vous branche !

  •  

Claude Octopus - Faites débattre 3 IA sur votre code

Claude Octopus , c'est un plugin Claude Code qui fait bosser trois IA ensemble sur le même problème. Codex pour l'implémentation, Gemini pour la recherche, Claude pour la synthèse, le tout avec un seuil de qualité à 75% qui bloque ce qui n'est pas au niveau.

En gros, au lieu de faire confiance à un seul modèle GPT ou Gemini, vous en mettez trois en parallèle et le plugin ne valide que si les résultats des trois moteurs convergent suffisamment.

Ça s'installe en deux commandes :

claude plugin marketplace add https://github.com/nyldn/claude-octopus.git
claude plugin install octo@nyldn-plugins

Et ensuite, faites un /octo:setup dans votre terminal et c'est parti.

Le truc fonctionne avec Claude seulement sous macOS, Linux ou Windows dès le départ, donc pas besoin de configurer Codex ou Gemini pour démarrer. Il vous guidera pour ça ensuite.

Le plugin embarque 39 commandes, 32 personas spécialisées (par exemple un auditeur sécu qui pense en OWASP, un architecte backend pour les API REST, un designer UI/UX basé sur BM25...etc) et 50 skills. Tout ça s'active ensuite automatiquement selon votre prompt. Vous tapez "wesh audite mon API ma gueule" dans votre terminal zsh et c'est le bon expert qui débarque. Et si vous ne savez pas quelle commande taper, /octo:auto fait le tri pour vous. C'est très pratique.

Le workflow principal suit la méthode Double Diamond (discover, define, develop, deliver) avec des quality gates entre chaque phase. Du coup un bout de code bâclé ne peut pas avancer au stade suivant. Pour les plus flemmards, y'a même un "Dark Factory Mode" qui prend un fichier Markdown en entrée et vous sort du code testé avec un score de satisfaction. Comme ça, vous n'avez qu'à relire que le rapport final au lieu de valider chaque PR manuellement.

Sous le capot, l'orchestrateur écrit en Bash lance Codex CLI et Gemini CLI en parallèle pour la recherche, puis Claude Sonnet 4.6 synthétise les deux réponses. Forcément, trois modèles en parallèle c'est plus lent qu'un seul donc faut compter 30 à 60 secondes par requête. Déso pas déso ^^.

Et pour la revue de code, c'est carrément, pardonnez-moi l'expression, "adversarial" puisque ce sont 4 agents (Codex logique, Gemini sécu, Claude archi, Perplexity pour les CVE ) qui postent des commentaires inline sur vos PR GitHub et y'a ensuite un "reaction engine" qui auto-répond aux échecs CI et aux review comments.

Ce projet c'est quasi l'œuvre d'un seul développeur dévoué et sa vélocité de développement est dingue... Ça vibe code à donf quoi ^^.

C'est gratuit, open source, par contre, chaque provider facture ses tokens normalement, du coup en mode multi-IA vous consommez mécaniquement 3× plus qu'avec Claude tout seul. Après si vous avez déjà un abonnement ChatGPT Plus ou Google AI Pro, les providers passent par OAuth sans clé API supplémentaire, donc ça sera inclus dans votre forfait.

Pour ceux qui utilisent déjà des plugins Claude Code au quotidien ou qui font tourner leurs agents dans des sandbox isolées , c'est le genre d'outil qui mérite un détour.

Bref, trois cerveaux valent mieux qu'un... reste à voir si besoins valent tout ce bordel à configurer !

  •  

Voicebox - Clonez des voix en local sans passer par le cloud

Si vous cherchez un moyen de faire du clonage vocal en local sans filer vos fichiers audio à un service cloud, Voicebox devrait vous plaire. C'est un studio de synthèse vocale open source et gratuit qui tourne entièrement sur votre machine, et qui n'a rien à envier à ElevenLabs.

Concrètement, vous téléchargez l'app (dispo macOS, Windows et Docker), vous importez un extrait audio d'à peine 3 secondes minimum et hop, la voix est clonée. Pas besoin de compte, pas de limite d'utilisation, pas de "crédits" qui fondent comme neige au soleil !

Voicebox embarque 5 moteurs TTS différents plutôt que de tout miser sur un seul. Par exemple, Qwen3-TTS gère 10 langues avec des instructions en langage naturel du genre "parle lentement" ou "chuchote". Chatterbox Multilingual couvre 23 langues, de l'arabe au swahili en passant par le finnois.

LuxTTS lui est ultra-léger... genre 1 Go de VRAM et 150x plus rapide que le temps réel même sur CPU (anglais uniquement par contre) ! Et avec Chatterbox Turbo, vous pouvez injecter des tags comme [laugh], [sigh] ou [gasp] directement dans le texte pour que la voix rigole ou soupire à la demande (anglais aussi). Franchement, c'est pas mal du tout.

Tenez voici ce que ça donne avec ma voix (J'ai utilisé Qwen3)

Et pour ceux qui aiment bidouiller, y'a une API REST complète sur localhost:17493. Du coup, on peut intégrer la synthèse vocale dans ses propres scripts, automatiser la génération de podcasts ou monter un pipeline perso avec ffmpeg. Parce que bon, avoir un moteur vocal sans pouvoir l'utiliser dans ses projets, ça n'a pas d'intérêt.

Côté post-production, 8 effets audio sont dispos (pitch shift, reverb, delay, chorus, compression...) propulsés par pedalboard, la lib audio de Spotify. On peut aussi sauvegarder des presets et les appliquer par profil vocal. Y'a même un éditeur multi-pistes pour composer des conversations ou des narrations avec plusieurs voix sur une timeline.

Attention par contre, le projet est assez récent (c'est sorti en janvier) et côté Linux, y'a pas encore de binaires pré-compilés, faudra donc compiler from source mais je sais que vous adorez ça, les barbus ^^. Et le problème avec 5 moteurs différents, c'est que chacun a ses propres dépendances, donc ça prend pas mal en espace disque.

Sous le capot, c'est codé en Rust, ça utilise Tauri (pas Electron) car personne ne veut un genre de Chromium de 500 Mo pour lancer un simple outil audio. Sur Mac Apple Silicon, l'inférence passe par MLX et le Neural Engine et sur Windows et Linux, c'est CUDA, ROCm pour AMD, DirectML et même Intel Arc. D'ailleurs si vous voulez exploiter l'IA locale sur Mac pour d'autres usages, les Foundation Models d'Apple s'y prêtent aussi.

Si vous avez déjà joué avec MLX-Audio pour faire de la synthèse vocale en ligne de commande, Voicebox c'est finalement la version "app complète" avec interface graphique, gestion de profils vocaux et file d'attente de génération. C'est un peu le Ollama de la voix.

Voilà, si le clonage vocal en local vous branche, c'est sous licence MIT, c'est gratuit et ça tourne nickel ! Ah et si vous êtes un escroc qui cherche à cloner des voix pour arnaquer des gens, sachez que je viens de vous jeter un mauvais sort à travers la lecture de cet article. Attendez-vous à avoir des cheveux qui vous poussent sur la langue et des verrues dans les yeux, d'ici quelques semaines.

Merci à Lorenper pour la découverte.

  •  

Peon Ping - Donnez de la voix à vos agents IA

"Something need doing ?" Si cette réplique vous file un frisson nostalgique, alors vous allez adorer Peon Ping !!

Il s'agit d'un outil CLI open source qui joue des voix de personnages de jeux vidéo quand vos agents IA ont besoin de votre attention. Vous lancez Claude Code, vous passez sur autre chose, et le moment venu, un peon de Warcraft III vous gueule "Work complete!" quand c'est terminé.

Concrètement, ce truc s'intercale via des hooks entre vous et votre IDE, comme ça, chaque événement (démarrage de session, fin de tâche, erreur, demande de permission) déclenche une réplique différente. Du coup le peon dit "Something need doing?" quand l'agent attend un input, et "I can't do that!" quand y'a une erreur.

Ça marche avec Claude Code, Cursor, Codex, et une dizaine d'autres outils (Kiro, Windsurf, Copilot, Gemini CLI, OpenCode, Antigravity, Rovo Dev CLI...), tout ça livré avec plus de 160 packs sonores dans 14 langues, de GLaDOS à StarCraft en passant par Zelda, Red Alert 2 ou Team Fortress 2.

Installation

Deux options principales. La plus propre, via Homebrew :

brew install PeonPing/tap/peon-ping

Sinon, le bon vieux curl :

curl -fsSL https://raw.githubusercontent.com/PeonPing/peon-ping/main/install.sh | bash

Et pour Windows, y'a un script PowerShell :

Invoke-WebRequest -Uri "https://raw.githubusercontent.com/PeonPing/peon-ping/main/install.ps1" -UseBasicParsing | Invoke-Expression

Par défaut, l'installeur télécharge 5 packs (Warcraft, StarCraft, Portal). Si vous voulez tout d'un coup :

curl -fsSL https://raw.githubusercontent.com/PeonPing/peon-ping/main/install.sh | bash -s -- --all

Attention par contre, sous WSL2, il faudra installer ffmpeg au préalable pour lire les formats audio autres que WAV.

Configuration

Une fois installé, lancez le setup :

peon-ping-setup

Ça détectera votre environnement, configurera les hooks et téléchargera les packs sonores en local. Ensuite, dès votre prochaine session Claude Code, vous entendrez un joli "Ready to work?" au démarrage.

Maintenant, si Warcraft c'est pas votre truc et que vous voulez changer de voix, genre passer à GLaDOS (une IA qui vous insulte pendant que vous codez avec une IA... ahahah), ça se fait en une commande :

peon packs use glados

Vous pouvez binder un pack à un dossier spécifique avec peon packs bind glados, comme ça, chaque projet a sa propre ambiance sonore, et si vous êtes du genre à aimer les trucs en français, il y a aussi des packs dans la langue du roi Arthur.

Moi j'en ai rien à foutre, j'installe les packs Age of Empires + Red Alert ou rien !!

Les commandes utiles

Tout passe par la commande peon :

peon status # Vérifier si c'est actif
peon volume 0.7 # Régler le volume
peon pause # Couper le son (réunion...)
peon resume # Remettre le son
peon packs list # Voir les packs installés
peon packs next # Passer au pack suivant
peon preview # Écouter un aperçu

Petit détail bien pensé, le système de "no repeats" fait qu'il ne jouera jamais le même son deux fois de suite dans la même catégorie. Et vous pouvez activer/désactiver chaque catégorie individuellement (greeting, acknowledge, complete, error, annoyed) si y'a des sons qui vous cassent les pieds.

En bonus, le terminal affiche le nom du projet et son statut dans le titre de l'onglet, avec un petit point indicateur quand c'est terminé. De grosses bannières desktop s'afficheront aussi quand un événement se produit, même si vous êtes sur une autre app.

Et si vous bossez en SSH ou dans un devcontainer, y'a un mode relay qui renvoie l'audio sur votre machine locale via peon relay --daemon. Pas mal du tout, hein ?

Le mode Peon Trainer

Maintenant, c'est là que ça part complètement en cacahuète car Peon Ping intègre un mode fitness qui vous rappelle de faire des pompes et des squats pendant que vous codez. L'objectif : 300 reps par jour, rien que ça !!

Dès que vous ouvrez une session, le Peon vous accueille avec un "Pushups first, code second! Zug zug!". Ensuite, toutes les 20 minutes environ, il vous relance. Et si vous ignorez, ça escalade jusqu'à "You sit too long! Peon say do pushups NOW!".

Pour logger vos reps en pleine session de code, pas besoin de quitter le terminal :

peon trainer on # Activer le mode trainer
/peon-ping-log 25 pushups # Logger 25 pompes
/peon-ping-log 30 squats # Logger 30 squats

Quand vous atteignez les 300, le Peon célèbre avec un "THREE HUNDRED! Human strong like orc now!" et vous laisse tranquille pour le reste de la journée. Pas mal comme incentive pour bouger un peu entre deux refactorisations, non ?

Pour ceux qui utilisent Claude Code au quotidien , y'a aussi un serveur MCP intégré qui permet à l'agent de choisir lui-même quel son jouer. L'agent qui communique en répliques de Warcraft... on vit une époque formidable ! Et si vous voulez aller plus loin, Claude Octopus permet carrément d'orchestrer plusieurs IA en parallèle.

D'ailleurs, les plus motivés peuvent carrément créer leurs propres packs via openpeon.com . Le format suit la spec ouverte CESP (Coding Event Sound Pack), comme ça n'importe quel IDE peut l'adopter.

Le Peon Pet

Et le truc le plus mignon du projet c'est ce petit orc animé qui squatte un coin de votre écran. Ce Peon Pet réagit en temps réel aux événements de Claude Code. Il dort quand rien ne se passe, se réveille au démarrage d'une session, tape frénétiquement du clavier quand l'agent bosse, et fait sa danse de la victoire quand la tâche est terminée. C'est du Electron + Three.js, le tout en open source bien sûr.

En résumé, c'est votre Tamagotchi de développeur, sauf qu'au lieu de le nourrir, c'est lui qui vous engueule pour bosser.

Voilà, si checker votre terminal toutes les 30 secondes pour voir si Claude Code a avancé dans sa life, ça vous saoule, c'est le genre de petit outil con mais génial qui change la vie.

Zug zug !

  •  

Un drone imprimé en 3D qui file à 108 km/h grâce à un ESP32

Un YouTubeur bricoleur a fabriqué un micro-drone de 136 grammes capable de filer à 108 km/h, le tout pour environ 155 dollars de composants et une imprimante 3D. Le petit engin baptisé ESP-Blast tient dans la main, utilise un microcontrôleur ESP32 à quelques dollars et un châssis en plastique PETG. Le créateur compte partager tous les fichiers en open source pour que chacun puisse le reproduire.

Un drone qui tient dans la main

Le créateur, connu sous le nom de Max Imagination sur YouTube, s'est inspiré de deux équipes qui se disputent le record du drone RC le plus rapide au monde, avec des vitesses qui dépassent les 660 km/h. Son objectif à lui était plus modeste : construire un drone de poche performant avec des composants accessibles à tous.

Le résultat, c'est l'ESP-Blast, un quadcoptère en forme de balle qui décolle à la verticale avant de basculer en vol horizontal. Le châssis est imprimé en PETG sur une Elegoo Neptune 4 Plus et ne pèse que 40 grammes, nez et queue compris.

155 dollars de composants

Côté motorisation, on retrouve quatre moteurs brushless 1104 avec des hélices tripales de 2,5 pouces, pilotés par des variateurs de 8 ampères. Le circuit imprimé a été conçu par Max lui-même dans le logiciel Flux, pour moins de 8 dollars. Il embarque un ESP32 avec accéléromètre, gyroscope, magnétomètre, baromètre et GPS. Le logiciel de vol, c'est du Betaflight en version 10.10.

Une caméra FPV motorisée à l'avant bascule automatiquement selon le mode de vol et transmet en 5,8 GHz la vitesse, la tension batterie et le nombre de satellites. La batterie LiPo 3S de 450 mAh offre environ 5 minutes de vol, ou 2 minutes à fond et 8 en mode tranquille. La portée Wi-Fi de l'ESP32 plafonne à environ 200 mètres. Le budget total tourne autour de 155 dollars, et on peut même descendre à 110 dollars en retirant quelques capteurs.

Un projet open source

Max prévoit de partager les fichiers 3D et les tutoriels pour que d'autres puissent reproduire ou améliorer le drone. Le projet a demandé pas mal d'assemblage, de tests, de crashs et de réparations avant d'atteindre les 108 km/h en vol.

Il annonce déjà de futures versions pour pousser les performances encore plus loin, et ce n'est visiblement pas son premier essai puisqu'il avait déjà conçu l'ESP-Fly, un micro-drone encore plus petit contrôlable depuis un smartphone.

Pour 155 dollars et un peu de patience, on obtient un drone qui va plus vite que pas mal de modèles du commerce, et qui pèse à peine plus qu'un smartphone. Le fait que tout soit open source et imprimable en 3D rend le projet encore plus intéressant pour les bidouilleurs.

Avec quelques limites quand même, 200 mètres de portée en Wi-Fi et 5 minutes d'autonomie, ça limite un peu l'usage à des vols de démonstration. Mais pour un projet à base d'ESP32 à 3 dollars la puce, les 108 km/h sont impressionnants.

Sources : Techspot , TechEBlog

  •  

Open DroneLog - Vos logs de drone restent chez vous

Si vous pilotez un drone DJI, vos logs de vol finissent probablement sur Airdata ou un service cloud du même genre. En gros ce sont des trucs qui aspirent vos trajectoires GPS, vos altitudes en mètres, vos tensions de batterie en millivolts... et qui stockent tout ça sur des serveurs quelque part dans le cloud. Ouais, bof.

Eh bien Open DroneLog , c'est exactement l'inverse à savoir un carnet de vol open source qui garde tout en local, dans une base DuckDB (une base de données embarquée ultra-légère) sur votre machine.

Avec cet outil, vous importez vos fichiers .txt DJI (tous les modèles : Mini, Mavic, Air, Phantom...), les CSV de l'app Litchi, ou même les exports Airdata, et hop, le logiciel mouline tout ça pour vous afficher vos vols sur une carte 3D interactive avec le replay de la trajectoire. Vous pouvez alors accélérer jusqu'à x16, voir la télémétrie en temps réel (altitude, vitesse, signal RC, tensions des cellules de batterie) et même visualiser les mouvements des joysticks.

Pas mal donc pour comprendre pourquoi votre Mavic a décidé de faire un plongeon kamikaze ce jour-là !

Visualisation 3D d'une trajectoire de vol dans Open DroneLog

Un truc bien pensé dans l'appli, c'est l'auto-tagging car le logiciel détecte automatiquement les vols de nuit, les passages à haute vitesse, les situations de batterie froide... et colle des étiquettes sur chaque vol sans que vous ayez à lever le petit doigt. Pour ceux qui se demandent à quoi ça sert de tenir un journal de vol, disons que le jour où l'aviation civile vous pose des questions sur vos habitudes de pilotage, avoir un historique propre de tous vos vols avec coordonnées et télémétrie, ça peut clairement vous sauver la mise (surtout si vous volez près de zones sensibles).

Côté déploiement, vous avez le choix : app desktop (Windows, macOS, Linux), image Docker pour l'auto-héberger, ou la webapp pour tester sans rien installer. Le Docker est clairement le meilleur choix parce que vous pouvez monter un dossier de logs et configurer une synchro automatique via cron. Genre, votre drone se pose, vous branchez la carte SD sur le NAS, copiez les fichiers .txt dans le dossier monté, et l'import se fait tout seul toutes les 8 heures. Ça tourne même sur un Raspberry Pi !

D'ailleurs, ça me rappelle l'époque lointaine où on construisait son propre drone dans le garage.

Les graphiques de télémétrie : altitude, vitesse, batterie, tout y passet'as anal

Le géocodage inversé (qui transforme vos coordonnées GPS en noms de lieux) se fait hors-ligne donc c'est top pour la vie privée et d'ailleurs, si le sujet vous parle, le projet OwnTracks applique la même philosophie à la géolocalisation perso.

Le logiciel gère aussi les profils multiples (pratique si vous avez plusieurs pilotes ou flottes), le suivi de la santé des batteries avec historique des cycles, la maintenance avec seuils configurables, et l'export dans à peu près tous les formats imaginables : CSV, JSON, GPX, KML. Y'a même un générateur de "FlyCards" pour partager vos stats de vol sur les réseaux en format 1080x1080 ! Et le tout est traduit en 11 langues, dont le français.

Le projet est sous licence AGPLv3, et pour l'instant c'est DJI-only (pas de Parrot ni Autel en natif). Bref, si vous cherchez un carnet de vol drone qui ne balance pas vos coordonnées GPS dans le cloud, c'est tout trouvé !

  •  

Dorso - L'app Mac qui floute votre écran quand vous faites le dos rond

En ce moment, j'ai une sciatique qui me rend dingue ! Du coup, entre deux grimaces sur ma chaise de bureau ergonomique, je me suis retrouvé à chercher des trucs pour améliorer ma posture devant l'écran... et je suis tombé sur Dorso, une petite app macOS qui surveille votre posture en temps réel et qui floute progressivement l'écran quand vous commencez à vous avachir.

Ainsi, votre Mac vous punit si vous vous tenez mal ! Vous lancez l'app, vous vous asseyez bien droit devant votre clavier, vous cliquez sur le bouton de calibration (aïe, mes vertèbres), et ensuite Dorso surveille votre position via la webcam de votre MacBook ou iMac grâce au framework Vision d'Apple.

Dès que votre tête commence à piquer du nez, l'écran se floute. Plus vous "slouchez", plus c'est flou. Du coup, soit vous vous redressez, soit vous bossez dans le brouillard comme un moine copiste myope. En tout cas, c'est redoutablement efficace pour corriger sa posture.

Sauf que la webcam, c'est pas le seul mode de détection. Si vous avez des AirPods Pro, Max ou 3e génération, Dorso peut utiliser les capteurs de mouvement de vos écouteurs pour détecter l'inclinaison de votre tête. Pas besoin de caméra, pas besoin de lumière... vos AirPods deviennent votre "coach posture" et quand vous les retirez des oreilles, l'app se met en pause toute seule. Par contre, attention, le mode AirPods nécessite macOS 14 minimum et l'autorisation "Motion & Fitness Activity" dans les réglages Confidentialité.

Côté vie privée, tout se passe en local sur votre machine. Aucune image n'est enregistrée, aucune donnée ne quitte votre Mac. Le flux vidéo de la webcam est traité en temps réel puis immédiatement supprimé et pour le flou, l'app utilise une API privée de CoreGraphics pour agir au niveau système, ce qui permet de flouter tous vos écrans d'un coup si vous avez un setup multi-moniteurs.

L'installation, c'est un brew install --cask dorso et hop, c'est réglé. Au premier lancement, il faudra autoriser l'accès caméra (mode webcam) ou Motion & Fitness (mode AirPods) dans les Réglages Système.

L'app se loge ensuite dans la barre de menu à côté de l'icône Bluetooth et vous pouvez régler la sensibilité sur 5 niveaux via un petit panneau de préférences. Y'a même une "dead zone" configurable pour que ça ne se déclenche pas au moindre mouvement de tête (genre quand vous regardez votre téléphone 2 secondes). Sans cette dead zone, la moindre gorgée de café vous vaut un écran tout flou, donc c'est indispensable !!

L'app s'appelait "Posturr" à l'origine mais une app iOS portait déjà ce nom et comme c'est complétement FDP de voler le nom des autres, il a trouvé un autre nom en lançant 30 agents Claude en parallèle pendant une heure... mais pour rien puisque c'est finalement lui qui a trouvé "Dorso" (Claude avait suggéré "Posturn", bof quoi). Comme quoi, même avec 30 IA qui bossent pour vous, le cerveau humain a encore son mot à dire !!

Perso, vu l'état de mon dos en ce moment, mon bureau debout ne suffit plus. Si vous aussi vous passez vos journées courbé devant votre écran comme Gollum devant son précieux, Dorso pourrait bien vous éviter de finir chez le kiné à 60 balles la séance. L'app tourne sous macOS 13+ (Intel et Apple Silicon), c'est sous licence MIT, et c'est gratuit !

Bref, y'a plus qu'à se redresser. Enfin... à essayer.

  •  

notebooklm-py - L'API Python que Google refuse de sortir

Google n'a jamais sorti d'API publique pour NotebookLM , son outil qui transforme vos documents en podcasts, quiz et autres résumés grâce à l'IA. Pas de SDK, pas de CLI, y'a rien du tout alors on est tous triiiiiste. A peine juste une interface web avec ses boutons moches et ses menus déroulants, mais impossible à scripter ou à intégrer dans le moindre pipeline bash.

Mais un dev bien inspiré a reverse-engineeré les endpoints REST internes et a pondu notebooklm-py, une lib Python de 168 Ko qui fait tout ce que le web UI refuse de faire. Franchement, c'était pas trop tôt ! Vous en avez rêvé, lui l'a fait !

Un pip install notebooklm-py et voilà, vous avez accès à toute la machinerie Notebook LM à savoir : créer des notebooks, injecter des sources (URLs, PDF, vidéos YouTube, fichiers Google Drive, documents Word, images PNG), poser des questions à vos docs, et surtout générer du contenu... podcasts audio en MP3, vidéos explicatives en MP4, quiz, flashcards, slides en PPTX, infographies en PNG, mind maps en JSON.

Carrément dingue ! Et tout ça pilotable depuis votre terminal zsh ou en script Python async.

En fait, le vrai bonus c'est que la lib déverrouille des fonctionnalités que l'interface web ne propose même pas comme télécharger tous vos podcasts d'un coup en batch au lieu de cliquer un par un sur chaque fichier MP3, exporter vos 50 flashcards en JSON structuré au lieu de juste les afficher à l'écran ou encore récupérer vos slides en PPTX éditable plutôt que le PDF figé.

Ce genre de features, on avait fini par accepter que Google s'en fiche mais pourtant, extraire l'arbre complet d'une mind map en JSON pour la balancer dans D3.js ou Mermaid... clairement c'est un truc que Google aurait dû proposer depuis le début !

Côté CLI, c'est propre. Vous vous authentifiez une fois via notebooklm login (ça ouvre Chromium via Playwright pour choper les cookies de session Google), puis vous enchaînez les commandes.

notebooklm create "Ma Recherche" pour créer un notebook vide,

notebooklm source add ./mon-rapport.pdf pour balancer vos fichiers,

notebooklm generate audio "rends ça punchy" --wait pour lancer la génération de podcast,

et notebooklm download audio ./podcast.mp3 pour récupérer le MP3 sur votre disque.

On peut même éditer ses slides individuellement avec des prompts en langage naturel, du genre "ajoute un graphique sur cette slide-là" !

Pour ceux qui veulent brancher ça dans leurs pipelines, y'a comme je le disais l'API Python async complète. Vous pouvez donc monter un petit cron qui ingère vos derniers bookmarks le vendredi soir, et génèrer un résumé audio de 5 minutes, puis balancer le MP3 directement sur votre NAS Synology.

D'ailleurs, si vous avez déjà joué avec des outils pour booster votre productivité avec l'IA , c'est un peu dans la même veine... sauf qu'ici on tape directement dans les tripes des serveurs Google, sans intermédiaire. Ça tourne avec du Python, et y'a même un mode "agent" (un skill en fait) pour brancher ça dans Claude Code ou Codex. Pas mal, hein ?

Le fait que ça gère aussi la recherche web et Drive avec import automatique des résultats dans vos notebooks, c'est top, un peu comme Oboe qui génère des cours complets via IA , mais en version terminal. Et surtout, pas d'abonnement mensuel à payer, c'est votre propre compte Google qui fait tourner la machine.

Bien sûr, ça reste du reverse-engineering d'APIs non-documentées de Google, ce qui fait que les endpoints REST peuvent changer du jour au lendemain et tout péter. Le projet le dit clairement, c'est plutôt taillé pour du prototypage, de la recherche ou des projets perso et SURTOUT PAS pour de la prod sur un serveur Nginx en front avec 10 000 utilisateurs prêts à ruer dans les brancards en cas de panne.

Et puis faut quand même s'authentifier via un vrai compte Google avec Playwright et Chromium, donc pas question de faire tourner ça sur un serveur headless sans un minimum de config.

Bref, tant que Google ne coupe pas ses endpoints, c'est open bar.

Profitez-en !

  •  

OpenRAG - Le RAG clé en main qui vous évite 3 jours de galère

Monter un pipeline RAG, c'est un peu le parcours du combattant... entre le choix de la base vectorielle, le modèle d'embedding, l'orchestrateur, le parser de documents, vous en avez pour des heures de config avant de pouvoir poser la moindre question à vos PDF.

Mais c'était sans compter sur OpenRAG qui emballe tout ça dans un seul paquet prêt à l'emploi !

En gros, c'est un package open source (Apache 2.0) qui vous colle un orchestrateur visuel, un moteur de recherche vectorielle et un parser de documents hyper costaud, le tout déjà branché ensemble. Bon, dit comme ça, on dirait juste un assemblage de trucs existants... sauf que l'architecture est propre (FastAPI derrière, Next.js devant) et que tout est câblé d'entrée.

L'installation tient en une commande : uv run openrag (il vous faudra Python 3.10+ et uv, le gestionnaire de paquets rapide en Rust) et ensuite vous aurez un serveur local avec une interface de chat prête à bouffer vos documents. Vous uploadez vos fichiers (PDF, Word, HTML, Markdown...), le système les découpe, les indexe, et vous pouvez commencer à poser des questions dessus. Pas besoin de choisir un modèle d'embedding, de configurer une base Chroma ou Qdrant, ni de câbler un pipeline LangChain à la main. C'est plutôt confortable comme outil !

Et c'est pas juste un chatbot documentaire puisque la plateforme déploie une couche agentique qui va bien au-delà de la simple recherche de similarité. En fait, quand vous posez une question, le système ne se contente pas de chercher le passage le plus proche dans vos documents... il reformule, il croise plusieurs sources, il re-classe les résultats par pertinence. Et tout ça se configure visuellement dans Langflow, en mode drag-and-drop, sans écrire une ligne de code.

L'interface d'OpenRAG

D'ailleurs, pour ceux qui veulent aller plus loin, y'a des SDK Python et JavaScript pour intégrer ça dans vos propres apps. Un petit pip install openrag-sdk et vous pouvez interroger votre base documentaire depuis n'importe quel script. Et l'autre truc super chouettos, c'est le serveur MCP intégré : un pip install openrag-mcp et vous connectez directement votre base de connaissances à Claude Desktop ou Cursor. J'utilisais pour ma part LEANN jusqu'à présent mais je pense que je vais basculer rapidement sur OpenRAG. Et grâce à ça votre IDE / Claude Code / Ce que vous voulez, a accès à toute votre documentation technique sans quitter l'éditeur.

Côté technique, le projet est porté par l'équipe de Langflow (DataStax), ce qui explique la qualité de l'intégration. Et le déploiement se fait aussi en Docker, Podman ou Kubernetes pour ceux qui veulent du plus fiable.

Après comme c'est une solution tout-en-un, ça embarque pas mal de dépendances. OpenSearch à lui seul est connu pour être gourmand en ressources et si vous avez déjà votre propre stack RAG bien rodée avec une base vectorielle légère comme LEANN , c'est peut-être overkill. En fait, OpenRAG s'adresse plutôt à ceux qui partent de zéro ou qui veulent un truc clé en main pour une équipe, parce que tout est déjà branché.

Prêt à chatter avec vos docs ?

Le vrai intérêt par rapport à un assistant comme Khoj , c'est le côté plateforme extensible. Langflow vous permet de construire des workflows RAG personnalisés visuellement, d'ajouter des étapes de filtrage, de brancher plusieurs LLM en parallèle, ou de créer des agents spécialisés par type de document. C'est donc clairement plus "usine" que "bricolage"... mais parfois c'est ce qu'il faut, surtout si vous bossez en équipe et que le bricolage perso finit toujours par casser au bout de 3 mois.

Si vous en avez marre de bricoler vos pipelines de recherche augmentée à la main, allez jeter un œil !

  •  

psmux - Le vrai tmux natif pour Windows (sans WSL)

Splitter son terminal en plusieurs panneaux, gérer des sessions persistantes, le tout avec les mêmes raccourcis que tmux... mais sous un bon gros Windows des familles, nativement, en Rust et sans avoir besoin de se galérer avec WSL !

C'est exactement ce que fait psmux , un multiplexeur de terminal conçu pour PowerShell et cmd.exe qui utilise directement l'API ConPTY de Windows 10/11. Du coup, pas de couche d'émulation Unix, pas de Cygwin, pas de MSYS2... ça tourne direct sur votre bécane.

Pour ceux qui débarquent, un multiplexeur de terminal ça permet de découper votre console en plusieurs zones (des "panes" que j’appellerai "panneau" parce que merde c'est + français), de jongler entre plusieurs sessions, et surtout de retrouver votre boulot exactement là où vous l'avez laissé même après une déconnexion. Sous Linux, tout le monde utilise tmux pour ça mais sous Windows, jusqu'ici c'était soit WSL (installer tout un sous-système Linux juste pour splitter un terminal, c'est un peu overkill quand même !), soit des splits basiques via Windows Terminal qui ne gèraient ni les sessions persistantes ni le détachement. Snif...

psmux en action sous PowerShell

L'installation est rapide. Un petit winget install psmux et hop, c'est réglé. Ça passe aussi par Cargo, Scoop ou Chocolatey pour les puristes. Ensuite, vous tapez psmux dans PowerShell 7 et vous retrouvez vos marques : Ctrl+B pour le prefix, les mêmes commandes split-window, new-session, attach... L'outil implémente 76 commandes tmux avec plus de 126 variables de formatage. Et y'a même un mode copie Vim avec 53 raccourcis clavier.

Bref, si vous avez une mémoire musculaire ultra développée pour tmux, vous êtes chez vous !

Et le truc cool, c'est que psmux lit directement vos fichiers .tmux.conf existants. Du coup, vos raccourcis custom et pas mal de thèmes (Catppuccin, Dracula, Nord...) fonctionneront directement, même si les configs tmux les plus complexes avec des scripts bash ou TPM peuvent nécessiter des ajustements. Et y'a aussi Tmux Plugin Panel pour vous accompagner dans l'ajout de plugins et de thèmes.

Alors je vous connais les raloux sous OuinOuin, vous allez me dire "Windows Terminal fait déjà des splits avec Alt+Shift+D"... sauf que non, c'est pas pareil. Windows Terminal découpe votre fenêtre visuellement mais ne gère ni les sessions persistantes, ni le scripting, ni le détachement. Avec psmux, vous lancez une session le lundi, vous fermez votre terminal, vous revenez le mardi et tout est encore là : vos panneaux, vos processus, votre historique. C'est ça la vraie différence avec un simple split visuel.

D'ailleurs, si vous utilisez Claude Code ou d'autres agents IA en ligne de commande , psmux intègre un support pour les agent teams qui permet à chaque agent de spawner dans son propre panneau automatiquement.

Côté support souris, c'est complet : clic pour sélectionner un panneau, drag pour redimensionner les bordures, molette pour remonter dans l'historique du buffer. Tout est activé par défaut, pas besoin de rajouter set -g mouse on comme sous tmux. L'outil tourne sous Windows 10 et 11, et le projet est sous licence MIT.

Après c'est encore jeune et y'a quelques galères connues notamment le support des caractères CJK et UTF-8 multi-octets qui peut se planter comme une merde sur des textes longs. Et split-window -c ne préserve pas toujours le répertoire courant (oubliez pas de vérifier votre pwd après un split). Par contre, le dev répond en quelques heures, et des PR externes sont mergées régulièrement... donc c'est bon signe !

Bref, c'est propre, c'est natif, et ça lit vos .tmux.conf ! Que demande le peuple barbu emprisonné sous Windows, finalement ? Eh bien pas grand chose de plus pour être heureux.

  •  

Jurassic Park dans votre cluster k8s

Le navigateur 3D de Jurassic Park, vous savez, celui avec lequel Lex hackait le parc en 1993 pendant que les vélociraptors grattaient à la porte... bah quelqu'un vient de le recréer, mais pour Kubernetes.

Le projet s'appelle k8s-unix-system et c'est exactement ce que vous imaginez. Vos namespaces deviennent des îles flottantes roses, vos pods des blocs 3D colorés et vous naviguez dans le tout en vue FPS avec WASD + souris. Genre comme Quake, mais pour surveiller vos pods.

Les pods Kubernetes version Jurassic Park ( Source )

Un pod vert c'est un pod qui tourne, jaune c'est en attente, et rouge c'est erreur ou CrashLoopBackOff, bref le truc que personne n'aime voir. Le truc sympa, c'est que la hauteur des blocs augmente avec le nombre de restarts. Du coup, le pod qui galère depuis ce matin, c'est celui qui ressemble à une tour bien haute. Par contre, attention, les pods en erreur tremblent carrément (pas nerveux hein, c'est voulu) et les pods running bougent doucement... c'est plutôt zen je trouve.

Les nodes, eux, ne sont pas mélangés avec les namespaces. Ils ont leur propre île bleu foncé à part, avec des cubes cyan pour ceux qui sont Ready et rouge pour les NotReady. Survolez un node et hop, vous avez son nom, son statut, sa capacité CPU et sa RAM affichées dans un tooltip. Les services, eux, sont visualisés sous forme d'arcs cyan semi-transparents qui connectent les pods entre eux en topologie étoile. Tout fonctionne, suffit de demander, on l'a ! (reeeef ^^)

Les namespaces et nodes, chacun sur leur île ( Source )

Pour lancer le truc, un Docker one-liner suffit (attention quand même, ça monte votre kubeconfig en lecture seule dans le conteneur, donc à réserver au cluster de dev) :

docker run --rm -it -v ~/.kube/config:/root/.kube/config:ro -p 8080:8080 ghcr.io/jlandersen/k8s-unix-system:main

Vous ouvrez localhost:8080 dans Chrome et vous volez à travers votre cluster avec la barre espace pour monter, Ctrl pour descendre, Shift pour accélérer. Tout est en temps réel grâce à la Watch API K8s, du coup si un pod tombe pendant que vous survolez son île, vous le voyez passer au rouge direct. Finalement, c'est kubectl get pods mais en 100 fois plus fun.

C'est codé en Go côté serveur et Three.js pour la 3D dans le navigateur. Le dev derrière bosse chez LEGO (ça ne s'invente pas). Et d'ailleurs si vous êtes du genre à recycler vos smartphones en cluster , ça ferait un combo d'enfer pour frimer devant les collègues.

Bref, vous allez pouvoir enfin lâcher un « Je connais ce système... il fonctionne sous Unix ! » sans mentir.

  •  

Lolgato - L'app macOS qui dompte vos Elgato

Les Elgato Key Light, c'est devenu le standard pour s'éclairer la tronche en visio ou en stream. Un gros panneau LED blanc posé sur un pied. Sauf que le soft officiel pour les piloter, bah... il fait le minimum syndical. En fait, à part allumer, éteindre et bouger un slider, y'a rien. Du coup, un dev finlandais a pondu Lolgato , une app macOS gratuite et open source qui va beaucoup plus loin.

Lolgato en action dans la barre de menus

Sur mon Mac, j'ai téléchargé le DMG, glissé l'app dans Applications, et hop... une icône apparaît dans la barre de menus. De là, vous avez accès à tous les réglages de vos lumières sans ouvrir le Control Center d'Elgato. Luminosité, température de couleur, on/off... tout est là, à un clic. Mais le vrai kiff, c'est l'automatisation.

Car oui mes amis, Lolgato détecte quand votre webcam s'active (FaceTime, Zoom, OBS, peu importe) et allume vos lumières automatiquement. Comme ça, plus besoin d'y penser ! Vous verrouillez le Mac ? Les lampes s’éteignent. Par contre, attention, ça ne marche qu'avec les lumières Elgato (les Key Light et compagnie) et pas avec les panneaux LED du commerce à 30 euros.

L'interface menu bar de Lolgato

La synchronisation avec Night Shift c'est chouette aussi car comme ça, quand macOS passe en lumière chaude le soir, Lolgato ajuste la température de couleur de vos Key Light pour matcher. Vous passez de la lumière blanche de bureau à un éclairage chaud, genre lampe de chevet. Résultat, fini l'effet néon de supermarché à 23h dans votre salon. Quand Night Shift se désactive, retour à 6500K. Perso, sur mon setup chez moi, la différence se voit direct.

Côté raccourcis clavier, c'est complet. Des shortcuts globaux pour allumer, éteindre, monter la luminosité, baisser la température... tout ça sans toucher la souris. À vrai dire, sur un bureau avec deux ou trois moniteurs et un clavier, c'est carrément appréciable !

L'app repère vos lumières sur le réseau Wi-Fi automatiquement. Même protocole que le Control Center officiel. Et si la découverte auto fait des siennes, vous pouvez taper l'adresse IP de votre lampe directement dans les réglages de Lolgato. Pratique quand on a chez soi un routeur capricieux ou un VLAN séparé.

Si vous utilisez déjà MonitorControl pour gérer la luminosité de vos écrans externes, Lolgato vient compléter le setup pour la partie éclairage. Le combo des deux, c'est le confort ultime !

Ça tourne sur macOS 14 (Sonoma) minimum, et aussi sur macOS 15 (Sequoia). C'est du Swift, licence MIT et le développeur est aussi derrière WalkingMate (un tapis de marche piloté depuis le Mac) et KeepMic (pour garder votre micro USB par défaut). Bref, un mec qui aime que ses périphériques obéissent au doigt et à l'oeil.

Voilà, c'est gratuit, open source, et ça marche bien !

  •  

VidBee - yt-dlp en version graphique avec RSS auto

yt-dlp, tout le monde connaît. C'est l'outil parfait pour télécharger des vidéos depuis à peu près n'importe quel site. Sauf que bon, la ligne de commande, c'est pas le truc de tout le monde. Du coup, les interfaces graphiques pour habiller tout ça, y'en a un paquet... mais trouver celle qui est jolie ET sous licence libre, c'est pas gagné.

Heureusement, VidBee est un nouveau venu qui coche pas mal de cases. L'appli tourne sur Windows, macOS et Linux, elle est sous licence MIT, et l'interface est plutôt clean. On colle une URL, on choisit le format MP4 ou MKV, on sélectionne la qualité entre 720p et 8K et hop, ça télécharge.

Fastoche !

Interface principale de VidBee

Bon, jusque-là, vous allez me dire que Stacher7 fait déjà ça. Sauf que VidBee a un petit truc en plus qui vaut le détour : un système de flux RSS intégré. En gros, vous vous abonnez à vos chaînes YouTube préférées via RSS, et l'outil télécharge automatiquement les nouvelles vidéos en arrière-plan. Comme ça, y'a plus besoin de vérifier manuellement si votre créateur favori a sorti un truc. Attention par contre, prévoyez du stockage parce que ça peut vite remplir un disque dur si vous suivez plusieurs chaînes...

Côté technique, ça gère les résolutions jusqu'à la 8K (si votre écran suit), l'extraction audio seule en MP3, les sous-titres dans plus de 50 langues au format SRT, et même le téléchargement de playlists entières ou de contenus privés si vous êtes connecté à votre compte. Y'a aussi un support proxy pour contourner les restrictions géographiques (genre si votre FAI bloque certains sites) et une extension navigateur pour lancer les téléchargements en un clic.

File de téléchargement VidBee

Et pour les plus bidouilleurs d'entre vous, VidBee propose carrément un mode serveur avec une API Fastify et une interface web, le tout déployable en Docker. Perso, c'est ça que je trouve le plus malin. Un docker compose up -d, l'API écoute sur le port 3100, l'interface web sur le 3000, et vous avez votre propre service de téléchargement accessible depuis n'importe quel appareil du réseau local. Attention quand même à pas le rendre accessible publiquement non plus, hein... sauf si vous voulez des ennuis ^^.

Le projet est plutôt actif, codé en TypeScript et basé sur Electron pour le desktop. D'ailleurs, le monorepo inclut aussi une extension navigateur et un site de doc complet. Par contre, c'est encore en développement très actif, du coup y'a forcément des bugs qui traînent par-ci par-là et des trucs qui cassent de temps en temps mais vu la qualité du service rendu, c'est pas bien grave !

Bref, c'est gratuit, c'est open source, et ça marche sur Windows, macOS et Linux. Allez voir !

Merci à Lorenper pour le partage !

  •  

AnsiSaver - L'art ANSI des BBS en screensaver macOS

Si vous êtes pété de thunes, vous avez forcément un Mac. Mais surtout, vous avez un écran de veille par défaut qui vous file le cafard... Mais c'était sans compter sur AnsiSaver qui est un écran de veille capable de piocher dans les archives de 16colo.rs , la plus grosse collection d'art ANSI au monde, et qui fait défiler tout ça sur votre écran à 60 fps ! Like a boss !

Pour ceux qui débarquent, l'art ANSI c'est ces dessins réalisés caractère par caractère qu'on affiche dans les BBS (les serveurs communautaires d'avant Internet, en gros). Des artistes passaient des heures à composer des fresques en utilisant les 256 caractères du jeu CP437 ... et le résultat est souvent bluffant. Des logos, des paysages, de la typographie, le tout en mode texte UNIQUEMENT. Y'a même eu des groupes mythiques comme ACiD, iCE ou Blocktronics qui ont marqué le truc à l'époque !

En fait, AnsiSaver récupère ces packs directement depuis 16colo.rs, les met en cache dans ~/Library/Caches/AnsiSaver/ et les affiche via libansilove, une lib C spécialisée dans le rendu CP437. Le tout animé par Core Animation, ce qui est vraiment pas mal du tout pour un screensaver !

Côté options, même si j'ai pas réussi à y accéder (??), vous avez le choix entre 3 modes d'affichage. Le défilement vers le haut, le défilement vers le bas (qui empilent les œuvres et scrollent à l'infini) et le mode fondu enchaîné entre chaque pièce. La vitesse de défilement se règle de 10 à 200 pixels par seconde, et ça supporte les écrans Retina.

Le truc sympa c'est que vous pouvez aussi balancer vos propres fichiers puisque AnsiSaver supporte les .ANS, .ICE, .ASC, .BIN, .XB, .PCB et .ADF... du coup si vous avez une collection perso qui traîne sur un vieux disque dur (ça arrive), ou que vous aimez digger Archive.org, vous faites pointer vers le dossier et c'est réglé.

Pour l'install, c'est hyper simple. Vous téléchargez le .saver depuis les releases GitHub , vous double-cliquez et macOS l'ajoute aux Réglages Système.

Attention, le binaire n'est pas signé, du coup il faudra faire un tour dans Réglages > Confidentialité et sécurité pour l'autoriser au premier lancement. Si ça ne marche pas du premier coup, relancez les Réglages Système. Ça fonctionne sur macOS Sequoia minimum (15.0+) et ça tourne aussi bien sur Apple Silicon que sur Intel.

Si vous cherchez d'autres façons de pimper votre terminal avec des screensavers en mode rétro, y'a de quoi faire. Et si vous êtes plutôt nostalgie CRT et phosphore vert ... pareil.

En multi écran chez moi, ça passe pas partout mais sur MacBook Air, ça a CARRÉMENT de la gueule !

  •  

iFetch - L'outil pour quitter iCloud sans rien perdre

iCloud, c'est sympa pour stocker vos photos et vos documents... jusqu'au jour où comme moi, vous décidez de vous barrer. Parce que récupérer vos 200 Go de fichiers en masse depuis le cloud d'Apple (plusieurs To pour moi), c'est pas vraiment ce qu'il y a de plus simple (genre, y'a pas de bouton "tout télécharger"). J'ai bien essayé de demander un export de mes datas à Apple et pour la partie iCloud Drive, j'ai juste eu des espèces de CSV bizarres mais pas mes documents.

Heureusement, pour s'extraire des griffes de l'entreprise de Cupertino, y'a un outil Python parfait pour ça.

iFetch , c'est un utilitaire en ligne de commande qui va se connecter à votre compte iCloud Drive et tout rapatrier en local. Le truc gère la 2FA (parce que bon, en 2026, si vous n'avez pas de 2FA activée quand c'est possible, vous méritez d'être envahi de puces de lit), les téléchargements parallèles avec 4 workers par défaut, et surtout les updates différentiels.

En gros, seuls les morceaux de fichiers qui ont changé sont re-téléchargés, du coup, sur un dossier de 50 Go déjà synchro, ça passe en quelques secondes au lieu de tout re-pomper. Et si ça plante au milieu, pas de panique, l'outil reprend là où il s'est arrêté grâce à un système de checkpointing.

Y'a aussi un truc malin, c'est le système de profils. Vous créez un fichier JSON avec des règles d'inclusion et d'exclusion, genre "tous les PDF du dossier Documents sauf ceux du dossier Private" et hop, en une commande et c'est plié.

Le support des dossiers partagés est aussi de la partie (le fameux --list-shared), y'a un système de plugins pour ceux qui veulent étendre le bazar, et même un historique de versions avec rollback automatique. Pas mal pour un outil libre !

Pour l'installer, après c'est du classique. Virtualenv Python, pip install pyicloud tqdm requests keyring, et vous stockez vos identifiants via icloud --[email protected] qui balance tout ça dans le trousseau système (Keychain sur macOS, libsecret sur Linux). D'ailleurs, si vous êtes du genre à sauvegarder vos dotfiles dans iCloud , c'est l'outil parfait pour faire le chemin inverse.

Côté utilisation, c'est super sobre :

python ifetch/cli.py Documents/Photos ~/Downloads/icloud-photos

...et ça mouline !! Vous pouvez même monter jusqu'à 8 workers pour aller plus vite (--max-workers=8), configurer les retries (--max-retries=5) ou juste lister le contenu sans rien télécharger avec --list. Attention, si vous avez des noms de fichiers avec des caractères spéciaux (genre des accents ou des espaces... merci macOS, groumpf), vérifiez bien que tout est passé après le transfert.

Alors oui, c'est CLI only, donc oubliez l'interface graphique. La doc mériterait un petit coup de polish et surtout, si votre session 2FA expire en plein transfert... faut relancer l'auth. Ça casse pas le téléchargement en cours, mais bon, c'est un peu "chiant".

Bon au final, pour un projet open source sous licence MIT, c'est plutôt du solide. Et si vous voulez chiffrer vos sauvegardes une fois récupérées en local, y'a des solutions pour ça aussi.

Bref, c'est simple, ça fait le job et c'est gratuit. Que demande le peuple à part du matos Apple moins cher, lool ?

Merci à Lorenper pour le lien !

  •  

Snitch - Le netstat qui ne pique plus les yeux

Si vous avez déjà tapé [ss -tulnp](https://www.it-connect.fr/lister-les-ports-en-ecoute-sous-linux-avec-lsof-netstat-et-ss/) dans un terminal, vous savez que c'est moche. Genre, VRAIMENT moche. Les colonnes qui se chevauchent, les adresses tronquées, bref c'est un festival du bordel. Mais c'était sans compter sur ce dev qui a pondu Snitch , un outil en Go sous licence MIT qui vient concurrencer ss et netstat... sauf que pour une fois, c'est lisible, regardez :

L'interface de Snitch en action, sobre et lisible

En gros, c'est un ss moderne avec une interface TUI interactive. Vous lancez la commande dans votre terminal et tadaaa, vous avez un tableau propre avec toutes vos connexions réseau, les processus associés, les ports, les protocoles... le tout avec des couleurs et une navigation au clavier. Rien à voir donc avec le pavé monochrome habituel !

Le truc cool aussi ce sont les filtres. Vous pouvez taper snitch ls proto=tcp state=listen pour ne voir que les sockets TCP en écoute, ou snitch ls proc=nginx pour traquer votre serveur web. Y'a même un filtre contains= pour chercher dans les adresses... genre contains=google pour voir tout ce qui cause avec Mountain View.

D'ailleurs, côté commandes c'est en fait bien fichu. snitch ls pour un tableau statique, snitch json pour du JSON brut si vous voulez scripter, et snitch watch -i 1s pour streamer les connexions en temps réel. Du coup ça s'intègre nickel dans vos pipelines.

La TUI elle-même vaut le détour. Vous naviguez avec j/k (comme dans Vim, forcément), vous basculez TCP/UDP avec t/u, et le plus jouissif... vous pouvez killer un processus directement avec la touche K. Plus besoin de noter le PID et d'ouvrir un autre terminal ! Sauf que attention, sur Linux faut quand même lancer en root pour avoir les infos complètes sur les processus, parce que l'outil va lire dans /proc/net/*. Ça ne marche pas non plus sur Windows, c'est Linux et macOS uniquement.

Pour ceux qui aiment personnaliser leur terminal (oui, je vous connaîs...), y'a une quinzaine de thèmes, Catppuccin, Dracula, Nord, Tokyo Night, Gruvbox... la config se fait dans ~/.config/snitch/snitch.toml et l'outil peut aussi conserver vos préférences de filtres entre les sessions (faut activer remember_state dans la config).

Côté installation, c'est pas la mer à boire. brew install snitch sur macOS, go install github.com/karol-broda/snitch@latest si vous avez Go, yay -S snitch-bin sur Arch, et y'a même des images Docker pour les plus prudents !

Donc si vous êtes du genre à surveiller votre trafic réseau ou à garder un oeil sur vos outils de diagnostic Linux , c'est clairement à tester.

Perso, pour du debug réseau rapide, je trouve que c'est carrément plus agréable que de se taper un ss -tulnp.

  •  

RustFS - L'alternative Rust à MinIO

MinIO, tout le monde ou presque connaît car c'est LE truc quand on veut du stockage objet S3-compatible auto-hébergé sous Linux. Sauf que voilà... la licence AGPL, ça pique pour pas mal de boîtes qui ne veulent pas se retrouver à devoir ouvrir leur code.

Du coup, y'a un nouveau projet qui débarque dans le tiek et qui devrait en intéresser plus d'un. C'est RustFS , codé en Rust (comme le nom le laisse deviner mes petits Sherlock) et 100% compatible S3. En gros, vous prenez votre stack MinIO existante, vous remplacez par ce truc, et en fait tout continue de fonctionner pareil... Vos buckets, vos applis, vos scripts Python, boto3... tout pareil !

La licence c'est de l'Apache 2.0 comme ça y'a pas de contrainte virale, vous faites ce que vous voulez avec. Et c'est d'ailleurs sûrement la raison numéro un pour laquelle le projet cartonne.

Côté perfs, les devs annoncent 2,3x plus rapide que MinIO sur des petits objets de 4 Ko (testé sur un modeste 2 coeurs Xeon avec 4 Go de RAM). Bon, c'est un benchmark maison, à prendre avec des pincettes hein... mais finalement Rust pour du I/O intensif, ça se tient comme argument, car y'a pas de garbage collector qui vient foutre le bazar.

Pour l'installer, Docker en une ligne :

docker run -d -p 9000:9000 -p 9001:9001 -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:latest

Et voilà, l'API tourne sur le port 9000 et la console web sur le 9001 (identifiants par défaut : rustfsadmin/rustfsadmin, changez-les vite fait hein). Y'a aussi du Kubernetes via Helm, un script d'install one-click, du Nix, ou un bon vieux git clone pour compiler vous-même (attention, sur macOS faut un ulimit à 4096 sinon ça ne marche pas).

Le conteneur Docker tourne en non-root (UID 10001), donc c'est plutôt propre niveau sécu. Pensez juste à faire un petit chown -R 10001:10001 data logs sur vos répertoires avant de lancer, sinon ça casse au démarrage.

Petit bonus appréciable, y'a aussi de la détection de corruption intégrée, et même du versioning de buckets pour les plus méfiants côté intégrité des données. D'ailleurs, côté monitoring, c'est déjà câblé pour envoyer vos métriques dans Grafana, vos traces dans Jaeger et le reste dans Prometheus. Un petit docker compose --profile observability up -d et c'est plié.

Par contre, on est encore en alpha et le mode distribué et le KMS sont en phase de test. Donc c'est PAS le genre de truc que vous mettrez en prod demain matin pour vos données critiques... mais pour du dev, du lab, ou des tâches pas trop sensibles... ça tourne impecc !

Bref, si l'AGPL de MinIO vous gave et que vous cherchez une alternative S3-compatible, en Rust, sous licence + permissive, allez jeter un œil à RustFS.

Merci à Lorenper pour le partage !

  •  
❌