Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
Hier — 17 janvier 2025Flux principal

Aux (codes) sources de la poésie

14 janvier 2025 à 01:51

Le livre ./code --poetry est un objet original réunissant programmation, poésie et graphisme, que l’amoureux du code peut prendre plaisir à avoir dans sa bibliothèque pour le feuilleter de temps en temps et méditer sur toute cette littérature pour machines qu’il a écrite depuis ses premiers émois binaires. Attelage a priori improbable, Daniel Holden est programmeur et travaille dans les jeux vidéos à Montréal alors que Chris Kerr est un poète qui vit à Londres. Ils ont en fait fréquenté la même école et se connaissent depuis l’âge de onze ans. Explorons leur livre :

  • Daniel Holden et Chris Kerr, ./code --poetry, Broken Sleep Books, 2023, ISBN 978-1-915760-89-0.

    Sommaire

    Sources et rendus

    Un code poem est un code source mélangé à de la poésie, alors on pourrait traduire l’expression par un mot composé comme code-poème ou poème-source. J’utiliserai plutôt cette dernière traduction, le mot « source » ayant clairement des connotations poétiques. Pour ce qui est du concept de code poetry, poésie-source me satisfait moins. À vous de voir.

    Dans les poèmes-sources du livre, parfois les mot-clés du langage utilisé font partie du texte du poème, parfois le poème est simplement contenu dans des commentaires que la coloration syntaxique et la mise en page aideront à mettre en valeur. Utiliser des chaînes de caractères est une autre solution facile. On peut aussi généralement utiliser des noms de variables (éventuellement inutilisées), de fonctions, de labels, etc. Dans certains poèmes-sources les parties de code imprononçables sont isolées en haut ou en bas du code source comme dans chernobyl.rkt. Le code est toujours mis en forme avec soin et constitue parfois un calligramme, mot inventé par Apollinaire, par exemple une raquette de tennis pour Processing. Les auteurs se réclament également de la poésie concrète.

    On notera que dans le cas où l’on utilise également les mots-clés du langage dans le texte poétique, on sera bien sûr dans la plupart des langages plutôt incité à écrire en anglais. Mais on pourrait aussi considérer leurs mots-clés comme des parties d’un mot, par exemple for(midable=0;;) // j’étais fort minable. Sinon, on pourra utiliser un langage Logo en français ou quelques autres rares langages pour batracien hexagonal que vous pourrez citer en commentaires.

    Une contrainte majeure respectée dans le livre est qu’un programme doit être exécutable : il produit alors souvent de l’art ASCII, soit statique soit le plus souvent dynamique comme dans water.c, mais peut aussi produire un texte mixant poésie et codes informatiques (des balises HTML par exemple dans divide.php). Quant au titre du poème, c’est simplement le nom du fichier source.

    Les sujets abordés dans ces poèmes sont variés : expériences personnelles, théories du complot, dystopies, technologie et environnement, etc. D’après l’introduction du livre, chaque poème-source et sa sortie sont censés refléter le caractère du langage informatique utilisé. On trouvera pour chacun des vingt-six poèmes le code source sur la page gauche, avec coloration syntaxique, sur fond clair ou sombre, et sur la page droite la sortie. Le livre se double d’un site compagnon https://code-poetry.com/ qui a l’avantage de montrer les versions animées des sorties. Le livre essaie néanmoins de rendre cela par des successions de copies d’écran quand c’est possible. Comme la bannière en haut du site web semble boguée ou incomplète, voici les liens directs vers les vingt-six codes disponibles : Javascript, Julia, PHP, Racket, C++, Piet, Bash, Shakespeare, Perl, C, Haskell, C, J, Batch, Ruby, Objective C, Go, Processing, Ante, Befunge, C#, Python, Python, Erlang, Lua, Brainfuck. On notera que parmi les langages vedettes, le C et le Python ont droit à deux codes. Et on saluera les efforts du programmeur pour arriver à maîtriser les bases de tous ces langages pour la rédaction du livre. Si vous y trouvez un de vos langages préférés, vous pouvez partager en commentaires les particularités ou astuces des codes présentés (on frise parfois l’offuscation).

    Autres textes pour « massive nerds »

    Après les vingt-six poèmes, nous tombons sur la Code Poetry Manual Page, placée dans la section 7 des man-pages (Overview, conventions, and miscellaneous) : ./code --poetry - A collection of executable art. Chaque poème ou langage a droit à un paragraphe de commentaires (techniques, littéraires ou humoristiques).

    Le livre se termine par un texte de chaque auteur. Le premier texte, celui du poète, explique les contraintes liées à la mise en page et à la présentation graphique des codes sources et de leurs sorties à la fois dans le livre et sur le site compagnon, puis se termine par une liste d’autres livres déjà publiés sur le sujet, en insistant sur ce en quoi le présent livre s’en démarque.

    Le second texte est écrit par le programmeur du tandem et s’intitule (si l’on interprète le graphisme d’introduction) « I love ASCII ». Il tente d’abord d’expliquer au candide (qui serait tombé par hasard sur ce livre ?) ce qu’est un langage de programmation pour l’introduire à la culture geek. Il explique par exemple la multiplicité des langages et dit :

    Les gens ont donc tendance à s’identifier à certains langages plus qu’à d’autres, ce qui entraîne un effet d’amplification. Au fur et à mesure que les gens affluent vers le langage qui leur correspond le mieux, la culture s’homogénéise. Des frontières sont tracées, des nations se développent et des drapeaux sont hissés.
    Ces factions sont connues pour se livrer à des « guerres de religion » à propos du meilleur style de programmation. La lecture des arguments est une expérience en soi, quelque part entre un débat théorique entre physiciens des particules et une dispute enfantine sur Porsche versus Ferrari.

    Le texte se termine par la déclaration d’amour au code ASCII annoncée en titre, avec des explications intéressantes sur les origines de certains caractères. Mais quand l’auteur taquine sa compagne en lui disant qu’il va se faire tatouer les quatre-vingt-quinze caractères imprimables du code ASCII, elle lui répond en substance : « Please don’t, you massive nerd! »

    Finalement, la dernière page imprimée du livre nous invite à nous mettre au travail avec la chaîne de caractères layoutyourunrest écrite en majuscules puis en minuscules. On peut traduire ça par : « exposez votre trouble ». C’est en fait la devise de la maison d’édition Broken Sleep Books (dont le fondateur est insomniaque !), spécialisé dans la poésie et basée au Pays de Galles. Alors lecteur linuxien, es-tu inspiré ? N’es-tu pas en mal de défi depuis que TapTempo a été porté dans ton langage favori ? Are you experienced?

    Le logos informatique

    Le verbe créateur est bien sûr un thème biblique. Wikipedia rappelle également que :

    Le terme « poésie » et ses dérivés « poète », « poème » viennent du grec ancien ποίησις / poíesis par le verbe ποιέω / poiéō, « faire, créer » : le poète est donc un créateur, un inventeur de formes expressives […]

    On sait bien que les écrivains créent des mondes, certains poussant même la chose à l’extrême, comme J.R.R. Tolkien qui a créé tout un monde avec sa mythologie, son histoire, sa géographie, ses créatures, ses langues, ses poèmes et chansons, etc. Mais les développeurs ne sont pas en reste. Que le logos informatique soit créateur et crée des mondes, voire le monde, pour le meilleur et pour le pire, quiconque a vécu l’évolution de notre société depuis les débuts du web pourra difficilement en douter.

    Notes diverses

    • Difficile après cette conclusion de ne pas avoir envie de réécouter Un autre monde (1984) de Téléphone. « Dansent les ombres du monde ».
    • Cette alliance de la poésie et de la technologie m’a fait aussi penser à Anne Clark, qui dans les années 80 déclamait ses textes dans un style dit « spoken word » sur fond de musique électronique new wave. Son morceau le plus connu est Our Darkness (1984), qualifié plus récemment par certains de proto-house. Elle a continué sa carrière et en 2022 a sorti un album Borderland (Found Music for a Lost World) dans un style musique de chambre. On y trouve en particulier un poème de Mary E. Coleridge (1861-1907) intitulé L’oiseau bleu récité par Anne Clark : The Bluebird. Enfin, sur son site officiel, on voit qu’en 2024 elle a prêté sa voix à des installations réalisées par l’artiste Clemens von Wedemeyer qui s’intéresse entre autres aux relations sociales, comme on peut le voir sur ces photos montrant des graphes : Social Geometry. Malheureusement, on ne l’entendra pas ; il aurait fallu aller à Berlin.
    • Cette dépêche n’est pas sans lien non plus avec Des nouvelles de Fortran n°6 où j’évoquais récemment l’utilisation du langage dans les années 60-70 pour explorer la génération automatique de poèmes.
    • On notera que comprendre la poésie moderne anglo-saxonne peut parfois être ardu, la syntaxe de la langue, déjà plutôt souple, subissant des contorsions et le vocabulaire puisant dans le vaste répertoire de la langue anglaise. Sans compter ici le mélange avec le code source qui brouille parfois la lecture (faut-il lire les mots-clés du langage ?).

    Bibliographie

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    À partir d’avant-hierFlux principal

    Unicode en version 16.0.0, le plein de hiéroglyphes égyptiens et de symboles informatiques

    27 septembre 2024 à 07:40

    Le consortium Unicode a annoncé la sortie de la version 16.0.0 de sa norme d’encodage des caractères le 10 septembre 2024. En bref, cette version voit le nombre de caractères passer de 149 813 à 154 998, soit 5 185 caractères supplémentaires. Elle ajoute sept nouvelles écritures, de nouveaux fichiers de données et quatre normes techniques Unicode sont versionnées pour être synchrones avec la norme Unicode. Elle remplace toutes les autres versions, la précédente datant de 2022.

    Quelques-uns de ces changements sont détaillés ci-après, et, évidemment, tout figure dans les notes de version (en).

    Caractères égyptiens source Unicode

    Sommaire

    Afrique

    Les hiéroglyphes égyptiens, le principal ajout en nombre de caractères

    On se souvient peut-être des réactions des égyptologues, lors de l’introduction des hiéroglyphes égyptiens dans le standard Unicode en 2009. Il ne contenait que les sept-cent signes de base répertoriés par l’égyptologue britannique Alan H. Gardiner (1879 – 1963). Le gros reproche était le faible nombre de hiéroglyphes retenus : on en connaît plus de 6 000. Unicode 16 a rajouté 3 995 caractères aux 1 654 existants déjà dans le standard. Ce qui porte à 5 649 le nombre de hiéroglyphes égyptiens du catalogue Unicode

    Les hiéroglyphes égyptiens occupent les blocs Unicode 13460 à 1355F.

    L’alphabet Garay

    L’alphabet Garay fait son entrée dans les blocs Unicode 10D40 à 10D8F.

    Cet alphabet a été créé en 1961 par El Hadji Assane Faye, qui fut, entre autres, président du mouvement des enseignants en langues africaines. L’objectif étant de retranscrire « les caractéristiques sociolinguistiques africaines ». L’alphabet Garay comporte vingt-cinq consonnes et quatorze voyelles. Il est notamment utilisé pour le wolof, langue nationale du Sénégal, de la Mauritanie et de la Gambie. Il s’écrit de droite à gauche.

    Asie

    Les écritures de langues indiennes

    Cinq écritures sont ajoutées à cette version d’Unicode. Les quatre premiers alphabets sont récents :

    • Gurung Khema ou Khema est l’une des écritures utilisées pour retranscrire le Gurung (en), une langue parlée dans le Népal, il s’écrit de gauche à droite et occupe les blocs Unicode 16100 à 1613F,
    • Kirat Rai (en), qui s’écrit de gauche à droite, est utilisé pour écrire le Bantawa, une langue parlée dans l’est de l’Himalaya et l’est du Népal, les blocs Unicode 16D40 à 16D7F lui sont réservés,
    • Ol Onal a été inventé entre 1981 et 1992 (en) par Mahendra Nath Sardar pour transcrire la langue Bhumij, une langue parlée par quelques populations de l’ouest du Bengale et des états indiens Jharkhand, Odisha et Assam. Elle s’écrit de gauche à droite et on la retrouvera dans les blocs Unicode 1E5D0 à 1E5FF,
    • Sunuwar (en), une écriture qui a été développée en 1942 par Krishna Bahadur Jentich (1926 - 1991) pour écrire la langue éponyme parlée dans le Sikkim, un État du nord de l’Inde, et au Népal, s’écrit de gauche à droite et figure dans les blocs Unicode 11BC0 à 11BFF,
    • Tulu-Tigalari ou Tilagari est une écriture plus ancienne. L’alphabet a été conçu à partir de l’alphabet Grantha, une écriture du sud de l’Inde, depuis le XIe siècle. Utilisé au départ pour le sanscrit, le Tilagari (en) sera aussi l’écriture du Tulu, une langue du sud-ouest de l’Inde à partir du XVe siècle. Il s’écrit de gauche à droite et occupe les blocs Unicode 11380 à 113FF.

    Japon

    La base de données des caractères japonais « Moji Jōhō Kiban » (文字情報基盤) a été ajoutée comme source de référence (en) aux 36 000 idéogrammes unifiés CJC (chinois, japonais, coréen). Ce qui se reflète dans les tableaux de codes de pratiquement tous les blocs d’idéogrammes unifiés CJC par des glyphes représentatifs supplémentaires dans la colonne « J ».

    Albanie

    L’alphabet Todhri (en) a été inventé par Todhri Haxhifilipi (1811 - 1869) pour écrire en langue albanaise. Composée de cinquante-deux caractères, il s’écrit de gauche à droite et semble dériver de l’écriture cursive romaine.

    Les blocs Unicode 105C0 à 105FF lui sont réservés.

    Émoji et héritage informatique

    Sept nouveaux émojis font leur entrée :

    • une tête avec des valises sous les yeux (face with bags under eyes), 1FAE9,
    • une empreinte digitale (fingerprint), 1FAC6,
    • un arbre sans feuille (leafless tree), 1FABE,
    • un radis (root végétable), 1FADC,
    • une harpe (harp), 1FA89,
    • une pelle (shovel), 1FA8F,
    • une éclaboussure (splatter), 1FADF.

    À cela s’ajoutent sept-cent symboles (en) d’environnements informatiques, blocs Unicode 1CC00 à 1CEBF (Symbols for Legacy Computing Supplement).

    Synchronisation

    Plusieurs spécifications Unicode importantes ont été mises à jour. Notamment les quatre standards UTS #10, UTS #39, UTS #46, et UTS #51. Ils sont maintenant versionnés de façon synchronisée avec le standard Unicode, leurs fichiers de données couvrant les mêmes répertoires. Ils ont tous été mis à jour en version 16.

    Spécification Champ d’application Fichiers de données
    UTS #10, Unicode Collation Algorithm (en) Tri du texte Unicode UCA data (en)
    UTS #39, Unicode Security Mechanisms (en) Réduction de l’usurpation d’identité en Unicode Security data (en)
    UTS #46, Unicode IDNA Compatibility Processing (en) Traitement des URL non-ASCII URLs IDNA data (en) et IDNA 2008 derived data (en)
    UTS #51, Unicode Emoji (en Émoji et leur comportement Emoji data (en)

    Ces modifications sont susceptibles de nécessiter des changements dans les implémentations. Les sections migrations et modifications des standards UTS #10 (en), UTS #39, (en), UTS #46 (en) et UTS #51 (en) indiquent comment y procéder.

    Montée en version vers Unicode 16

    Quels impacts pour cette montée en version, outre les modifications apportées par l’ajout de nouveaux caractères et de nouveaux systèmes d’écriture ? Ils semblent plutôt mineurs, le changement le plus notable concerne sans doute celui de l’accès aux spécifications Unicode :

    • les spécifications de base ont été complètement remaniées pour Unicode 16.0 et, converties en HTML, elles sont déployées dans un sous-site autonome,
    • plusieurs des caractères ajoutés peuvent avoir quelques implications sur certaines optimisations de la normalisation; cela ne modifie pas l’algorithme de normalisation, mais il peut y avoir des conséquences sur la dérivation et l’utilisation des propriétés Quick_Check pour l’optimisation de la détection des formes de normalisation, voir UAX #15 (en),
    • des modifications ont été apportées sur les sauts de lignes apportées au guillemet simple gauche, U+2018 et aux guillemets directionnels similaires dans les contextes spécifiques d’Asie de l’Est afin de corriger les sauts de ligne en chinois simplifié et mieux coller aux spécifications au comportement de l’ICU (International Components for Unicode, bibliothèque logicielle, à ne pas confondre avec la fédération internationale des cheerleaders), voir UAX #14 (en),
    • quelques changements ont été apportés à la spécification afin de mieux s’aligner sur les pratiques courantes et simplifier les éléments transitoires qui ne sont plus nécessaires.

    Fin

    On laissera le mot de la fin à St00e9phane Bortzmeyer1 au sujet d’un site (de 2023) codé avec les pieds et une faible connaissance d’Unicode :

    Si tu n’es pas assez fort pour lire les points de code Unicode, c’est que tu ne t’appliques pas assez de discipline.

    J’en profite pour le remercier d’avoir fait passer l’information sur la sortie d’Unicode 16 sur Mastodon, sinon je l’aurais complètement ratée.


    1. Stéphane Bortzmeyer consacre le dernier chapitre de son livre Cyberstructure (2018, C&F) à l’Unicode et raconte comment son prénom est maltraité. Ceci est ma petite contribution à sa collection personnelle. 

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    L’écriture et l’image, des âges farouches au texte électronique

    Dans cette nouvelle excursion du Transimpressux, nous voyagerons chez les Mayas de l’époque pré-colombienne ainsi que dans la Rome antique. Nous ferons un rapide tour des monastères médiévaux, nous irons rendre une courte visite à Aloys Senefelder à Munich. Nous en profiterons pour aller voir Isaac Newton, Tintin et Astérix et on terminera notre voyage à Kreutzal, en Allemagne. On n’y parlera pas de Rahan, quoique. On aura compris qu’il sera question d’image, d’écriture et de texte.

    Le bar du Transimpressux vous propose un vaste échantillon issu du pas si grand livre des recettes de LinuxFr.org. En espérant qu’à la lecture de cette dépêche vous aurez fait un beau voyage.

    Train jaune

    Sommaire

    Préambule

    Au départ, j’avais prévu de parler aussi de formats, mais, à l’arrivée, c’est déjà bien long. La question des formats fera donc l’objet d’une autre dépêche de la série.

    J’utilise indifféremment les termes de fonte, police, police de caractère ou typographie. Et, comme il sera question de périodes très éloignées dans le temps, celles antérieures à notre ère seront indiquées sous la forme AEC (avant l’ère commune).

    Quelques définitions avant de commencer

    Il est possible que certaines notions ne vous soient pas claires, ces quelques définitions vous seront peut-être utiles.

    L’écriture et l’image, des concepts différents vraiment ?

    L’écriture n’est pas de l’image, l’image n’est pas de l’écriture. Oui et non.

    L’exemple des hiéroglyphes mayas

    Le système d’écriture maya n’est pas purement logographique. D’ailleurs est-ce qu’un système d’écriture uniquement logographique ou pictographique existe vraiment ? On a vu précédemment sur LinuxFr.org concernant les systèmes d'écriture que les hiéroglyphes égyptiens et les sinogrammes n’étaient pas composés que de pictogrammes, mais qu’ils allaient de pair avec d’autres signes, notamment phonographiques. Il en va de même avec l’écriture maya qui

    est un système graphique normalisé qui, au moyen de quelques centaines de « signes-mots » (ou logogrammes) et environ 150 phonogrammes marquant des syllabes de type Consonne-Voyelle1.

    L’écriture maya est apparue, à notre connaissance vers 400 AEC et a été utilisée jusqu’au XVIIe siècle où l’envahisseur espagnol a tout fait pour l’éradiquer, y compris en brûlant des codex. Entre les Espagnols et le climat chaud et humide de la sphère d’influence maya, on ne connaît plus que trois codex mayas précolombiens2 : le codex de Dresde, celui de Paris et celui de Madrid. Un quatrième codex, le codex Grolier, conservé à Mexico est sujet à controverses, sa datation et son authenticité ne sont pas certaines. Mais on retrouve aussi l’écriture maya sur des monuments et du mobilier. On trouve également des graffitis, signe, sans doute, d’un certain niveau d’alphabétisation de la population maya. L’écriture maya devait transcrire plusieurs langues amérindiennes, lesquelles langues ont toujours des locuteurs.

    codex de Paris
    Deux pages du codex de Paris

    Pour autant qu’on sache, pour les Mayas, leur écriture tout au moins, l’image était importante. Selon Jean-Michel Hoppan :

    Cette écriture est rigoureuse et, tout à la fois, très souple. Elle n’est pas normalisée, au contraire de l’idée qu’on se fait habituellement d’une écriture. Le scribe peut privilégier l’esthétisme au détriment de la compréhension immédiate (en tout cas pour nous). C’est encore plus évident sur les céramiques, où le texte est parfois complètement inintelligible. Le glyphe est là, toujours chargé du pouvoir de l’écrit, mais le contenu de la parole n’est plus. Il devient image. Il y a une grande partie de la céramique où l’on voit de l’écriture, mais qui, de fait, est constituée de pseudoglyphes.3

    Les hiéroglyphes mayas n’ont pas de bloc Unicode, même si les chiffres y figurent depuis la version 11.0 (juin 2018). Un billet du blog du consortium (en) du 23 janvier 2020 annonçait l’existence d’une subvention « pour restituer numériquement des écritures historiques et modernes supplémentaires, y compris des hiéroglyphes mayas. ». L’idée étant aussi de faire progresser la recherche de la connaissance de l’écriture et de la culture maya sur les sites de la période 250 – 900, une étape importante pour déterminer les signes à intégrer à Unicode, et d’aboutir à la création de polices OpenType. La dernière version de la norme Unicode, 15.1.0, date du 12 septembre 2023, un peu juste pour incorporer les hiéroglyphes mayas quand on sait que la création d’une police peut prendre de quatorze à seize mois.

    Le contre exemple romain

    L’alphabet latin puise ses origines dans l’alphabet étrusque, qui, lui-même, provient du système d’écriture grecque et c’est, bien entendu, celui que nous utilisons sur LinuxFr.org (le latin, pas le grec, suivez un peu). C’est celui de l’ASCII. Il figure dans l’Unicode, évidemment, où il dispose de plusieurs blocs. Le bloc latin de base contient en fait tous les caractères et commandes de l’ASCII. Il n’a pas été modifié depuis la version 1.0.0 d’Unicode.

    D’après les écrits qui nous sont arrivés, les Romains avaient une vision très « utilitariste » de l’écriture. Pour eux (les écrits qui nous sont parvenus sur le sujet proviennent essentiellement d’hommes) :

    l’écriture est essentiellement destinée à (…) représenter [le langage]. De plus, dans sa version alphabétique, qui est à peu près la seule à laquelle pensent les Latins, l’écriture est une notation des sons, les lettres renvoient à des sons élémentaires et l’alphabet correspond terme à terme (en principe) à un inventaire fini de ces sons.4

    Il s’agissait donc pour les anciens Romains non pas de

    faire une science de la langue à travers sa représentation graphique, mais bien une science de l’écrit en tant qu’il renvoie à la langue. (Françoise Desbordes).

    Un support du langage bien imparfait d’ailleurs puisqu’il ne rend pas les effets du discours oral. Et ce facteur explique aussi que la graphie ait mis du temps à se normaliser. L’écrit étant l’image de l’oral : la langue pouvait être prononcée par des locuteurs avec des accents différents et s’écrire ainsi en fonction de la prononciation.

    Les écrits des Romains étaient variés, indépendamment des discours, naturellement et sous diverses formes : monumentales, tablettes de cire, papyrus, mais aussi graffitis que l’on pouvait retrouver sur les murs des édifices privés. Des graffitis qui étaient destinés à être lus et étaient très liés à l’oral :

    les messages interpellant parfois nommément, au vocatif, une personne – homme ou femme. Ainsi s’explique aussi l’abondance des exclamations (feliciter ! salutem !), des salutations (salve vale !) et des vœux (votum aux Lares pour la salus du maître de maison). Leur caractère performatif ne fait pas de doute.5

    graffiti
    Graffiti de Pompéi vantant les exploits sexuels du miles Floronius (CIL, IV, 8767). Wolff 2012, 19, fig. 7.

    La séparation du texte et de l’image

    Des compétences, des métiers et des techniques différentes.

    Les manuscrits médiévaux, une séparation parfois extrême

    Le travail de copie des monastères médiévaux, notamment (la profession se sécularisera à partir du XIIIe siècle), différait en fonction des lieux et des époques. Au début, le, ou les copistes, suivant en cela, semble-t-il, les traditions grecques et romaines, étaient également chargés de l’ornementation. Les copistes, parce que la copie d’un manuscrit pouvait être distribuée en plusieurs cahiers à différents copistes pour accélérer le travail de copie. La ponctuation, quant à elle, était généralement du ressort des correcteurs, quand il y en avait, pas des copistes.

    Il arrivait aussi qu’il y ait un copiste pour le texte et un pour les enluminures, surtout pour les manuscrits les plus riches. Dans ce cas, le ou la copiste écrivait la lettre à enluminer et laissait la place nécessaire, à charge pour l’enlumineur ou l’enlumineuse d’orner le parchemin. Les copies n’étant pas du ressort unique des monastères, les enlumineurs et les enlumineuses étaient souvent des peintres.

    Et parce que le travail était ainsi le fait de corps de métier différents, il subsiste des manuscrits médiévaux pas finis, avec des « blancs » pour des enluminures qui ne verront jamais le jour.

    L’imprimerie : des typographies ornementales

    Jusqu’à la fin du XVIIIe siècle, les techniques d’impression ont assez peu évolué. Il y avait des perfectionnements et des améliorations, certes, mais, les techniques restaient grosso modo celles de Gutenberg. Les illustrations étaient gravées à part, puis, après la découverte fortuite de la lithographie par Aloys Senefelder en 1796 dessinées sur la pierre, ce qui permettait aux artistes de travailler directement sur la pierre sans avoir à passer par l’intermédiaire d’un graveur. La lithographie permet en effet de dessiner le motif sur la pierre, à l’origine. Senefelder travaillera aussi sur plaque de zinc. La lithographie repose sur le principe de l’antagonisme de l’eau et de la graisse : les zones à imprimer sont traités à la graisse, les autres sont mouillées. L’encre grasse se dépose ainsi seulement sur les zones grasses.

    Si l’impression en noir et blanc pouvait se faire d’une traite, celle en couleurs, selon les exigences et les techniques utilisées, pouvait requérir jusqu’à quatorze opérations différentes, et presque autant de passages couleurs. L’offset actuel, un procédé qui dérive de la lithographie, fonctionne en quadrichromie : cyan, magenta, jaune et noir (CMJN) et autant de passages couleur.

    Les ornements plus susceptibles d’être réutilisés : lettrines, culs-de-lampe et autres fleurons, lignes et arabesques faisaient l’objet, quant à eux, de fontes ornementales spécifiques. Il y avait même des graveurs typographes spécialistes de typographie ornementale comme Joseph-Gaspard Gillé (pdf) (1766-1826). Aujourd’hui, ce genre de fonte peut se trouver, dans les blocs Unicode de systèmes d’écriture, notamment, latin. On y retrouve d’ailleurs bon nombre de ces polices ornementales purement figuratives même si leur dessin ne correspond pas à une lettre. Mais elles pourraient aussi bien figurer dans les flèches, les filets, les pavés, le bloc casseau ou encore les deux zones supplémentaires.

    Les symboles du zodiaque
    Les symboles du zodiaque de la collection de fontes de Gillé. Les symboles du zodiaque figurent dans les points de code Unicode U+2648 à 2653 (avec des dessins moins figuratifs).

    Toutes les techniques d’imprimerie continuent à exister, de façon plus ou moins anedoctique. Les deux plus répandues étant l’offset, pour les gros volumes, et l’impression numérique (laser ou jet d’encre). Cette dernière étant la seule à imprimer les couleurs d’une seule traite.

    La bande dessinée : des métiers différents

    La bande dessinée ce n’est pas un métier mais quatre métiers différents qui peuvent ou non, être assurés par la même personne :

    • le scénario,
    • le dessin,
    • la couleur,
    • et le lettrage qui nous intéresse ici.

    Le lettrage, dans la bande dessinée ce sont en fait plusieurs types d’écriture :

    le paratexte (titres, signatures, numérotation), les interventions du narrateur (récitatifs, didascalies, commentaires), toute la notation des sons (dialogues, onomatopées, bruits) – le lettrage assume ainsi une part très importante du « régime sonore » de la bande dessinée, au point que l’on appelle « muettes » les bandes dessinées qui n’en comportent pas du tout (puisque le lettrage n’est pas indispensable à la réalisation d’une bande dessinée).6

    Gotlib (les Dingodossiers, la Rubrique à brac, Super Dupont, Gai-Luron) est entré en bande dessinée par la voie du lettrage.

    L’élève Chaprot roi
    Un extrait des Dingodossiers de Gotlib, scénario de Goscinny. L’image comporte des didascalies à gauche et en haut à droite, une bulle de texte, en-dessous, du texte « sonore. »

    D’autres auront leur lettreur attitré, comme Hergé. Arsène Lemey a assuré le lettrage de ses Tintin à partir de la version allemande du Secret de la licorne, le onzième album de la série. La police de caractère créée par Arsène Lemey pour Tintin est l’Arleson, elle sera intégrée à la photocomposeuse de Casterman dans les années 1970. Pour la série Astérix ce sont les lettrages de Michel Janvier, en charge de cette tâche pour un certain nombre d’album depuis 1989, qui ont été numérisés. Trois famille principale de typographies ont ainsi été créées par Le Typophage : Regularus pour les bulles, Boldus pour l’écriture très grasse et Graphix pour les onomatopées et les symboles graphiques.

    Avoir sa propre police est actuellement assez facile en passant par des sites comme le Calligraphe qui permettent de générer une typographie à partir de son écriture manuscrite. C’est ce qu’a fait notamment heyheymomo (en) qui offre sa police en téléchargement (en).

    Qu’est-ce que le texte ?

    Au début de l’informatique, chez IBM l’unité de mesure était le mot (word). La capacité d’une machine s’évaluait donc en nombre de mots. Un mot étant, selon le manuel de l’IBM 605 constitué de « dix chiffres et d’un signe algébrique ». Ainsi l’IBM 605 avait une capacité de 1 000 à 2 000 mots. Le texte n’était pas bien loin.

    Mais, qu’est-ce que le texte ? Selon les points de vue, la notion de texte peut être très vaste. En musique par exemple, il est question de sous-texte et ça n’a rien à voir avec les paroles de chanson ou de mélodies ou le livret des opéras. Dans le cadre de cette série qui, globalement, traite de l’informatique dans le contexte historique de l’écriture, j’opte pour une définition restrictive et axée sur l’écriture et la lecture.

    Le texte est ainsi de l’écriture qui peut se lire avec les yeux, les oreilles ou les doigts et qui peut aussi être lue par des robots. C’est du texte fait pour être lu pas pour être exécuté dans le cadre d’un logiciel par exemple. Ce qui exclut le code informatique de la définition, même si c’est écrit avec des éditeurs de texte7. On doit pouvoir faire des recherches dans le texte, naviguer dedans, en extraire une partie pour la réutiliser ailleurs, etc.

    Il s’ensuit qu’une image avec de l’écriture dessus, ce n’est pas du texte. Un fichier PDF, fac-similé d’un livre imprimé n’est pas du texte. Et les versions PDF des livres numérisés que propose la BnF Gallica par exemple ne sont pas du texte. Un formulaire en PDF qui est en fait une image que l’on aura modifiée avec un outil de dessin (ou imprimé et modifié à la main puis numérisé) n’est pas du texte.

    En revanche, si, de mon point de vue, la structure d’une base de données n’est pas du texte, son contenu par contre, oui. Ainsi, au hasard, celle de LinuxFr.org, est du texte, la partie publique tout au moins. Et ce n’est pas Claude qui me contredira.

    Manchot à tables
    Un genre d’allégorie des tables de la base de données de LinuxFr.org.

    Il est d’autant plus important d’insister là-dessus qu’il se trouve encore des personnes qui ne font pas la différence entre les deux. Et ce, tout simplement parce que c’est écrit et qu’elles, elles, peuvent lire ce qui est écrit.

    Nouveau Drop Caps : une police de lettrines

    Puisque qu’il a été question plus haut de typographies purement décoratives, c’est l’occasion de vous présenter une police qui ne peut servir qu’à des lettrines ou des titres.

    La police Nouveau Drops Caps

    Nouveau Drop Caps est une fonte générée par Dieter Steffmann (en) un typographe de formation qui a créé plus de trois-cent-cinquante polices. La plupart sont plutôt plus à des fins décoratives que des polices de texte. Dans l’ensemble, ses polices peuvent être utilisées pour la langue française, elles ont les caractères qu’il faut. La position de Dieter Steffmann sur son travail est la suivante :

    je considère les polices de caractères comme un patrimoine culturel, je ne suis pas d’accord avec leur commercialisation. Les polices autrefois fabriquées à partir de caractères métalliques avaient évidemment un prix en fonction de la valeur du métal, et le coût de conception, de découpe et de moulage est convaincant, d’autant plus que l’acheteur devenait également propriétaire des polices achetées !

    Le site sur lesquelles il les dépose, 1001 fonts a, d’ailleurs, une licence (en), avec une disposition assez originale. La police

    peut être téléchargée et utilisée gratuitement pour un usage personnel et commercial, à condition que son utilisation ne soit pas raciste ou illégale. (…)

    Les fontes peuvent être librement copiées et transmises à d'autres personnes pour un usage privé mais pas être vendues ou publiées sans l’autorisation écrite des auteurs et autrices.

    Les textes et documents qui ont servi à alimenter cette dépêche

    Les références sont données à peu près dans leur ordre d’apparition dans le texte. La plupart sont accessibles en ligne, et, volontairement, il y a un minimum de références à Wikipédia. Il y a, également, le minimum possible de sources en anglais.

    L’écriture maya

    Jean-Michel Hoppan est l’un des seuls (le seul ?) spécialiste français d’un domaine de recherche (l’écriture maya) qui ne compte qu’une centaine de personnes dans le monde.

    La vision romaine de l’écriture

    • Idées romaines sur l’écriture, Françoise Desbordes, 1990, EPUB : ISBN 9782402324168, PDF : ISBN 9782402657495, marquage filigrane. La maison d’édition FeniXX qui édite ce livre est spécialisée dans la réédition des livres indisponibles du XXe siècle.
    • L’écriture en liberté : les graffitis dans la culture romaine, Michelle Corbier, extrait de Langages et communication : écrits, images, sons, Corbier Mireille et Sauron Gilles (dir.), éd. électronique, Paris, Éd. du Comité des travaux historiques et scientifiques (Actes des congrès nationaux des sociétés historiques et scientifiques), 2017.

    Les manuscrits médiévaux

    On peut se procurer ces livres au format PDF (fac-similé), en texte brut (je travaille sur une version que je compte mettre en ligne pour chacun de ces livres), les emprunter en version EPUB à la BnF si l'on a un compte, ou acheter l’EPUB. À noter que, selon les librairies, le fichier EPUB a ou non une protection numérique : ainsi, Le Furet du Nord indique qu’ils n’en ont pas, Cultura annonce une DRM LCP, et la FNAC une DRM Adobe.

    Bonus ! Si vous voulez vous rincer l’œil, l’IRTH (Institut de recherche et d’histoire des textes) a dressé une liste de sites pour accéder au manuscrit médiéval numérisé.

    L’imprimerie

    La bande dessinée

    • Lettrage, Laurent Gerbier, Cité internationale de la bande dessinée et de l’image, septembre 2017.

    Postambule

    La question des formats sera abordée dans le prochain chapitre qui est déjà bien avancé. Et ce n’est pas plus mal, finalement.

    Dans le cadre de cette série, il va me falloir traiter aussi de la question des codes (sur laquelle j’ai quelques lacunes, vos suggestions sont bienvenues). Unicode, bien que déjà pas mal abordé, mérite un chapitre à lui tout seul : histoire, composition du consortium, comment on ajoute un système d’écriture à Unicode, et quelques paragraphes sur le code lui-même (et là…). Je pense que je pourrais peut-être caser la norme ISO des écritures dans ce chapitre. Si j’ai parlé de conservation, il va falloir parler de l’archivage : protocoles, accès, ce qui me permettra d’évoquer aussi de la science ouverte, je pense.


    1. L’écriture maya](https://www.inalco.fr/lecriture-maya), Jean-Michel Hoppan, INALCO. 

    2. Les codex étaient écrits sur un papier, l’amate, fait à partir de l’écorce d’un figuier local. 

    3. Les glyphes mayas et leur déchiffrement, Jean-Michel Hoppan, 2009. 

    4. Idées romaines sur l’écriture, Françoise Desbordes & Centre national de la recherche scientifique & Anne Nicolas, 1990. 

    5. L’écriture en liberté : les graffitis dans la culture romaine, Mireille Corbier, 2014. 

    6. Lettrage, Laurent Gerbier, septembre 2017. 

    7. Je reconnais qu’il peut y avoir matière à pinaillage sur ce sujet. 

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Argos Panoptès, l’interview

    Par : Numahell
    16 mai 2024 à 07:37

    Pour Framaspace, Framasoft a fait développer un outil de supervision de sites web nommé Argos Panoptès (ou juste Argos pour aller plus vite).

    Développé par Alexis Métaireau, développeur entre autres du générateur de site statique Pelican, et de l’outil de gestion de dépenses à plusieurs « I Hate money » (repris dans l’app cospend sur Nextcloud), le besoin a été défini par Luc Didry, l’administrateur système de Framasoft.

    Luc et Alexis répondent à nos questions dans cet interview, pour plus d’information concernant Argos vous pouvez consulter l’article dédié.

    Bonjour à tous les deux :) Ici on connaît déjà Luc puisque c’est notre admin sys préféré, mais Alexis, peux-tu nous dire qui tu es pour le framablog ?

    Alexis : Bonjour, Framasoft, et merci pour la discussion ! Et bien, c’est parti pour l’exercice de la présentation alors.

    Je suis un développeur de bientôt 40 ans, intéressé par les dynamiques collectives, le logiciel libre et la protection des données personnelles, depuis quelques années maintenant. Par le passé j’ai pu publier et maintenir quelques outils comme Pelican, un générateur de sites statiques et I hate money, pour gérer les dépenses partagées. J’ai travaillé quelques années pour Mozilla sur la partie synchronisation et chiffrement des données (Firefox Sync, Kinto) et sur quelques autres outils.

    J’ai quitté le développement « pro » entre 2018 et 2023. Durant ces années j’ai eu la chance / le privilège de pouvoir monter une brasserie sur Rennes avec un ami. Nous avons essayé de faire vivre les valeurs de la collaboration (plutôt que celles de la compétition). Cela est resté très proche des valeurs du logiciel libre, nos recettes et les plans de nos machines étant par exemple publiés sur notre site web.

    À l’été 2023 j’ai décidé de quitter la brasserie pour à la fois refaire du développement et travailler sur les outils de la prise de décision collective, et la gestion des conflits dans les collectifs. C’est à ce moment que nous sommes rentrés en contact avec Luc pour travailler sur Argos.

    Pouvez-vous nous présenter l’outil Argos sur lequel vous avez travaillé ? À quel besoin répond-il pour Framaspace ?

    Alexis : Argos est un outil de supervision de sites web. L’idée est assez simple : surveiller que les sites vont bien, et générer des alertes quand c’est utile, en envoyant des notifications par email ou autre.

    La spécificité d’Argos est de pouvoir gérer un nombre de sites important. Framaspace, en grossissant, expose pas loin de 900 domaines au public, qui parfois tombent en panne. Je crois que le réel besoin derrière Argos était de simplifier la vie de Luc (vous saviez qu’il n’y avait qu’un seul adminsys chez Framasoft ? ! !) et de lui permettre d’avoir une meilleure vision globale de l’état du service.

    Les vérifications concernent les statuts du site web, mais aussi l’état des certificats SSL, par exemple, et quelques vérifications spécifiques.

    Luc : On surveillait déjà plus de 200 sites via notre outil de supervision (Shinken), mais celui-ci, avec toutes les autres sondes de supervision de notre infrastructure, avait bien de la peine à repasser toutes les 5 minutes sur les sites. Ce qui faisait qu’on pouvait se rendre compte qu’un site était tombé au bout de trop de temps.

    Avec Framaspace, je savais que j’aurai des centaines (et à terme des milliers) de sites à surveiller en plus, sachant qu’un site est la cible de plusieurs vérifications, comme dit par Alexis. Il fallait donc un outil dédié.

    Les outils existants comme statping-ng ou Uptime Kuma présentent un défaut rédhibitoire : vouloir afficher l’état de chaque site en même temps sur l’interface web. Ça va bien quand on a quelques sites, pas quand on en a des centaines (l’outil peine à envoyer les données de centaines de sites).

    C’est de là qu’est née l’idée d’Argos, qui a le bon goût de n’afficher qu’un résumé de l’état des sites par défaut.

     

    4 blocs avec des statuts (inconnu, ok, avertissement, erreur) et pour chacun, un nombre correspondant.

    Capture d’écran de la page de statut d’Argos

     

    Si on regarde de plus près les coutures, on voit que c’est développé en langage Python avec une base de données en PostgreSQL. Laissez-moi deviner : Alexis a choisi Python et Luc a choisi PostgreSQL ?

    Alexis : Ah, je vois que tu nous connais un peu, mais figure toi que même pas ! J’aurais aimé plaider coupable pour le coup, mais Luc cherchait spécifiquement quelqu’un qui savait faire du Python, et c’est comme ça qu’on s’est rencontré. J’ai proposé d’utiliser le framework FastAPI à la place de Flask parce que ça nous permettait de faire de l’asynchrone de manière plus simple, et d’utiliser les fonctionnalités de typage de Python.

    Luc : Pour Framaspace, j’ai été plus ou moins obligé de faire du Python car Salt, l’orchestrateur utilisé pour déployer les espaces est en Python : je pouvais, en utilisant ce langage, l’utiliser comme une bibliothèque, sans utiliser de bidouilles sales.

    Comme Argos a été créé dans le cadre de Framaspace, j’ai voulu garder le même langage de programmation, pour avoir un tout cohérent.

    Python n’est pas un langage si pire que ça. Il n’est pas amusant, mais ça fait le job. Peut-être aussi que je vieillis : j’utilise de plus en plus Python pour des scripts. Peut-être qu’écrire des scripts ne m’amuse plus, et que je veux les écrire vite pour passer à autre chose.

    Mème the Rock qui conduit - Et ton machin va être en Perl, comme d'hab - Non j'ai choisi Python cette fois The rock se retourne, interloqué

    La question habituelle de libriste : pourquoi avez-vous choisi de développer un outil dédié, il n’existait pas d’outils libres pour de la supervision ? Quelles sont ses spécificités ?

    Alexis : Je te laisse répondre Luc, c’est toi qui a affiné le besoin :-)

    Luc : Ah bah zut, j’ai déjà répondu au-dessus 😅

    L’avantage d’avoir notre propre outil nous permet aussi de le tordre pour nos besoins spécifiques. Ainsi Argos envoie-t-il des notifications à notre serveur Gotify. Intégrer un tel canal de communication dans un outil existant aurait pu prendre du temps (comprendre le code, faire une PR, attendre une release…).

    En lisant la doc, ça a l’air tout simple à utiliser par rapport à d’autres outils ! ! Comme administrateur⋅ice système du dimanche après-midi, si je veux surveiller l’état de mes sites, est-ce qu’il y a des pièges ou des choses à savoir ?

    Alexis : Je pense que ça pourrait tout à fait permettre de surveiller l’état de quelques sites, bien que peut-être surdimensionné. Argos a besoin de lancer un serveur, une base de données et des agents. Est-ce bien utile pour un⋅e adminSys du dimanche ? Peut-être !

    Luc : Franchement, je pense qu’il peut être utilisé aussi bien par une grosse organisation que par un·e adminSys du dimanche. La configuration est simple, l’installation pas très compliquée, et il n’a pas l’air de consommer beaucoup de ressources.

    Alexis tu étais en mode prestation pour développer, comment s’est passée la relation avec Framasoft ?

    Alexis : Franchement, c’était une surprise totale, et un plaisir du début à la fin. On a d’abord pu se faire quelques appels avec Luc pour clarifier les besoins, je me suis retrouvé avec une liste de fonctionnalités de base, et j’ai avancé comme ça.

    Quand j’avais besoin j’ai pu échanger avec Luc qui était toujours assez réactif, et j’ai pu lever quelques blocages. J’ai beaucoup apprécié répondre à un besoin concret, en ayant l’utilisateur final au bout du fil pour clarifier les choses.

    Par la suite, on a pu se faire quelques sessions ensemble, à la fois de présentation de l’outil, puis de pair-programming pour accompagner Luc sur certains aspects quand c’était utile, l’idée étant que ce soit lui qui prenne la main sur le projet.

    C’était en fait ma première mission en tant que « prestataire », je crois que je suis très bien tombé !

    Luc : Pareil de mon côté, c’était très agréable de bosser avec toi !

    Est-ce que vous pensez que ça peut être utilisé dans d’autres contextes que Framaspace ?

    Alexis : je pense que ça peut être utilisé dans d’autres contextes bien sûr. Je pense aux « fermes de sites », comme par exemple ce que peut faire NoBlogs en Allemagne, mais de manière générale c’est utile d’avoir un outil simple d’accès pour faire de la supervision. Bosser là-dessus m’a donné envie de permettre de faire de la supervision « en tant que service », pour des collectifs pour qui ce serait utile, mais… j’imagine que c’est une autre histoire.

    Luc : Carrément ! Pas seulement pour des fermes de sites mais partout où on a besoin d’une supervision qui passe très régulièrement. On peut avoir des vérifications effectuées toutes les minutes, ce qui peut être utile sur des sites qui ne doivent pas tomber. Et un grand nombre de sites ne devrait pas faire peur à Argos : on peut multiplier le nombre d’agents (le logiciel qui s’occupe d’effectuer les vérifications et d’en remonter le résultat au serveur), et le choix de PostgreSQL comme base de données a (aussi) été fait parce que c’est un SGBD robuste qui peut encaisser de la charge de travail.

    Et est-ce que vous imaginez une suite, avec une feuille de route ou des invitations à contribuer ?

    Luc : Il y a déjà des idées de développements futurs pour améliorer Argos, mais ça n’est pas urgent : la première version est déjà tout à fait fonctionnelle.

    Alexis : J’aime bien l’idée de ne pas avoir de feuille de route trop précise pour le futur, ce qui nous permet de se concentrer sur des besoins réels et de ne pas en faire une usine à gaz. Si vous l’utilisez et que vous avez des retours à faire, ou bien si vous souhaitez contribuer, n’hésitez pas. C’est pensé pour être simple à étendre, donc n’hésitez pas à jeter un œil et à proposer des changements.

    Si vous avez encore des choses à dire :)

    Alexis : Coucou Numahell, chouette de te recroiser par ici après ces quelques années :-)

    Luc : Merci à toi, Alexis, pour le temps bénévole que tu as consacré à Argos après ta prestation !

    Pour aller plus loin

    Argos Panoptès : la supervision de sites web simple et efficace

    Par : Luc
    16 mai 2024 à 07:37

    Un nouvel outil de supervision de sites web vient de sortir de la forge de Framasoft, tout beau, tout neuf, tout simple. Mais pourquoi ? On vous explique tout !

    Le problème

    Chez Framasoft, nous avons beaucoup de sites web. Vous connaissez les adresses de nos services, https://framacarte.org pour Framacarte, https://framapad.org pour les pads, etc.

    Mais il y en a bien plus sous le manteau : nos outils associatifs (un Nextcloud, un Odoo, des wikis…), les versions de test des services (soit pour tester un nouvel outil, soit pour vérifier que la mise à jour se passera bien…), les sites des amis qu’on héberge (coucou Grisebouille, Affordance et les autres 👋), etc.

    Comme je (nda : Luc) suis quelqu’un de plutôt méticuleux, tous nos sites sont supervisés, c’est-à-dire que nous avons un système qui vérifie périodiquement qu’ils fonctionnent bien, de façon à détecter rapidement un souci et le résoudre au plus vite.

    Jusque là, nous utilisions Shinken pour toute notre supervision : aussi bien celle des sites web que celle des serveurs. Mais nous commencions à nous heurter à différents problèmes :

    • Shinken est en Python 2, une version totalement obsolète de Python, ce qui n’augure pas bien de la pérennité de l’outil (il est question d’une version en Python 3, mais qui se fait largement attendre)
    • nous avons trop de sondes (c-à-d de choses à superviser) pour que la vérification des sites se fasse suffisamment régulièrement à mon goût (je veux des tests toutes les 5 minutes, pas tous les quarts d’heure)

    Nous devons migrer vers une autre solution de supervision, mais pour ça, il faut du temps que nous n’avons pas. Et Shinken fonctionne toujours, donc ce n’est pas une chose que je juge urgente.

    Cependant, avec l’ouverture de Framaspace, le nombre de sites à surveiller allait nécessairement exploser (plus de 1 000 espaces à l’heure actuelle).

    Il nous fallait donc une solution de supervision pour les sites pour éviter d’augmenter les problèmes de délai entre chaque vérification de site.

    Anakin : « J’ai besoin d’un logiciel de supervision ». Padme, tout sourire : « Donc tu vas en prendre un qui existe ? ». Anakin ne dit rien et la regarde avec un rictus. Padme, inquiète : « Tu vas en prendre un qui existe, hein ? »

    Une devise du monde Unix est « Un outil qui fait une chose et qui le fait bien ». Suivant cela, j’ai cherché des outils de supervision de sites web et de rien d’autre. J’ai trouvé statping-ng et Uptime Kuma.

    Malgré leurs qualités, ces solutions souffrent du même problème : l’affichage sur la page d’accueil des résultats de toutes les sondes, avec l’historique des résultats sous forme d’une petite frise chronologique. Avec quelques sites à superviser, pas de souci. Avec plus de 100 sites, soit c’est l’affichage qui ne fonctionne plus, soit c’est le service lui-même qui peine… très fort !

    Il nous fallait donc créer nous-même notre outil de supervision !

    La solution

    Comme la plupart des développeurs, j’ai commencé par le plus important : trouver un nom à notre logiciel ! 😅

    Pour rester dans la thématique de la mythologie grecque des développements faits pour Framaspace, j’ai cherché sur le web et suis tombé sur Argos Panoptès, géant aux cent yeux, dont l’épithète Panoptès signifie « celui qui voit tout » (on se contentera de l’appeler « Argos » dans cet article)

    La deuxième chose la plus importante dans le développement est… le temps disponible. Et nous n’en disposions pas. C’est pourquoi nous avons pris un prestataire, Alexis Métaireau, développeur entre autres du générateur de site statique Pelican, et de l’outil de gestion de dépenses à plusieurs I Hate money (repris dans l’app cospend sur Nextcloud), pour poser les bases d’Argos, en suivant notre cahier des charges.

    Pour voir comment s’est passée notre collaboration, je vous renvoie à l’interview croisée d’Alexis et de votre serviteur.

    La simplicité

    Argos devait être simple pour être efficace. L’écran d’accueil est donc dépouillé du superflu et n’indique que le nombre de sites surveillés regroupés par état (inconnu, OK, attention, critique).

    Capture d’écran de la page de statut d’Argos

    Les mêmes informations sont aussi disponibles en JSON via un point d’API. À vous d’en faire ce que vous voulez, comme par exemple afficher une notification sur votre bureau si tout n’est pas au vert, déclencher un son… voire intégrer le résultat d’Argos dans votre solution de supervision pour tout avoir au même endroit ! L’API est auto-documentée sur le logiciel (la documentation est accessible depuis l’interface d’Argos).

    La simplicité d’Argos réside aussi dans son mode d’installation : un simple pip install argos-monitoring aussi bien pour le serveur central que pour l’agent, une création d’une base de données PostgreSQL, un fichier de configuration en YAML et c’est tout. Avec ça, on a tout ce qu’il faut pour faire tourner le service.

    La robustesse

    Un mot : PostgreSQL. J’ai toute confiance en PostgreSQL pour encaisser une forte charge comme pourrait lui envoyer Argos.

    Quelqu’un susurre « PostgreSQL » à l’oreille d’une autre personne, on voit un bras couvert de chair de poule

    Plus concrètement, nous sommes passés de ±300 vérifications avant Framaspace à près de 2 000 en surveillant les espaces créés et Argos ne bronche pas.

    Cela fait plusieurs mois maintenant que nous utilisons Argos en conditions réelles et passé la phase de débogage, ça se passe parfaitement bien 🥰

    L’évolutivité

    Vous ajoutez plein de sites et l’agent qui s’occupe de faire les vérifications et de les envoyer au serveur central ne suffit plus ? On peut ajouter autant d’agents supplémentaires que nécessaire en quelques minutes.

    Vous voulez créer une nouvelle manière de vérifier que votre site fonctionne bien ? Le site de documentation est riche d’informations pour les développeur·euses et vous tend les bras 🙂

    Les moyens de notifications actuels (mail et Gotify à l’heure de l’écriture de cet article) ne vous conviennent pas ? Le code, en Python, est très propre et il est très simple d’ajouter… à peu près n’importe quel moyen de communication, d’un webhook Mattermost à un SMS via une plate-forme quelconque.

    Conclusion

    Nous avons maintenant une solution de supervision spécialisée simple et efficace, flexible de par la simplicité de son code et qui nous donne déjà entière satisfaction.

    Moins de fonctionnalités, moins de code. Moins de code, plus facile à modifier. Plus facile à modifier, plus facile à modifier.

    Si Argos est déjà pleinement fonctionnel, il ne tient qu’à nous (et à la communauté !) de l’améliorer. Il y a déjà quelques tickets, majoritairement pour améliorer la documentation, mais pas que.

    Est-ce qu’Argos Panoptès sera adopté par les administrateurices systèmes, du dimanche ou pas ? On verra bien !

    Liens

    Pour celleux qui se demandent pourquoi une queue de paon en image d’illustration de cet article : la déesse Héra a préservé, sur une queue de paon, les cent yeux d’Argos Panoptès après sa mort.

    CLIC : Un projet pour des apprentissages numériques plus interactifs

    23 mars 2023 à 12:02

    La proposition de CLIC est de s’auto-héberger (de faire fonctionner des services web libres sur son propre matériel) et de disposer de ses contenus et données localement, et/ou sur le grand Internet avec un système technique pré-configuré. Le dispositif s’adresse plutôt à des militant⋅es, des chercheur⋅euses, des formateur⋅ices… amené⋅es à se rendre sur le terrain, où la connexion Internet n’est pas toujours stable, voire est inexistante.

    Note grammaticale : nous n’avons pas réussi à trancher entre « le CLIC » ou « la CLIC » pour le nom du dispositif, alors en attendant de décider, nous alternons entre les deux tout au long de l’article.

    Depuis décembre 2022, un an après une première rencontre, la clique du projet CLIC s’est retrouvée deux fois :

    1. à Paris au CICP et en ligne pour une nouvelle session de travail et d’échange avec des chercheur⋅ses de l’IRD.
    2. à Montpellier au Mas Cobado dans une ambiance de fablab éphémère

    À la fin de la session de novembre 2021, l’objectif pour 2022 était d’avoir testé le dispositif dans plusieurs contextes. Des CLICs ont ainsi été mis en place pour les labs d’innovation pédagogique, et pour les territoires d’expérimentation Colibris, des contenus accessibles hors ligne ont été ajoutés avec kiwix.

    Une difficulté s’est cependant vite posée, liée à l’état de développement du dispositif : l’installation nécessitait alors un accompagnement humain qui manquait une fois de retour sur le terrain, si la CLIC ne fonctionnait plus. Pour les CLICs livré⋅es clé en main, la maintenance et parfois l’usage lui-même étaient donc dépendants des humain⋅es de la clique. Enfin, la pénurie de nano-ordinateurs comme les Raspberry Pi a empêché de s’approvisionner en matériel à déployer. Le projet a donc peu avancé, mais l’intérêt est resté présent.

    Premiers retours d’usage

    Une priorité pour les retrouvailles de décembre 2022 a donc été d’identifier la cause des problèmes surgissant à l’installation d’une part, et de rédiger un tutoriel pour accompagner l’installation pour les personnes souhaitant plonger dans le projet d’autre part.

    Des premiers retours d’usages des chercheur⋅ses de l’IRD ont permis de soulever plusieurs questions :

    • celle de l’usage d’un logiciel d’enquête non-libre en lien avec un CLIC,
    • celle de la récupération de sauvegarde de ce qui a été travaillé localement en vue de le publier en ligne,
    • celle de la compatibilité avec différentes bases de données.

    Sur la question de l’usage de solutions techniques non-libres, le projet CLIC s’appuyant sur YunoHost, rapidement la réponse a été qu’on ne chercherait pas de compatibilité avec de telles solutions, préservant nos ressources pour la recherche sur des solutions libres.

    Concernant la récupération « facile » des sauvegardes, la réponse reste à être identifiée et implémentée, car il n’y a pour le moment pas de solution clé en main le permettant, autre que l’outil de sauvegarde intégré à YunoHost. Si l’utilisateur⋅ice peut se passer d’une aide graphique, le transfert vers une autre CLIC ou vers un YesWiki devrait pouvoir se faire sans trop de difficultés.

    Pour la compatibilité avec les bases de données, plusieurs sont supportées par le projet CLIC : MariaDB (ou MySQL), PostGreSQL. Pour des solutions personnalisées (par exemple à partir d’openHDS), des installations supplémentaires sont à envisager, mais pas impossibles.

    Un ordinateur portable et un téléphone posés sur un bureau encombré de matériel informatique. L'écran du téléphone affiche la page d'installation d'une CLIC, celui de l'ordinateur affiche une illustration pour le portail de services en cours de modification sur Inkscape.

    En un CLIC, une installation simplifiée et ergonomique.

     

    Les discussions tout au long de 2022 ont mis en évidence un intérêt pour plusieurs cas d’usage :

    • pour un usage pédagogique en classe, en formation (apprendre à administrer un serveur, se former à l’utilisation de logiciels…),
    • pour réaliser un travail de terrain en Sciences Humaines et Sociales (anthropologie, démographie, linguistique, etc.) sans connexion,
    • pour s’affranchir du recours à la 4G en cas de connexion Internet défaillante ou restreinte (réseaux d’université par exemple),
    • pour mettre à disposition des contenus (supports pédagogiques, informations utiles dans un contexte précis, partages au sein d’une communauté…).

    Si vous vous retrouvez dans ces cas, ou que vous en identifiez d’autres et que vous souhaitez participer aux tests du prototype du CLIC, contactez-nous sur contact AT projetclic.cc. Nous pouvons vous accompagner dans les premières étapes, et vos retours seront très utiles pour avancer ce projet.

    Vous pouvez aussi regarder par vous-même, auquel cas vous aurez besoin :

    Des améliorations logicielles et matérielles

    Après ces deux rencontres, on compte cinq grosses améliorations :

    • Un site a été créé pour le projet pour y retrouver actus, communauté, images à télécharger et tutoriels : https://projetclic.cc.
    • Le hotspot wifi affiche une popup permettant de retrouver le portail sans connaitre son adresse url d’avance,
    • L’installateur permet de choisir les applications qu’on veut utiliser parmi une sélection,
    • Le portail de sélection de service a été travaillé graphiquement et une démo est disponible,
    • Des images sont mises à disposition pour les modèle de nano-ordinateurs Odroid en plus des RaspberryPi.
    Capture d'écran d'une page web avec un message de bienvenue présentant le projet puis plusieurs images dans une rubrique "coopérer". Elles représentent deux personnes habillées en rouge ou en jaune, en action autour de différents tableaux thématiques : prendre des notes à plusieurs, partager des documents, organiser des idées, etc.

    Le portail de sélection des services a été travaillé graphiquement.

     

    Les améliorations matérielles ne sont pas en reste :

    • Design et impressions 3D de boîtiers pour nano-ordinateur Odroid
    Deux boîtiers imprimés en 3D, un rouge et un bleu, indiquant le nom et l'url du projet CLIC.

    Des boîtiers pour nano-ordinateurs Odroid.

    • Travail sur la Chatravane avec des ateliers pédagogiques sur la consommation énergétique en autonomie avec des panneaux solaires.
    Deux malettes posées l'une devant l'autre. Celle de derrière est noire striée de blanc. Celle de devant est vitrée et laisse voir batterie et câbles.

    La chatravane, un prototype de serveur nomade alimenté par des panneaux solaires.

     

    Pour la suite, il est prévu :

    • De continuer de travailler sur le système et son installation, notamment pour s’approcher au maximum d’une installation « en un clic ».
    • D’ajouter une facilitation graphique au tutoriel, pour aider à la compréhension du fonctionnement d’une CLIC.
    • De continuer les tests sur le terrain (et adapter la documentation en fonction des observations).
    • De prévoir un hackathon axé sur le design et la communication.

    Le projet CLIC avance doucement mais sûrement, grâce à du temps de travail bénévole et rémunéré (ritimo, Mouvement Colibris, YunoHost) et au soutien de Framasoft.

    Nos prochaines retrouvailles seront aux Journées du Logicel Libre (JDLL) les 1er et 2 avril 2023, où vous nous retrouverez en déambulation et de manière plus posée, au stand de nos ami·es de YunoHost.

    Crédit photos : 12b Fabrice Bellamy et Mathieu Wostyn
    Crédit vidéo : Mouvement Colibris
    Licence CC BY SA

    ❌
    ❌