{
 "url": "https://11d.im/journal/2026/20260831203358-acme-ad-zk-publication/",
 "published": "Mon Aug 31 2026 22:33:59 GMT+0200 (Central European Summer Time)",
 "updated": "Thu Sep 10 2026 15:21:35 GMT+0200 (Central European Summer Time)",
 "author": {
  "name": "tk",
  "url": "https://11d.im"
 },
 "content": "<section>\n<p>Le projet neovim ayant d\u00e9cid\u00e9 de faire son plongeon fasciste avec l\u2019aide d\u2019un de ses mainteneurs, il est temps de voir ce qui se fait ailleurs.\nNe pas s\u2019enfermer dans un logiciel, aussi libre soit-il, me semble plut\u00f4t sain.</p>\n<p>On m\u2019a ainsi mis <a href=\"https://www.rako.space/2026-04-03-acme.html\">Acme</a>, un \u00e9diteur de texte destin\u00e9 au code et datant du si\u00e8cle dernier, sous les yeux.\nIl prend explore des chemins en dehors des paradigmes aujourd\u2019hui dominants dont les 3 variantes sont : vscode, vim et emacs.</p>\n<p>Au contraire des classiques du genre, l'un des principes fondamentaux d'Acme est de ne pas devenir un monde clos sur lui-m\u00eame, dont la suite logique est une production fractale de greffons, mais \u00e0 s\u2019articuler avec le reste des autres logiciels du syst\u00e8me d\u2019exploitation.\nChaque mot affich\u00e9 et chaque s\u00e9lection peuvent donner lieu \u00e0 une action.\nUne url s\u2019ouvre directement dans le navigateur.\nUne commande classique s\u2019ex\u00e9cute et le r\u00e9sultat coll\u00e9 dans l\u2019une des fen\u00eatres de l\u2019\u00e9diteur.\nUn nom de fichier le charge.\nC\u2019est la philosophie UNIX appliqu\u00e9e \u00e0 un \u00e9diteur de texte interactif.\nTout texte devenant ainsi instantan\u00e9ment un \u00e9l\u00e9ment d\u2019interface.</p>\n<p><a href=\"https://github.com/sminez/ad\"><code>ad</code></a> est une exp\u00e9rimentation moderne poursuivant en partie ce paradigme tout en l\u2019hybridation avec d\u2019autres chemins, comme l\u2019interface modale de vi(m).\nAu lancement, on se sent \u00e0 la fois \u00e0 la maison, mais aussi dans un autre monde.</p>\n<p><code>zk</code> est quant \u00e0 lui une bo\u00eete \u00e0 outils<label class=\"margin-toggle sidenote-number\" for=\"sn-1\"></label><input class=\"margin-toggle\" id=\"sn-1\" type=\"checkbox\"/><span class=\"sidenote\"><a href=\"https://xwmx.github.io/nb/\"><code>nb</code></a> est une bo\u00eete \u00e0 outils similaire construite autour de scripts bash. Le logiciel a ses propres partis-pris, dont une ing\u00e9nieuse indexation \u00e0 base de fichier texte qui vient avec l'inconv\u00e9nient d'\u00eatre difficilement d\u00e9centralisable.</span> pour g\u00e9rer un dossier contenant des fichiers Markdown se prenant pour un syst\u00e8me personnel de gestion de la connaissance, <em>personal knowledge management</em> (PKM) en anglais, qui est tout un monde, avec ses d\u00e9rives, en soi.\nIl s\u2019agit surtout d\u2019indexer les fichiers, leurs contenus et en inf\u00e9rer certaines m\u00e9tadonn\u00e9es, comme les tags ou les liens sortants/entrants.\nLibre \u00e0 chacun d\u2019en encoder d\u2019autres.\nEn ce qui me concerne, j\u2019utilise des ent\u00eates frontmatter (du yaml entre deux <code>---</code> au d\u00e9but du fichier) pour encoder le statut (brouillon, publi\u00e9, obsol\u00e8te, etc.) et le type de document (note, article, bookmark, index, fiche biblio pour un livre, etc.).\nComme tout est du texte, il est facile de s\u2019y retrouver.\nPar exemple, <code>zk list -Me --match \"status: draft\"</code> me donne ainsi la liste de mes brouillons.</p>\n<figure class=\"iframe-wrapper\">\n\t<iframe allowfullscreen=\"\" frameborder=\"0\" src=\"https://www.youtube-nocookie.com/embed/L2VUew3ZO20\" title=\"YouTube video player\">\n\t</iframe>\n</figure>\n<p>En combinant les deux, en ne produisant aucune ligne de code, il est ainsi possible de poser les premi\u00e8res briques de transformer un syst\u00e8me de notes en jeu d\u2019aventure du d\u00e9but de l\u2019informatique.\nPour plus d'authenticit\u00e9, on peut m\u00eame d\u00e9sactiver la coloration syntaxique pour entrer en alignement spirituel avec Acme<label class=\"margin-toggle sidenote-number\" for=\"sn-2\"></label><input class=\"margin-toggle\" id=\"sn-2\" type=\"checkbox\"/><span class=\"sidenote\">Un post d'entr\u00e9e en la mati\u00e8re : <a href=\"https://hakon.gylterud.net/opinion/syntax-highlighting.html\">How I program without syntax highlighting</a>, H\u00e5kon Robbestad Gylterud</span>.</p>\n<p>Il suffira alors d'un simple fichier texte qui servira de point d'entr\u00e9e et affichera \u00e0 l'\u00e9cran tous les commandes ou raccourcis de commande n\u00e9cessaires.\nUn script au sens th\u00e9\u00e2tral partag\u00e9 et partageable entre soi et la machine.\n\u00c0 ce titre, je trouve qu'il y a un air d'<a href=\"https://hypercard.org/\">Hypercard</a> \u00e0 tout cela.</p>\n<p>Dans le fichier d'instructions d'<code>ad</code>, il y a m\u00eame d\u00e9j\u00e0 un pointeur vers un dispositif pour s'int\u00e9grer avec <a href=\"https://protesilaos.com/emacs/denote\">Denote</a>, un autre syst\u00e8me de <em>pkm</em>.</p>\n<p>En entrant dans la sp\u00e9culation, tout ce qu'il me manque pour avoir un CMS UNIX en ligne de commande, c'est un logiciel qui me permettrait d'ex\u00e9cuter une ligne de commande comme <code>site add</code> avec le buffer en entr\u00e9e, qui inf\u00e9rerait ce qu'il faut \u00e0 partir du frontmatter pour l'envoyer bien empaquet\u00e9 \u00e0 l'<a href=\"https://11d.im/journal/2026/20260821095316-indiekit-presentation/#micropub\">API micropub de site</a> et me remettrait \u00e9ventuellement l'url finale au bon endroit si c'est un nouveau contenu (un contenu existant ayant d\u00e9j\u00e0 une url).</p>\n<p>Que cela <a href=\"https://gitlab.com/jamietanna/micropub-go\">existe d\u00e9j\u00e0 en go</a> ou que cela devienne un peu de bricolage pour le plaisir du fait maison, ce r\u00e9trofutur me semble loin d'\u00eatre inaccessible et \u00e0 port\u00e9e.\nIl ne suffira peut \u00eatre que d'une ligne pour abolir ce vide.\nL'\u00e9pilogue est que si jamais j'arr\u00eate d'utiliser Acme ou <code>ad</code>, la machinerie fonctionnera toujours.\nPas besoin de sortir du monde d\u00e9fini et encadr\u00e9 par un logiciel comme ce dernier n'en sera qu'une mani\u00e8re de faire et non un \u00e9cosyst\u00e8me.</p>\n</section>",
 "content-plain": "Le projet neovim ayant d\u00e9cid\u00e9 de faire son plongeon fasciste avec l\u2019aide d\u2019un de ses mainteneurs, il est temps de voir ce qui se fait ailleurs. Ne pas s\u2019enfermer dans un logiciel, aussi libre soit-il, me semble plut\u00f4t sain.\n\nOn m\u2019a ainsi mis Acme, un \u00e9diteur de texte destin\u00e9 au code et datant du si\u00e8cle dernier, sous les yeux. Il prend explore des chemins en dehors des paradigmes aujourd\u2019hui dominants dont les 3 variantes sont : vscode, vim et emacs.\n\nAu contraire des classiques du genre, l'un des principes fondamentaux d'Acme est de ne pas devenir un monde clos sur lui-m\u00eame, dont la suite logique est une production fractale de greffons, mais \u00e0 s\u2019articuler avec le reste des autres logiciels du syst\u00e8me d\u2019exploitation. Chaque mot affich\u00e9 et chaque s\u00e9lection peuvent donner lieu \u00e0 une action. Une url s\u2019ouvre directement dans le navigateur. Une commande classique s\u2019ex\u00e9cute et le r\u00e9sultat coll\u00e9 dans l\u2019une des fen\u00eatres de l\u2019\u00e9diteur. Un nom de fichier le charge. C\u2019est la philosophie UNIX appliqu\u00e9e \u00e0 un \u00e9diteur de texte interactif. Tout texte devenant ainsi instantan\u00e9ment un \u00e9l\u00e9ment d\u2019interface.\n\nad est une exp\u00e9rimentation moderne poursuivant en partie ce paradigme tout en l\u2019hybridation avec d\u2019autres chemins, comme l\u2019interface modale de vi(m). Au lancement, on se sent \u00e0 la fois \u00e0 la maison, mais aussi dans un autre monde.\n\nzk est quant \u00e0 lui une bo\u00eete \u00e0 outilsnb est une bo\u00eete \u00e0 outils similaire construite autour de scripts bash. Le logiciel a ses propres partis-pris, dont une ing\u00e9nieuse indexation \u00e0 base de fichier texte qui vient avec l'inconv\u00e9nient d'\u00eatre difficilement d\u00e9centralisable. pour g\u00e9rer un dossier contenant des fichiers Markdown se prenant pour un syst\u00e8me personnel de gestion de la connaissance, personal knowledge management (PKM) en anglais, qui est tout un monde, avec ses d\u00e9rives, en soi. Il s\u2019agit surtout d\u2019indexer les fichiers, leurs contenus et en inf\u00e9rer certaines m\u00e9tadonn\u00e9es, comme les tags ou les liens sortants/entrants. Libre \u00e0 chacun d\u2019en encoder d\u2019autres. En ce qui me concerne, j\u2019utilise des ent\u00eates frontmatter (du yaml entre deux --- au d\u00e9but du fichier) pour encoder le statut (brouillon, publi\u00e9, obsol\u00e8te, 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\u2019y retrouver. Par exemple, zk list -Me --match \"status: draft\" me donne ainsi la liste de mes brouillons.\n\nEn combinant les deux, en ne produisant aucune ligne de code, il est ainsi possible de poser les premi\u00e8res briques de transformer un syst\u00e8me de notes en jeu d\u2019aventure du d\u00e9but de l\u2019informatique. Pour plus d'authenticit\u00e9, on peut m\u00eame d\u00e9sactiver la coloration syntaxique pour entrer en alignement spirituel avec AcmeUn post d'entr\u00e9e en la mati\u00e8re : How I program without syntax highlighting, H\u00e5kon Robbestad Gylterud.\n\nIl suffira alors d'un simple fichier texte qui servira de point d'entr\u00e9e et affichera \u00e0 l'\u00e9cran tous les commandes ou raccourcis de commande n\u00e9cessaires. Un script au sens th\u00e9\u00e2tral partag\u00e9 et partageable entre soi et la machine. \u00c0 ce titre, je trouve qu'il y a un air d'Hypercard \u00e0 tout cela.\n\nDans le fichier d'instructions d'ad, il y a m\u00eame d\u00e9j\u00e0 un pointeur vers un dispositif pour s'int\u00e9grer avec Denote, un autre syst\u00e8me de pkm.\n\nEn entrant dans la sp\u00e9culation, tout ce qu'il me manque pour avoir un CMS UNIX en ligne de commande, c'est un logiciel qui me permettrait d'ex\u00e9cuter une ligne de commande comme site add avec le buffer en entr\u00e9e, qui inf\u00e9rerait ce qu'il faut \u00e0 partir du frontmatter pour l'envoyer bien empaquet\u00e9 \u00e0 l'API micropub de site et me remettrait \u00e9ventuellement l'url finale au bon endroit si c'est un nouveau contenu (un contenu existant ayant d\u00e9j\u00e0 une url).\n\nQue cela existe d\u00e9j\u00e0 en go ou que cela devienne un peu de bricolage pour le plaisir du fait maison, ce r\u00e9trofutur me semble loin d'\u00eatre inaccessible et \u00e0 port\u00e9e. Il ne suffira peut \u00eatre que d'une ligne pour abolir ce vide. L'\u00e9pilogue est que si jamais j'arr\u00eate d'utiliser Acme ou ad, la machinerie fonctionnera toujours. Pas besoin de sortir du monde d\u00e9fini et encadr\u00e9 par un logiciel comme ce dernier n'en sera qu'une mani\u00e8re de faire et non un \u00e9cosyst\u00e8me.",
 "syndication": [],
 "type": "entry",
 "name": "ad zk"
}