[ADD] outil blog
Comparer les modifications
content/posts/outil-blog.md
0 → 100644
+ 80
− 0
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.
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.
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.
Le processus de rédaction, de relecture et de publication est géré par notre instance _GitLab_ où, dans un [dépôt _Git_](https://sources.le-filament.com/lefilament/blog-src), 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](https://sources.le-filament.com/lefilament/blog-src/-/blob/master/.gitlab-ci.yml).
L'apparence [du site du Filament](https://le-filament.com/) 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.
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](https://sources.le-filament.com/lefilament/blog-src/-/blob/master/themes/le_filament/assets/js/mastodon_comments.js) 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.
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.