T(LD)R pour translate(r)

AJAA numéro 4

AJAA numéro 4

Reprendre le fil avec un Aujourd’hui j’ai appris une fois de plus initié par ma découverte des outils élémentaires inclus avec mon système d’exploitation.

Toujours à l’origine une friction

L’origine de mes notes, articles et toutes ces sortes de choses, est principalement un dossier créé par l’application Writer d’information Architects Inc. qui héberge mes billets depuis leur forme initiale de capture de pensée sur un terminal numérique mobile à leur étaiement et correction sur mon ordinateur personnel.

La forme de ses fichiers est, sans grande surprise, celle d’un simple texte parsemé d’un balisage léger de la famille MarkDown. Ce format est parfaitement interprété par mon outil de prédilection pour générer un site statique : 11ty[1]. La publication, son processus, pourrait être aussi simple que le déplacement ou la copie du fichier source depuis le répertoire de Writer vers celui de travail d’11ty avant de pousser le site mis à jour via ce bon vieux protocole de transfert de fichiers.

Pourrait, au conditionnel, car en plus du corps du texte lui-même,comme vu dans un billet précédent, 11ty utilise un en-tête pour y piocher des meta données (mots-clefs, dates représentatives de l’histoire du billet…). Saisir cet objet contextuel dans Writer est envisageable, mais je n’aime pas cela. J’apprécie mes fichiers markdown minimalistes. Cependant, ajouter après coup l’en-tête dans mon éditeur de texte de développement ajoute une friction désagréable, d’autant plus que, merci MacOS et son noyau Mach, la plupart des informations que je mets dans les meta données sont disponibles dans les données système du fichier source.

Bon alors, tu en viens au sujet ‽

J’y arrive car il est lié à une précédente expérience de script réalisé pour prendre en charge la copie d’un texte achevé depuis le répertoire iCloud[2] de travail d’iA Writer vers le repertoire source de mon site dans 11ty. Ce script shell lisait le fichier d’origine, ajoutait l’en-tête YAML (Yet Another Markup Language) avec quelques données et écrivait l’ensemble dans un sous répertoire, passé en paramètre, relatif à la catégorie principale du billet.

C’était « bien mais pas top ». Aussi, ai-je remis l’ouvrage sur le métier pour obtenir quelque chose de plus satisfaisant. Un article complet suivra bientôt, le sujet actuel concerne uniquement une étape du script.

TR pour transpose

iA Writer utilise le premier niveau de titre saisi pour nommer le fichier texte créé. Celui-ce contient ainsi espaces et caractères accentués qui peuvent engendrer des difficultés lors de traitements informatiques (oui, même en 2026). Mon script remplace donc les espaces par des _ et supprime les signes diacritiques. Dans la version initiale, je m’appuyais sur des remplacements par expressions régulières. C’était verbeux et répétitif. Le salut et la concision me sont apparus lors de la recherche d’une solution à un problème connexe qui me fit découvrir TR. Mes multiples substitutions se retrouvent alors condensées en un ligne :

titrenet=$(echo $titre |  tr ' àáèéêëîïìíôòóöùúüû' '_aaeeeeiiiioooouuuu')

Encore une fois, il manque tout le contexte mais la découverte de cette commande va me simplifier pas mal de choses à l’avenir.

Rédigé à Saint-Estève en avril 2026.