Après une courte pause, mon blog est de retour. Yes !!!

Je suis passé de PluXML à Hugo et c’est ce que j’avais envi de détailler ici. Bien que j’apprécie grandement PluXML (il avait remplacé avantageusement mon précédent blog sous Wordpress), j’ai souhaité m’orienter vers un outil plus en rapport avec mes besoins. Ce premier billet est l’occasion de mentionner cela plus en détail.

Un site complètement statique

Voilà un gros avantage selon moi. Sur un petit blog, comme le mien en particulier, il n’y a finalement pas de réelle utilité à générer du contenu html à chaque requête, notamment puisque le contenu ne varie que lorsque je publie de nouveaux posts. Cela est bien plus efficace et économique en termes de ressources consommées.

Autre avantage non négligeable, la réduction de la surface d’attaque. Mon blog étant facilement accessible, je vois passer tous les jours diverses requêtes plus ou moins malveillantes. Généralement, cela cible du Wordpress, mais de temps à autre je vois passer certaines tentatives plus originales en fonction de la mode du moment (dernièrement, la faille log4shell a donné des idées à certains par exemple). PluXML étant un CMS développé en PHP, l’exploitation d’une faille est toujours possible (même si pour être honnête, je n’ai jamais vu de soucis).

Markdown

Je suis fan de \( \LaTeX \) mais je cherchais un outil plus simple en complément (je ne rédige pas tous les jours des rapports ou des articles où la mise en page doit être impeccable). J’ai découvert le Markdown il y a peu. Je m’en sert principalement pour prendre mes notes de cours. L’apprentissage du Markdown est très rapide et son intérêt est multiple :

  • Il est bien plus simple que \( \LaTeX \) tout en permettant d’intégrer ici ou là des formules en profitant de la puissance de \( \LaTeX \) justement.
  • Il me permet de structurer mes notes bien plus efficacement qu’avec un fichier texte classique.
  • Il ne nécessite pas un outil de traitement de texte spécifique pour travailler sur un document. Les fichiers produits sont au format texte, directement éditables avec n’importe quel outil (bloc-note, mousepad, vim, …).
  • Il offre une vraie séparation entre le contenu et la mise en forme (comme le fait le couple html/css, mais en bien plus simple).

Bref, profiter de tous ces avantages pour publier des documents en ligne, c’est top !!!

Simplicité d’usage

Au delà de Markdown (qu’il faut vouloir prendre en main), le principe est un peu déroutant au début, en particulier pour ceux qui comme moi n’ont utilisé jusqu’ici que des CMS classiques. Tout ce qu’il y a à savoir se trouve sur le site officiel :

https://gohugo.io/getting-started/quick-start/

Je l’utilise de la manière suivante :

  1. Hugo est installé localement. Il aurait été possible de l’installer directement sur le serveur mais j’ai fait le choix de séparer complètement la génération des pages et leur diffusion.
  2. Je crée les différents billets comme indiqué dans la documentation et je les éditent directement en Markdown (au passage, j’utilise Ghostwriter comme outil pour cela). L’ensemble des fichiers .md se trouvent dans le dossier content du site local Hugo.
  3. Une fois le billet prêt à être publié, je lui retire son statut de brouillon (draft = false dans l’entête du document) et je génère l’ensemble des nouvelles pages ($ hugo).
  4. Reste alors à synchroniser le dossier public de mon site local Hugo (celui qui contient le pages .html venant d’être générées) avec le dossier qui va bien sur le serveur web. Rien de bien compliqué, cela est réalisé en une ligne avec rsync.

C’est à peu près tout. Une fois les quelques briques en place, il devient plus simple de publier.