Cet article a été initialement publié en anglais.
This article has originally been published in English.

En résumé : Mon blog est désormais hébergé sur ejpcmac.net/blog.

Introduction

J’ai commencé ce blog il y a un peu moins de deux ans sur Medium. C’était une bonne plateforme pour commencer : il n’y a pas de préparation, rien à configurer. Il est donc possible de commencer à bloguer en quelques minutes.

Je voulais juste partager quelques conseils de programmation en Elixir. J’avais vu d’autres personnes faire cela, et le point dont je voulais parler n’avait pas été traité par quelqu’un d’autre. Depuis, j’ai publié quelques articles à propos de bibliothèques open source que j’ai écrites et quelques conseils pour des outils que j’utilise. Maintenant, il est temps de passer à un blog auto-hébergé et généré statiquement.

Les sites générés statiquement nécessitent un peu plus de préparation : il faut choisir un générateur, apprendre à l’utiliser, choisir un thème et un hébergeur. Pourtant, lorsque les choix sont faits, c’est plutôt facile à utiliser : il suffit d’écrire les articles comme des fichiers Markdown et de les compiler en un site statique via une commande.

Pourquoi je migre

Pour le flux de travail

J’ai écris le premier article de mon blog en Markdown, alors que j’étais hors-ligne dans un train. Lorsque j’ai finalement voulu le publier sur Medium, j’ai du passer l’article complet en revue pour corriger le formattage.

Bien que l’éditeur en ligne de Medium puisse être pratique lorsqu’on est connecté, puisqu’il permet de changer de machine sans heurts, il a des défauts : il n’est pas possible de modifier les articles hors ligne ni de récupérer une copie locale des articles à des fins d’archivage.

Avec un générateur de sites statiques, je peux écrire mes articles dans mon éditeur de choix : Emacs — avec le mode Evil pour avoir à disposition toutes les capacités d’édition modale de Vim, bien entendu. L’expérience est de loin supérieure à celle d’écrire dans une interface web lorsque vous connaissez bien votre éditeur — pour la même raison, j’utilise également Emacs pour écrire mes courriels. Je peux aussi voir le rendu final alors que je suis hors ligne en créant une version locale de mon blog à l’aide d’une simple commande. Changer de machine pendant le processus d’écriture reste simple à effectuer : les fichiers Markdown sont du texte, donc je peux utiliser Git pour suivre les modifications et les synchroniser entre différents hôtes. Je vais aussi configurer à un moment un processus de livraison continue pour mon blog, de manière à pouvoir publier des changements en poussant simplement vers la branche master.

Publier via Git est plutôt efficace en terme de bande passante, puisqu’il transfère uniquement la différence compressée entre deux états. Je me suis intéressé aux réseaux à faible bande passante ces derniers temps, puisque je serai l’administrateur système de la base scientifique des îles Kerguelen pour une année entière à partir de novembre. Là bas, l’accès à internet passe par un lien VSAT : c’est plutôt lent, donc limité aux activités professionnelles. Modifier un blog dans une interface web qui envoie des données au serveur quasiment en temps réel — ce que fait celle de Medium — n’est pas possible.

Pour la flexibilité

Medium est minimaliste. Bien que cela peut être vu comme un avantage, il manque pourtant quelques rafinements. L’un d’entre eux est le manque de coloration syntaxique pour les exemples de code. Comparez la lisibilité de ceci :

defmodule Example do
  @moduledoc """
  Just an example.
  """

  @doc """
  Says hello.
  """
  @spec hello(String.t()) :: :ok
  def hello(name) do
    IO.puts("Hello, #{name}!")
  end
end

avec ceci :

defmodule Example do
  @moduledoc """
  Just an example.
  """

  @doc """
  Says hello.
  """
  @spec hello(String.t()) :: :ok
  def hello(name) do
    IO.puts("Hello, #{name}!")
  end
end

Je peux aussi organiser les articles en catégories, en plus de les taguer. Bien que ce blog soit présentement purement technique, ceci va changer : je vais parler ici de mon hivernange à Kerguelen, utilisant une catégorie pour cela. D’autres catégories pourraient arriver à n’importe quel moment, si je trouve des sujets intéressants à raconter.

Zola — le générateur de sites statiques que j’utilise — me permet également de publier dans plusieurs langues. Cela va être utile : mes articles techniques sont rédigés en anglais, mais je vais écrire les articles sur Kerguelen en français et les traduire par la suite.

Pour être maître de mes données / pour la décentralisation

La dernière raison de mon déménagement — qui est en fait probablement la première — est une raison philosophique : le World Wide Web a été construit pour être décentralisé.

Les plateformes telles que Medium permettent d’être découvert plus facilement et facilitent les interactions sociales. Cependant, elles centralisent le lieu où sont écrits et stockés les articles. La propriété intellectuelle de mon contenu m’appartient toujours, mais pas son URL puisqu’il est hébergé sur Medium. Également, en écrivant les articles directement dans l’éditeur web, je n’ai pas de copie locale pour archivage, et ce n’est pas facile d’en récupérer une dans un langage à balises propre.

Avec une solution auto-hébergée, je peux être entièrement maître de mon contenu : en plus de savoir où il est stocké, je suis également propriétaire des liens pointant vers mes articles puisqu’ils sont sous mon domaine. J’en suis responsable, à la façon dont je suis responsable de ce que j’écris.

Il y a ces derniers temps un mouvement pour re-décentraliser le Web. Bien que les réseaux sociaux tels que Diaspora* ou Mastodon souffrent d’un manque d’effet réseau parce que Facebook et Twitter étaient les premières mises en œuvre réussies de ces concepts, la blogoshère existait bien avant l’arrivée de Medium. Elle est décentralisée par nature.

Vous pouvez suivre des blogs sans avoir besoin d’un service de tierce partie à l’aide d’Atom. Tout ce dont vous avez besoin est un agrégateur dans lequel vous pouvez ajouter vos sources favorites d’informations. L’agrégateur se connecte ensuite directement aux différentes sources pour vérifier si de nouveaux articles sont disponibles.

Conclusion

Après avoir publié sur Medium pendant deux ans, je migre vers un blog auto-hébergé, généré avec Zola. Cela correspond mieux à mon flux de travail et ma philosophie, tout en ajoutant de la flexibilité pour les évolutions futures.

Si vous ne voulez rater aucun article, vous pouvez suivre mon flux Atom dans l’agrégateur de votre choix. N’hésitez pas à m’envoyer vos propres flux pour que je puisse suivre vos publications également. Re-décentralisons la blogosphère ensemble :) Pour faire connaissance, commenter ou faire une suggestion, vous pouvez me contacter via email ou Twitter.