Vincent Ferries bio photo

Vincent Ferries

Apprenti artisan logiciel polyglotte

CV Email Twitter Github

Jekyll

Comme certains d’entre vous ont du le constater, j’utlise Jekyll pour mes blogs. Pour information, c’est un moteur de sites statiques écrit en Ruby.

Pourquoi pas Wordpress ?

Tout d’abord parce que c’est du PHP, ensuite parce que c’est écrit avec les pieds, et puis parce qu’il faut le mettre à jour tous les 4 matins à cause de failles de sécurité.

Plus sérieusement, bien que les raisons ci-dessus étaient tout à fait véridiques, mes besoins étaient assez simples :

  • Un site statique me suffit
  • Pas besoin de base de données
  • J’avais bien envie d’utiliser un format simple pour pouvoir exporter facilement mes pages si je change d’avis, et Markdown, le format supporté par défaut par Jekyll est parfait pour cela.
  • C’est facile à héberger sur Github et ça me coûte exactement 0€ !

Installation sous Github

En fait, GitHub Pages utilise déjà Jekyll en sous-main pour servir ses pages. Si on veut se créer un site perso, il suffit de créer un repository nomuser.github.io, dans mon cas vferries.github.io. Ce sera certainement bientôt la racine de mon site perso si je trouve du temps pour le faire enfin. Les pages sont alors servies directement par github à la même adresse que le nom du repository.

Dans mon cas, je voulais mettre en ligne deux blogs, celui sur lequel vous êtes, plutôt technique et un autre sur mes aventures touristico sportives. La solution est de créer des repository à part sous Github avec le nom que l’on veut comme suffixe, et remonter le contenu du site dans une branche nommée gh-pages. Pour mon projet blog, l’URL devient donc vferries.github.io/blog.

Thèmes

J’avoue, pour l’installation et pour les thèmes j’ai carrément triché. J’ai pris deux thèmes de Made Mistakes. Ils sont sobres, et intègrent déjà quelques ajouts indispensables tels que l’intégration de Disqus pour les commentaires, Google Analytics pour les statistiques d’accès…

En terme d’installation, c’est juste une formalité : un dossier à décompresser et un fichier Yaml à éditer. Pour le faire tourner en local, on commence par installer bundle si ce n’est déjà fait :

  • gem install bundler ou brew install bundler si vous êtes sur Mac (personne n’est parfait).
  • Suivi d’un petit bundle install pour installer toutes les dépendances manquantes.
  • Et enfin, pour le faire tourner en local avec rechargement à chaud : sudo bundle exec jekyll serve.

Je conçois que la dernière commande soit un peu longue à retenir. Vous pouvez soit vous créer un petit script shell soit retomber dessus facilement en recherchant dans votre historique de commande (je fais Ctrl + R et tape jekyll pour retomber dessus personnellement).

Nom de domaine et DNS

J’attendais de trouver une idée de nom, maintenant que c’est fait, j’ai acheté un nom de domaine pour aller avec. Cela sera désormais enveille.info. Plutôt évident, on traite de veille techno dans l’informatique, mais il est surtout court et facile à retenir. Au moins j’aurai un prétexte si je me mets à ne plus écrire de billet pendant quelques mois !

Achat de nom de domaine

J’ai fait au plus simple, j’ai pris mon nom de domaine chez OVH, autant acheter français quand le service est bon. Pas d’hébergement nécessaire, juste le nom de domaine, ça revient à 3€ par an. Il y a des boîtes mail en cadeau mais je ne m’en servirai pas pour autant.

Redirection CNAME

Afin que mon nouveau nom de domaine soit redirigé vers mon hébergement Github mais en laissant l’URL initiale dans la barre d’adresse, Github fournit la possibilité d’utiliser des enregistrements CNAME. Il suffit pour cela de remonter un fichier CNAME contenant l’url d’origine à la racine du repository (www.enveille.info dans mon cas). Il faut ensuite faire de même côté hébergeur, OVH en l’occurrence. Attention, on ne peut mettre de CNAME que sur un sous-domaine. J’ai donc une redirection de enveille.info vers www.enveile.info et le CNAME sur www.enveille.info qui pointe vers vferries.github.io.

Propagation des DNS

La propagation des DNS peut prendre jusqu’à 24h, même si bien souvent en quelques minutes c’est réglé. Il faut prendre son mal en patience. Pour contrôler que ça marche on peut utiliser la commande suivante : dig www.enveille.info +nostats +nocomments +nocmd

Gestion des mails sur le blog

Encore une petite astuce en cadeau histoire d’éviter les spam bots. Si, comme moi, vous utilisez une adresse gmail, celles-ci sont insensibles à deux choses : les ‘.’ dans la partie gauche de l’adresse, et ce qu’il y a après un symbole ‘+’. Je m’en sers pour faire de jolis mailto:vin.cent.ferries+pourriel@gmail.com par exemple. Il est ensuite super facile de mettre en place des règles de filtrage dessus.