orgmode-to-gemini-blog/sources/dragonfeu_blog/lang_fr/20250223175621__rétrospective-de-blogs.org
2025-02-23 19:12:15 +01:00

11 KiB

Rétrospective de blogs

Rétrospective de blogs

Au début, j'avais un blog sur papier dans mon agenda de lycée où je dessinais ce qui m'arrivait avec les camaradz de l'époque, ce qui m'a bien occupé pendant 4 ans. C'était le média social très low tech en papier de l'époque. En y repensant, mes premiers journaux de bord sur papier datent de bien avant cela, autour de 1995 quand je me suis régulièrement mis à écrire sur tout et rien juste pour le plaisir de l'écriture.

Puis je découvre les forums de dessins en ligne à l'aide d'un ami qui s'amuse à bidouiller des mods de jeu comme American Mc Gee's Alice sur ordinateur.

Au lycée je bricole un site personnel pour montrer mes dessins en html et css, en dupliquant plein de choses d'une page à l'autre, ce qui rend l'évolution pas super simple, le tout hébergé chez Lycos. Je ne fais pas de backup de ce site et expérimentera les déconvenues d'un crash d'ordi bien plus tard, ainsi que la découverte qu'il est tout à fait possible qu'une grosse boîte comme Lycos puisse tout à fait supprimer ses hébergements web sans prévenir, et disparaître du jour au lendemain sans possibilité de recours. Pareil pour Photobucket où j'avais placé des dessins et des photos retouchées.

En 2003, un copain, Monoceros, me propose d'installer un blog dotclear sur mon espace free, ce qui me convient pendant pas mal de temps. Puis souhaitant bénéficier de thèmes un peu plus jolis dans un catalogue bien plus fourni de thèmes et de plugins, je convertis mon blog Dotclear en blog Wordpress, toujours hébergé chez free.

Une copine pas du tout ingénieure, Puchi-ko, mais aimant la musique Japonaise me montre comment me servir des flux RSS des sites qu'elle lit en utilisant Firefox, c'est une super fonctionnalité dont je découvre les nombreux avantages. J'adopte peu de temps après Thunderbird pour y mettre les flux RSS principalement de sites de dessin. De nos jours, Firefox ne propose plus cette fonctionnalité et peu de sites web proposent un flux RSS.

J'incite les gens que je connais et fréquente en festival manga / fanzine / dessin en ligne à avoir leur site personnel pour présenter leurs dessins, commençant à comprendre que dépendre d'acteurs qui n'en ont rien à faire de ce que l'on place chez eux est un risque important. Je participe à un évènement de l'école d'ingé d'Every où le thème est "les blogs" avec d'autres gens qui le pratiquent depuis un bon bout de temps, genre Korben, Sauvane, etc.

J'avais développé un script de migration des billets en base de données pour aller vers Wordpress. Je constate aussi que le temps avançant, de plus en plus d'artistes qui avaient ouvert un blog sur une plateforme comme Livejournal, overblog ou d'autres endroits exotiques disposant de flux RSS ne mettent plus leurs oeuvres en ligne (sauf Loish <3 https://blog.loish.net )

Les gens se rendent de plus en plus captifs de plateformes privatrices sans flux RSS qui cachent à ses abonnés ce que l'on poste selon son bon vouloir, tout en requérant aux visiteurs d'avoir un compte pour accéder à ce qui est publié. Je commence mon plan pour sortir de Facebook et Google et envisage des exports de mes données, tout en incitant d'autres à faire de même et à toujours alimenter une adresse personnelle et me mets à héberger mon instance Mastodon et à suivre des artistes dessus.

Mes flux RSS d'artistes suivis deviennent de plus en plus morts, ayant migré deux ou trois fois de nom de domaine aussi pour mes blogs je fais en sorte d'indiquer régulièrement la nouvelle adresse et d'avoir les contenus qui fonctionnent à coup de rechercher et remplacer les liens en base de données dans mes sites. Ce n'est pas très compliqué et ça marche assez bien, le plus relou étant le changement de chemin vers les articles, le chemin du slug d'article.

Inspiration wiki personnel

Ayant adopté Zettlr pour faire un wiki perso et exporter tous les trucs que j'avais écrit dans des blogs avec base de donnée mysql, je fais une moulinette pour exporter mes écrits en Markdown. Un kamaradz libriste me vante les mérites d'Emacs et je m'y essaie. Je lis des gens qui aiment particulièrement le format Org, et convertis mes écrits de Markdown à Org pour me faire un wiki personnel. Emacs étant un bon outil pour se forger ses propres raccourcis clavier c'était bien pratique. J'ai donc mon wiki dans un format Orgmode en réunissant plein de fichiers dont je peux voir une représentation en graphe orienté avec org-roam-ui, ça me permet de préparer des articles et de relier des idées ensemble, sans que mes blogs exposent l'intégralité de mes pages de wiki.

Je suis étonné de voir que l'ensemble de mes écrits en ligne (blogs, site perso, médias sociaux et forums) tient sur un espace disque très restreint: 33Mo. Mes dessins avec leurs versions de travail intermédiaires, tiennent quant à eux sur une cinquantaine de Go. Ce qui aurait tenu sur le disque dur de mon premier ordi perso acheté en 2003 avec l'aide de mon frère, le disque était alors un disque IDE de 80Go.

Constatant qu'il y a un temps non négligeable entre mes écrits et leurs publication sur mes blogs wordpress, j'envisage de faire quelque chose pour relier plus directement l'écrit à la publication.

Puis lisant du Ploum qui évoque la version finale de son blog parce qu'il en a gros des évolutions bancales et des trucs relou des CMS qui deviennent des monstres, je m'intéresse à la gestion de blog statique et aux capsules gemini.

https://ploum.net/2022-12-04-fin-du-blog-et-derniere-version.html

S'inspirer des meilleurs

Je regarde comment fonctionnent deux ou trois outils de génération de blog statique, en tentant d'y reporter quelques uns de mes contenus: Pelican, Hugo, Offpunk, LazyBlorg, Zola… certains sont affreusement complexes pour comprendre les infos nécessaires à leur utilisation, d'autres beaucoup moins.

J'examine les fonctionnalités minimales dont j'ai besoin, et quel est l'effort à faire en développement pour adapter un outil existant ou partir vers une solution maison en quelques scripts. Je veux pouvoir réutiliser mes articles Org en devinant la date de leur publication, leur titre et leur contenu.

Je constate que pour réutiliser des choses existantes il faut forcément bidouiller sur le contenu des articles, ne serait-ce que pour que le moteur de blog détecte les dates des articles, car la date de création ou de modification de mes fichiers org ne reflète pas du tout cela. Heureusement c'est une bidouille assez simple à faire.

Quelques objectifs pour mon moteur de blog:

J'opte pour un petit ensemble d'outils qui me permettent de générer à partir de documents org:

  • plusieurs sites, dont les contenus sont séparés dans un dossier
  • un flux RSS/Atom par site
  • un thème de base en quelques lignes de scss, différent pour chaque site si on veut
  • avec des posts dans plusieurs langues
  • des tags naviguables qui permettent de lister les autres articles ayant ce tag
  • des tags auto détectés à partir d'un vocabulaire contrôlé, spécifique à chaque blog
  • une gestion simple des chemins vers les articles avec un préfixe d'année et des slugs
  • pas besoin de section commentaires ou de plugins, les gens peuvent m'écrire par email à contact+blog@cipherbliss.com
  • les templates html permettent une réutilisation de style pour les thèmes de wordpress
  • une configuration de contenu paramétrable pour chacun des sites, titre, description, tags de base, signature, infos de soutien financier, etc.
  • un index qui présente en entier quelques articles puis liste les suivants avec des liens au lieu de faire une infinité de pages
  • pas de moteur de recherche interne, on utilise un lien vers un moteur externe
  • une mise à disposition de l'intégralité des articles sur une forge logicielle qui cause le Git, ici

https://forge.chapril.org/tykayn/orgmode-to-gemini-blog

  • une automatisation de la gestion des nouvelles images
  • pas d'administration à plusieurs, bien que c'est tout à fait faisable en partageant un dossier et en ajoutant chacun ses articles avec la gestion de version git.
  • un outil en ligne de commande pour simplifier la création de nouvel article avec les quelques infos nécessaires à tout article: titre, date, texte.

Faire de la publication programmée à une heure donnée? Ce serait faisable mais finalement je n'y tiens pas particulièremment.

Les quelques bibliothèques pour faire ce blog dynamique: git, python, pypandoc, argparse, SASS.

Avec un peu de bash, pandoc et quelques scripts python je parviens à générer en une trentaine de secondes des pages html à partir d'un milier d'articles. En utilisant pypandoc au lieu de pandoc je réduis ce temps de conversion à moins de 2 secondes. En faisant quelques autres vérifications pour ne régénérer que les articles qui ont été modifiés depuis la dernière génération, comme le font d'autres moteurs de blog, je réduis encore ce temps.

La mise à jour des blogs est super simple, un git pull, une génération de blog, et une copie vers les dossiers hébergés. Le tout peut se faire dans un cronjob qui lance un simple script qui ne fera des changements que si il y a du neuf.

Voici les sources du dépot, qui contiennent donc tous mes écrits en ligne sous licence libre CC-BY-SA et en AGPLv3+ pour les scripts:

https://forge.chapril.org/tykayn/orgmode-to-gemini-blog

Pour le fun, ce blog de cipherbliss contient 274 articles, 140 000 mots, qui se lisent en 10h34min si vous lisez à la vitesse moyenne de 220 mots minutes comme beaucoup d'adultes.

Bons essais à vous si vous souhaitez adopter ce moteur de blog statique, il vous suffira de commencer à lancer une commande et à mettre dedans des anciens fichiers org (dans le dossier `sources/mon_blog`), ou à en créer un nouveau avec une commande sur `new_article.py`.

  git clone https://forge.chapril.org/tykayn/orgmode-to-gemini-blog

  cd orgmode-to-gemini-blog

  py new_article.py # ceci vous demandera le nom du dossier de blog, la langue, et le titre de l'article
  #

Vous pouvez maintenant modifier votre nouvel article avec votre éditeur de texte préféré. Et zou pour convertir votre blog en site statique:

  bash converters mon_blog

Ce qui génère un site html statique et une capsule gemini dans les dossiers de destination: html_websites/mon_blog et capsules-gemini/mon_blog

Lisez le readme pour d'avantage de personnalisation. Havez fun!