← Tous les projets

Logiciel · CLI

arch

Un CLI Python que j'ai construit en 2019 pour piloter ma machine Arch Linux à partir d'un seul verbe. Le code source n'a pas survécu, mais les habitudes de conception qu'il m'a apprises, elles, sont restées.

Année
2019
Rôle
Solo · Outil personnel
Statut
Archivé

Pourquoi il existait

J'utilise Arch Linux depuis des années. J'aime cette distribution pour les mêmes raisons que j'aime construire des logiciels : elle est minimaliste, elle reste discrète et elle ne prend pas les décisions à ma place.

Le revers de cette liberté, c'est qu'une bonne partie du travail quotidien se retrouve dispersée entre plusieurs commandes différentes.

arch était ma réponse à ce problème. Un seul point d'entrée, une série de sous-commandes, et les tâches que je faisais chaque jour réduites à un verbe que je pouvais taper sans y penser.

Ce qu'il faisait

arch update lançait une mise à jour complète des paquets. arch process permettait de rechercher les processus actifs, de les lister et de les terminer par nom ou motif, sans avoir à chercher des PID.

arch cast envoyait des médias vers un Chromecast sur le réseau et, la partie dont j'étais le plus fier, redirigeait correctement l'audio système pour que le son suive réellement la vidéo au lieu de rester coincé sur l'ordinateur portable.

Une petite surface fonctionnelle, des comportements par défaut raisonnables, et tout accessible en un ou deux mots.

Ce que j'en ai gardé

Le code source est perdu et le projet n'a jamais été publié nulle part, donc c'est un outil que je peux décrire mais plus montrer.

Ce qui est resté, c'est l'instinct de conception qu'il m'a donné. Un bon outil personnel enlève une friction qu'on avait fini par ne plus remarquer.

Chaque commande gagnait sa place parce que c'était quelque chose que je faisais déjà assez souvent pour en venir à détester taper la commande complète. Cette barre-là — est-ce que ça enlève une friction quotidienne ? — c'est encore celle que j'utilise aujourd'hui pour juger un outil.

Points forts
  • Un verbe pour la machine. arch update, arch process, arch cast, le tout sous un seul point d'entrée.
  • Gestion des processus par nom. Chercher, lister et arrêter les processus par motif plutôt que de courir après des PID.
  • Chromecast avec le bon son. Diffuser un média vers un Chromecast du réseau, avec le son du système acheminé correctement.
  • Minimaliste par choix. Petite surface de commandes, comportements par défaut sains, pensé pour une machine qui reste en dehors du chemin.
Stack
Python · Arch Linux · CLI