Voici quelques mois maintenant que j’utilise Ghost pour animer ce blog. Il s’agit d’un CMS fonctionnant à l’aide de Node.js permettant de tenir à jour son blog de manière assez simple. Il est issu d’une campagne Kickstarter et rien que pour ça, il mérite qu’on s’y intéresse.

Objectivement, c’est vraiment un bon CMS. Il est simple d’utilisation, très léger, et surtout : Il ne possède rien de superflu.

Mais voilà, il utilise Node.js ; et je dois bien admettre qu’avec un petit peu de recul, j’utilise de moins en moins cette techno. Disons que l’euphorie s’est estompée et que je commence aujourd’hui à en voir les défauts. C’est certainement le choix idéal lorsque l’application reçoit des tonnes de requêtes ; mais pour mon pauvre blog qui en son jour de record absolu est monté à 1700 pages vues c’est loin d’être une nécessité.

Au delà de ça, c’est même plutôt une contrainte (pour l’hébergement, par exemple). Puis certes, Ghost, en sachant rester simple, n’a pas fait l’erreur de ses ainés ; il n’en est pas moins que son code est relativement complexe à prendre en main et qu’une petite modif facile, comme disent les clients, peut prendre un bon moment.

Vous l’aurez compris, je ne pense aucun mal de Ghost et je vous encourage chaudement à jeter un oeil sur son cas. Il n’est simplement pas adapté à mes besoins.

J’ai donc décidé de tenter l’expérience Jekyll, qui pour rappel est une sorte de générateur de pages statiques écrit en Ruby. On lui fourni nos fichiers rédigés en Markdown, on lance un jekyll build, et on obtient un ensemble de pages prêtes à être uploadées.

Les performances sont donc optimales puisqu’il n’y a pas base de données ni pages dynamiques. Question complexité, disons simplement que ça n’est pas la solution que l’on retient pour son client qui souhaite écrire ses articles (cependant, Ghost non plus).

Concernant la migration, c’est un jeux d’enfant puisque la rédaction des articles sur Ghost s’effectue également en Markdown. Un package Node.js répondant au doux nom de ghost-export fait ça parfaitement et vous permettra moyennant quelques copiés/collés de rendre compatibles vos articles avec Jekyll.

En bref, la migration est en cours. Le design va quelque peu changer également ; j’espère qu’il vous plaira.


À bientôt !