Quand on choisit Jekyll pour développer un site statique, on ne se doute pas toujours que sous cette apparente simplicité se cache un véritable écosystème de gems Ruby. Chaque gem a un rôle bien défini, un peu comme les maillons d’une chaîne bien huilée.

Dans cet article, on explore les gems utilisées dans un site Jekyll classique hébergé sur GitHub Pages. À la clé : compatibilité, performance, SEO, et un brin de magie Ruby.

Illustration du Gemfile Jekyll

github-pages : la gem d’intégration continue

Rôle : Cette gem vous garantit une compatibilité parfaite avec GitHub Pages. Elle regroupe une suite de gems approuvées (y compris Jekyll, jekyll-feed, jekyll-sitemap, etc.), et fige leurs versions pour éviter les conflits.

Pourquoi c’est utile : Vous développez localement avec la même stack que celle utilisée par GitHub Pages lors du déploiement. Cela évite les mauvaises surprises.

Source : GitHub Pages Dependencies

minima : le thème par défaut, sobre et efficace

Rôle : Minima est le thème de base fourni avec Jekyll. Il offre une mise en page responsive, une navigation claire, un design épuré — bref, une base idéale pour démarrer.

Pourquoi c’est utile : Il vous permet de vous concentrer sur le contenu sans partir de zéro. Il est aussi facilement personnalisable.

Source : minima sur GitHub

jekyll-feed : pour diffuser votre contenu via RSS

Rôle : Ce plugin génère un flux Atom automatiquement, sans configuration particulière.

Pourquoi c’est utile : Il permet à vos visiteurs de suivre vos publications avec des lecteurs RSS comme Feedly. Un indispensable pour tout site à contenu régulier.

Source : jekyll-feed sur GitHub

jekyll-sitemap : visibilité et SEO

Rôle : Ce plugin crée un fichier sitemap.xml contenant la liste de toutes les pages de votre site.

Pourquoi c’est utile : Cela aide Google, Bing & co. à mieux explorer votre site, ce qui améliore son référencement.

Source : jekyll-sitemap sur GitHub

tzinfo et tzinfo-data : la gestion des fuseaux horaires

Rôle : Ces gems sont nécessaires pour gérer correctement les dates et fuseaux horaires, notamment sous Windows ou JRuby, où les données timezone ne sont pas incluses par défaut.

Pourquoi c’est utile : Vous évitez des erreurs de date ou de build liées à une mauvaise configuration de l’heure.

Source : tzinfo & tzinfo-data

wdm : pour surveiller vos fichiers sous Windows

Rôle : Ce plugin améliore la détection de fichiers modifiés sur les systèmes Windows via l’API Win32.

Pourquoi c’est utile : Il rend le rafraîchissement de site plus rapide et moins gourmand en ressources.

Source : wdm sur RubyGems

http_parser.rb : pour JRuby uniquement

Rôle : Cette gem parse les requêtes HTTP, une tâche essentielle dans tout environnement serveur. Pour JRuby, on verrouille la version à ~> 0.6.0 pour éviter les incompatibilités avec les implémentations Java.

Pourquoi c’est utile : Assure la stabilité du site sous JRuby.

Source : http_parser.rb sur GitHub

Une stack légère mais robuste

Ces gems sont invisibles pour vos visiteurs, mais elles sont le socle technique de votre site. De la génération de contenu à l’optimisation SEO, en passant par la compatibilité multiplateforme, elles font tout le boulot en coulisse.

En les comprenant, vous gagnez en maîtrise. En les personnalisant, vous donnez une identité unique à votre site.