← 11d.im

ad zk

31.08.26 · dernière modification : 31.08.26

#acme #éditeur de texte #système de publication

Le projet neovim ayant décidé de faire son plongeon fasciste avec l’aide d’un de ses mainteneurs, il est temps de voir ce qui se fait ailleurs. Ne pas s’enfermer dans un logiciel, aussi libre soit-il, me semble plutôt sain.

On m’a ainsi mis Acme, un éditeur de texte destiné au code et datant du siècle dernier, sous les yeux. Il prend explore des chemins en dehors des paradigmes aujourd’hui dominants dont les 3 variantes sont : vscode, vim et emacs.

Au contraire des classiques du genre, l'un des principes fondamentaux d'Acme est de ne pas devenir un monde clos sur lui-même, dont la suite logique est une production fractale de greffons, mais à s’articuler avec le reste des autres logiciels du système d’exploitation. Chaque mot affiché et chaque sélection peuvent donner lieu à une action. Une url s’ouvre directement dans le navigateur. Une commande classique s’exécute et le résultat collé dans l’une des fenêtres de l’éditeur. Un nom de fichier le charge. C’est la philosophie UNIX appliquée à un éditeur de texte interactif. Tout texte devenant ainsi instantanément un élément d’interface.

ad est une expérimentation moderne poursuivant en partie ce paradigme tout en l’hybridation avec d’autres chemins, comme l’interface modale de vi(m). Au lancement, on se sent à la fois à la maison, mais aussi dans un autre monde.

zk est quant à lui une boîte à outilsnb est une boîte à outils similaire construite autour de scripts bash. Le logiciel a ses propres partis-pris, dont une ingénieuse indexation à base de fichier texte qui vient avec l'inconvénient d'être difficilement décentralisable. pour gérer un dossier contenant des fichiers Markdown se prenant pour un système personnel de gestion de la connaissance, personal knowledge management (PKM) en anglais, qui est tout un monde, avec ses dérives, en soi. Il s’agit surtout d’indexer les fichiers, leurs contenus et en inférer certaines métadonnées, comme les tags ou les liens sortants/entrants. Libre à chacun d’en encoder d’autres. En ce qui me concerne, j’utilise des entêtes frontmatter (du yaml entre deux --- au début du fichier) pour encoder le statut (brouillon, publié, obsolète, etc.) et le type de document (note, article, bookmark, index, fiche biblio pour un livre, etc.). Comme tout est du texte, il est facile de s’y retrouver. Par exemple, zk list -Me --match "status: draft" me donne ainsi la liste de mes brouillons.

En combinant les deux, en ne produisant aucune ligne de code, il est ainsi possible de poser les premières briques de transformer un système de notes en jeu d’aventure du début de l’informatique. Pour plus d'authenticité, on peut même désactiver la coloration syntaxique pour entrer en alignement spirituel avec AcmeUn post d'entrée en la matière : How I program without syntax highlighting, Håkon Robbestad Gylterud.

Il suffira alors d'un simple fichier texte qui servira de point d'entrée et affichera à l'écran tous les commandes ou raccourcis de commande nécessaires. Un script au sens théâtral partagé et partageable entre soi et la machine. À ce titre, je trouve qu'il y a un air d'Hypercard à tout cela.

Dans le fichier d'instructions d'ad, il y a même déjà un pointeur vers un dispositif pour s'intégrer avec Denote, un autre système de pkm.

En entrant dans la spéculation, tout ce qu'il me manque pour avoir un CMS UNIX en ligne de commande, c'est un logiciel qui me permettrait d'exécuter une ligne de commande comme site add avec le buffer en entrée, qui inférerait ce qu'il faut à partir du frontmatter pour l'envoyer bien empaqueté à l'API micropub de site et me remettrait éventuellement l'url finale au bon endroit si c'est un nouveau contenu (un contenu existant ayant déjà une url).

Que cela existe déjà en go ou que cela devienne un peu de bricolage pour le plaisir du fait maison, ce rétrofutur me semble loin d'être inaccessible et à portée. Il ne suffira peut être que d'une ligne pour abolir ce vide. L'épilogue est que si jamais j'arrête d'utiliser Acme ou ad, la machinerie fonctionnera toujours. Pas besoin de sortir du monde défini et encadré par un logiciel comme ce dernier n'en sera qu'une manière de faire et non un écosystème.


👋Envie de me contacter pour bavarder de cette page, vous pouvez m'envoyer un message direct sur mastodon à l'adresse @tk@social.apreslanu.it. Je vous partagerai mon adresse email à partir de là.

📣Pour être tenu·e au courant des derniers changements le plus simple est d'ajouter le fil feed.xml regroupant tous les contenus dernièrement modifiés.

🕵️Pour signaler une erreur ou autre errance technique, il faudra passer par le système de ticket de codeberg.

📜Pour voir, l'historique des modifications de cette page, cela se passe aussi sur codeberg.