Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

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

Par : Korben
16 mars 2026 à 09:08

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.

Basalt - Vos coffres Obsidian direct dans le terminal

Par : Korben
16 mars 2026 à 07:41

Un TUI en Rust pour gérer vos coffres Obsidian sans quitter le terminal c'est ce que propose Basalt qui détecte automatiquement vos vaults, affiche le markdown avec un rendu visuel, et depuis la v0.12.3, y'a même un mode vim intégré. Le tout sans avoir besoin que la vraie app tourne en arrière-plan !

Et c'est là toute la différence avec le CLI officiel d'Obsidian dont je vous parlais il y a quelques jours. Car le CLI a besoin de l'app qui tourne via un socket local. Basalt, lui, lit en fait vos fichiers .md directement sur le disque. Du coup, ça marche en SSH, sur un serveur headless, ou sur n'importe quelle machine où vous avez juste vos fichiers markdown. C'est carrément pratique !

L'installation se fait en une commande :

cargo install basalt-tui

Au premier lancement, l'outil va alors chercher automatiquement vos coffres en lisant le fichier de config (sous macOS c'est dans ~/Library/Application Support/obsidian/obsidian.json). Comme ça, hop hop, vos vaults apparaissent, vous naviguez au clavier et vous passez d'un coffre à l'autre avec Ctrl+G. Vous pouvez aussi passer par aqua ou télécharger un binaire pré-compilé sur la page releases si vous préférez.

Basalt en action, navigation dans un vault Obsidian

Vous ouvrez alors une note et le markdown s'affiche avec un rendu visuel : les # disparaissent au profit d'indicateurs plus colorés, les blocs de code ont un fond distinct, les callouts > [!NOTE] sont reconnus, et les wiki-links [[Ma Note]] sont également parsés. D'ailleurs, quand vous renommez une note avec r, tous les wiki-links qui pointent vers elle sont mis à jour automatiquement dans tout le vault. Pas de search-replace à la main, ça fait toujours du bien !

Après faut pas s'attendre à un clone complet non plus. Y'a pas de rendu pour le gras, l'italique ou les tableaux. Pas de recherche dans les notes. Pas de graph view. L'éditeur intégré est expérimental (pas d'undo, pas de copier-coller, pas de sélection). C'est assumé de ce que j'ai pu voir, car le projet se présente comme un compagnon minimaliste.

Et c'est justement pour ça que le mode vim est le bienvenu, à vrai dire. Vous pouvez activer ça dans votre config TOML comme ceci :

vim_mode = true

Le mode vim en action dans Basalt

Et là vous avez hjkl pour naviguer, gg / G pour sauter en haut et en bas, w / b pour les mots, i pour l'insertion. C'est pas forcément aussi complet qu'un vrai vim, mais franchement, pour parcourir vos notes c'est agréable.

Le vrai kiff, c'est la config TOML qui permet de lancer un éditeur externe sur la note en cours :

[global]
key_bindings = [
 { key = "ctrl+alt+e", command = "exec:vi %note_path" },
]

Du coup, le workflow devient : Basalt pour naviguer et lire et un raccourci clavier pour ouvrir dans vim (ou n'importe quel éditeur) quand vous voulez éditer sérieusement. C'est le genre de combo qui fonctionne bien quand vous bossez en full terminal .

Le projet est sous licence MIT, écrit en Rust avec ratatui, et tourne sur Linux, macOS et Windows. Tiens, la v0.12.3 ajoute aussi la création de notes et dossiers directement depuis l'explorateur avec n et N... Ça avance plutôt vite comme projet !!

Voilà, si vos notes vivent dans des coffres et que le terminal c'est votre habitat naturel, Basalt fera bien le boulot.

Demucs-rs - Séparez vos morceaux en stems depuis le navigateur

Par : Korben
4 mars 2026 à 11:08

Séparer la voix, la batterie ou la basse d'un morceau, ça relevait du rêve d'audiophile il y a encore quelques années. Fallait installer Python, se taper Spleeter, galérer avec les dépendances CUDA... bref, un super truc de barbu. Mais ça, c'était avant, les amis !

Demucs-rs , une réécriture en Rust du modèle HTDemucs v4 de Meta, tourne maintenant directement dans votre navigateur grâce au WebGPU. Batterie, basse, voix, tout le reste..., chaque élément se retrouve ainsi isolé dans son propre fichier WAV. Et y'a rien à installer, puisque tout se passe côté client, sur votre machine.

Pour vous en servir, vous pouvez aller sur la web app , vous glissez-déposez votre fichier MP3 (ou WAV, FLAC, OGG, M4A... ça bouffe à peu près tout), et vous patientez... Le premier lancement télécharge le modèle (~84 Mo pour le standard), donc prévoyez une connexion correcte.

L'interface de la web app - vous glissez votre fichier et c'est parti

Comptez alors quelques minutes selon la durée du morceau. En sortie, vous aurez alors plusieurs fichiers WAV séparés que vous pourrez écouter, jouer en solo ou télécharger individuellement.

Les pistes séparées, prêtes à écouter ou télécharger

Trois modèles sont dispos. Le mode 4 pistes suffit dans 90% des cas. Il y a aussi le modèle 6 stems, ou plutôt htdemucs_6s, qui est pas mal pour du rock ou du jazz. Et pour les obsessionnels de la qualité, y'a le fine-tuned à 333 Mo... mais prévoyez une pause café, parce que ça va être long de fou !

Voilà, comme ça, si vous voulez faire un karaoké maison, vous virez la voix et vous gardez l'instrumental. Ou si votre truc c'est de sampler une ligne de basse d'un vieux morceau de funk ou encore pratiquer la guitare en jouant par-dessus le morceau original sans la partie guitare, c'est entièrement possible !

D'ailleurs, si vous aviez testé Spleeter avec Ableton à l'époque, c'est le même principe mais en BEAUCOUP plus simple !!

Perso, le fait que ça tourne dans le navigateur, c'est top, sans parler du fait que vos morceaux restent sur votre disque.

Maintenant, si la version navigateur vous semble un peu longue, y'a le CLI natif qui exploite Metal sur Mac et Vulkan sur Linux/Windows. Pour l'installer, clonez le repo et lancez make cli (Rust requis) :

git clone https://github.com/nikhilunni/demucs-rs
cd demucs-rs && make cli

Le binaire atterrit dans target/release/demucs, 24 Mo. Le modèle se télécharge au premier lancement.

Côté utilisation, c'est du gâteau :

demucs song.mp3 # 4 pistes dans ./stems/
demucs -s vocals chanson.mp3 # juste la voix
demucs -m htdemucs_6s -s guitar solo.flac # isoler la guitare
demucs -m htdemucs_ft morceau.mp3 # qualité max

En sortie, chaque stem est un fichier WAV. Vous virez le vocals.wav, vous gardez le reste... et tadaaa, karaoké instantané pour votre voix de casserole ! C'est carrément plus rapide qu'en WebAssembly.

Et si vous bossez dans un DAW sur macOS, y'a aussi un plugin VST3/CLAP pour faire la séparation directement dans Logic ou Reaper (sauf que bon, c'est macOS only pour l'instant, quoi).

Après sachez que sur certains passages très chargés, la voix peut baver un peu dans la piste "other" ou inversement mais pour du remix amateur ou du sampling, ça suffit largement !

D'ailleurs, j'sais pas si vous vous souvenez, mais les plugins IA d'Audacity embarquent aussi Demucs v4. Mais là avec Demucs-rs c'est natif et surtout indépendant d'Audacity.

Et bien sûr, tout est open source sous licence Apache 2.0 !

Amusez-vous bien !

sudo-rs - 40 ans de silence cassés par des astérisques

Par : Korben
27 février 2026 à 09:33

Si vous utilisez Ubuntu 26.04, vous avez peut-être remarqué un truc bizarre dernièrement en tapant votre mot de passe sudo... Ouiiiiii, y'a des petites étoiles qui apparaissent !! Pas de panique, c'est "normal". Enfin, c'est nouveau...

En effet, sudo-rs, la réécriture en Rust de la bonne vieille commande sudo, a décidé d'activer pwfeedback par défaut. En gros, quand vous faites un sudo apt install bidule, au lieu du trou noir habituel, vous voyez maintenant des ***** défiler pendant la saisie du mot de passe. C'est un changement qui casse une convention vieille de 40 ans... et ça, forcément, ça fait du bruit !

Pour rappel, Ubuntu a basculé sur sudo-rs (le remplaçant en Rust du bon vieux sudo en C) depuis la version 25.10. Ça fait partie du même mouvement de réécriture des outils système en Rust, comme les coreutils dont je vous avais parlé. Et la 26.04 vient de "cherry-picker" comme on dit, un patch upstream qui active le feedback visuel par défaut.

Un bug report sur Launchpad ( #2142721 ) est bien sûr arrivé direct, en mode vénère genre "*ÇA FAIT DES DÉCENNIES qu'on n'affiche pas la longueur du mot de passe pour empêcher le shoulder surfing ! C'est quoi ce bordel !!?? *"

Et la réponse des devs : Won't Fix. Circulez les relous !

En fait, leur argument c'est que le bénéfice sécurité est "infinitésimal". Parce que bon, votre mot de passe sudo c'est le même que celui de votre session (celui que vous tapez à l'écran de login, devant tout le monde). Et le bruit des touches trahit déjà la longueur de toute façon. Du coup, ils ont préféré régler le problème UX qui paume les débutants depuis le début des années 80.

D'ailleurs, en 2013 je vous expliquais comment activer ces étoiles manuellement avec sudo visudo (ça date de fou !!) et maintenant c'est l'inverse, faut expliquer comment les virer ! Linux Mint avait d'ailleurs déjà sauté le pas de son côté depuis un moment.

Perso, le truc qui me gonfle c'est pour les tutos vidéo. Quand vous faites un screencast, les astérisques révèlent la longueur de votre mot de passe à tous vos spectateurs. Du coup faut aller reparamétrer chaque machine avant de filmer ou faire du masquage en post prod. C'est pas la fin du monde, mais bon, la flemme...

Alors pour désactiver ces jolies zétoiles :

sudo visudo

Et ajoutez cette ligne à la fin de /etc/sudoers :

Defaults !pwfeedback

Sauvegardez (Ctrl+X sous nano), et c'est réglé. Attention, ne touchez à rien d'autre dans ce fichier, une erreur de typo et sudo ne marchera plus. Grâce à cette manip, ce sera retour au trou noir ! Youpi !

Source

RustFS - L'alternative Rust à MinIO

Par : Korben
27 février 2026 à 08:41

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 !

Tunnelto - Exposez votre serveur local avec inspection du trafic

Par : Korben
23 février 2026 à 10:25

Si vous avez déjà eu besoin de montrer une app en dev à un client ou de tester un webhook Stripe sans vous farcir une config nginx, y'a de fortes chances que vous connaissiez ngrok .

Hé bien Tunnelto fait sensiblement la même chose, mais en Rust et avec un truc en plus qui fait la différence : un dashboard d'introspection pour voir tout ce qui passe dans le tunnel.

Du coup, vous lancez une commande, vous récupérez une URL publique genre votresite.tunnelto.dev, et hop, votre localhost devient accessible depuis n'importe où. Et surtout, vous pouvez inspecter toutes les requêtes HTTP qui transitent. Super utile quand vous débuguez une API ou que vous essayez de comprendre pourquoi ce foutu webhook ne se déclenche pas.

Pour l'installer, plusieurs options s'offrent à vous :

Sur macOS via Homebrew :

brew install agrinman/tap/tunnelto

Via Cargo :

cargo install tunnelto

Et pour exposer votre app qui tourne sur le port 8000 :

tunnelto --port 8000

C'est tout ! Le service vous file une URL avec un sous-domaine aléatoire. Mais si vous voulez quelque chose de plus mémorable, vous pouvez demander un sous-domaine custom :

tunnelto --port 8000 --subdomain monprojet

Et vous obtenez monprojet.tunnelto.dev. Pas mal pour une démo client, non ?

Bon, si vous avez suivi mes articles sur Bore ou Tunnl.gg , vous vous demandez peut-être la différence. Bore est ultra-minimaliste, Tunnl.gg ne nécessite même pas de client à installer... Tunnelto se situe entre les deux : plus complet que Bore avec son dashboard d'introspection, mais plus léger que ngrok avec son approche open source.

D'ailleurs, y'a un truc cool avec Tunnelto c'est que vous pouvez héberger votre propre serveur si vous ne voulez pas dépendre d'un service tiers. Pratique pour les entreprises qui veulent garder le contrôle sur leurs tunnels. Sous le capot, ça utilise également tokio pour l'async Rust, donc c'est rapide et ça consomme que dalle en ressources.

Bref, si ngrok vous paraît trop usine à gaz et que Bore manque de fonctionnalités pour vous, Tunnelto fera bien le taf surtout avec son module d'inspection du trafic HTTP, qui fait la diff quand on débugue des intégrations...

Source

❌
❌