le 07/03/2022 par Théo

Outil de blog

Le choix d’un outil est crucial, quel qu’en soit l’usage. Il impacte le présent et surtout le futur. Il s’agit donc de déterminer les besoins puis d’analyser et comparer les différentes solutions afin de sélectionner celle qui est la plus adaptée. Il faut également penser à la maintenance et aux possibles évolutions.

C’est cette réflexion qui a été menée pour choisir l’outil permettant la réalisation de ce blog.

Les besoins

Nous souhaitions avoir un blog à l’image du Filament en privilégiant l’expérience utilisateur et une démarche d’éco-conception. Il devait donc être simple, léger et facile à lire. Il devait également respecter la vie privée et les choix des lecteurs. Un espace de commentaire permettrait de s’exprimer sur chaque article. Aussi, un flux RSS et Atom avertirait de la publication de nouveau contenu.

De notre côte, nous voulions rédiger les articles de manière simple, avec seulement un éditeur de texte. Étant donné qu’il s’agit d’un blog d’entreprise, le contenu devait pouvoir être revu et approuvé par les salariés. Enfin, pour réduire les actions à effectuer, le système devait être automatisable au maximum.

Les solutions

Écriture

Partant de cela, nous avons choisi le langage de balisage Markdown pour sa simplicité et sa popularité. De plus, nous l’utilisons déjà notamment pour nos contributions Git. Il est en effet largement usité par de nombreux sites et applications ce qui assure une utilisation pérenne.

Générateur de pages statiques

Un site statique permet de réaliser les besoins de simplicité et d’éco-conception. Ainsi plusieurs outils supportant le Markdown ont été comparés. Il s’agissait de :

  • Bridgetown (Ruby)
  • Jekyll (Ruby)
  • Middleman (Ruby)
  • eleventy (JavaScript)
  • Metalsmith (JavaScript)
  • blades (Rust)
  • Hugo (Go)

Permettant tous de convenablement générer un site statique à partir de fichiers écrits en Markdown et préférant grandement les programmes compilés, blades et Hugo ont été sélectionnés et davantage étudiés.

Bien que Rust soit, à mon avis (Théo), le meilleur langage de programmation de part sa sécurité, ses performances et ses concepts, blades n’a pas été retenu car il s’agit d’un projet très jeune et assez simple. Cette simplicité rend l’outil peu personnalisable ou évolutif à l’heure actuelle. Hugo, en revanche, est un outil répandu avec une large communauté et de nombreuse ressources existantes. Il est de plus performant et permet la création de modèles de page complexes. Sa capacité à évoluer est indéniable. C’est ainsi qu’Hugo a été choisi comme générateur de pages statiques pour le blog.

Mise en place

Rédaction

Le processus de rédaction, de relecture et de publication est géré par notre instance GitLab où, dans un dépôt Git, chaque nouvel article prend la forme d’une demande de fusion qui est alors vérifiée et commentée par les membres du Filament. Une fois celle-ci validée, le site est généré par une tâche d’intégration continue.

Hébergement

Notre hébergeur est le Plesk d’Ikoula qui récupère automatiquement les modifications du dépôt Git et sert uniquement le dossier public. Le site et ses articles est alors publié.

Le thème

L’apparence du site du Filament a été adaptée au format du blog et un thème sombre l’a enrichie. Ce dernier est sélectionné selon le thème du système d’exploitation ou du navigateur des visiteurs. Une attention particulière est portée sur l’absence de JavaScript pour des raisons d’éco-conception. En effet, cela diminue la quantité de données téléchargée pour afficher une page tout en réduisant les ressources utilisées par les navigateurs.

Les commentaires

Le blog étant statique, il n’est pas possible d’utiliser une base de données pour stocker les commentaires. Un service externe est donc nécessaire. Une solution souvent employée est de recourir à un tiers tel que Disqus. Il est également possible de copier le contenu des courriels envoyés à une adresse dédiée ce qui représente du travail supplémentaire. Nous avons donc opté pour Mastodon qui est libre et permet à la fois de promouvoir un article et de le commenter.

Afin de permettre les échanges, un espace de discussion est proposé à la fin des articles. Il s’agit en réalité des réponses au « pouet » Mastodon annonçant la publication de l’article. Les commentaires ne sont pas affichés automatiquement dans l’objectif d’alléger les pages et un code JavaScript minimal spécialement développé permet de les monter lors de l’appui sur le bouton dédié. Il est également possible de laisser un commentaire via un second bouton. Un compte Mastodon est cependant nécessaire.

Conclusion

L’idée de créer blog pour Le Filament existait depuis longtemps, c’est maintenant chose faite. Le choix d’Hugo comme générateur de pages statiques et l’automatisation des publications rend facile et agréable l’écriture de nouveaux articles. Il correspond aussi aux valeurs portées par l’entreprise dont la simplicité et l’éco-conception.L’outil octroie d’importantes capacités d’adaptation et d’évolution permettant d’accompagner les usages futurs.

Il reste cependant des choses à faire comme :

  • automatiser la création de l’espace commentaires (poster un toot Mastodon) ;
  • créer une page expliquant comment s’abonner aux flux RSS et Atom.

Licence

CC-BY-SA

Étiquettes

blog

Catégories

Outils

Commentaires

Afficher les commentaires
Écrire un commentaire