Octopress et les CMS statiques

Mon site est tout statique mais il bouge, si si…

En général on dit qu’un site statique est une vitrine qui a peu voire pas du tout vocation à être modifiée alors qu’un site dynamique, quant à lui, verra ses contenus “bouger” régulièrement. Oui mais, comme dans tout, la nuance reflète mieux la réalité.

On va pouvoir utiliser des CMS dynamique comme WordPress pour des sites vitrines et des CMS statiques comme Octopress pour des blogs. Et là on y comprend plus rien. C’est pas logique ça non ? En fait si, mon site aura beau être relativement figé j’ai quand même envie de pouvoir le modifier rapidement sans toucher au code.

A l’inverse, si je touche un peu au code, je n’ai pas besoin d’une base de données ni de PHP pour bloguer. Je peux l’héberger strictement où je veux y compris sur des plateformes gratuites telles que GitHub.

Disclaimer

Y a des gens qui chiadent leur propres outils et qui partagent avec les autres. Cela s’appelle l’open source, share the love les amis. Ainsi on a des systèmes relativement bien construits qui nous simplifient la vie notamment avec Jekyll, Ruby et tutti quanti. Et c’est bien. Mais même avec ces joujous extras il vous faudra mettre la main à la patte.

Donc celui qui ne veut pas d’emmerdes va continuer à utiliser WordPress et tout ira bien. Je donnerai néanmoins les raisons pour lesquelles je pense que WordPress c’est plus tellement pour les blogs.

Je précise que je parle de blogging libre ici.

Jekyll ?

Suivez le guide : De Retour, Merci Jekyll ! Pour celles et ceux qui ne cliqueront pas sur le lien Jekyll c’est tout simplement un générateur de blog et de sites statiques. C’est la technologie utilisée par les pages GitHub.

Pas de base de données, peu de maintenance, la priorité sur les contenus, hébergement gratuit. Le site est normalement plus performant. En fait on reproduit le processus de cache à l’oeuvre dans certains plugins comme WP Super Cache ou WP Rocket, comme un export à partir de nos contenus, sauf qu’ici ils sont remplis en texte brut au lieu du HTML.

Bon c’est quoi, comment, où Octopress ?

Octopress s’appuie sur Jekyll. C’est un framework pour Jekyll plus exactement, c’est ce que moi j’appelle ici CMS statique. Autrement dit pour ceux qui veulent se la raconter avec des technos complexes alors qu’en fait y a rien à faire smile

Avec Octopress y a d’ailleurs encore moins à faire, c’est comme Jekyll mais avec des pré-réglages, des thèmes, des plugins, du pré-maché avec notamment des facilités de déploiement via GIT par exemple. Pour être plus concret la procédure pour tout installer.

Une fois qu’on a fait ça on peut commencer à bloguer, 10 minutes pas plus si ça plante pas !

Si ça plante !

C’est probablement ruby qui fait des siennes donc évitez de zapper l’étape rbenv ou rvm. Certaines distributions Linux n’acceptent pas ou tolèrent mal les dernières versions de Jekyll ainsi que certaines gems. Sur Windows c’est encore plus chiant, downgradez en version 1.9.3 pour ruby.

Cela peut sauter rapidement. Ce n’est pas un outil hyper techos dans le sens où la doc est là, les fora aussi mais faudra savoir combiner tout ça en cas de pépin. C’est pas toujours fluide. Personnellement j’ai eu pas de souci soucis Windows pratiquement aucun sous Linux.

Fonctionnement général

On va remplir des fichier avec du texte brut (ce que je fais ici) et un langage qui s’appelle le markdown (une syntaxe parmi d’autres). Ensuite Octopress via Jekyll lui-même via ruby va générer les fichiers HTML du site via la commande :

jekyll serve

L’intérêt d’Octopress c’est de nous faire gagner du temps avec tous les petits composants supplémentaires comme les services tiers type Disqus parce qu’on a pas de système de commentaires natif à la WordPress. A la manière d’un WordPress justement, on aura un fichier de config, _config.yml et donc ici une ligne qui ressemble à ça :

disqus_short_name: jmau111

Pour les feignants je vous dis smile

Tout ça pour ça ?!!

Sinon y a WordPress.com, medium, etc. Ils ont fait leurs preuves. On peut citer Ghost aussi et d’autres. Il y a tellement de services spécialisés blogging et WordPress peut faire tellement plus de choses notamment servir de framework d’applications. Est-ce que ça vaut vraiment le coup de payer un hébergement, meme cheap, toute une machinerie pour son petit blog ou une page de présentation d’un projet ?

Je n’ai pas de réponse péremptoire à donner ici. Dans mon cas il y avait l’envie de découvrir de nouvelles choses, d’avoir la possibilité de passer mon blog sou GIT sans passer par un dédié ou un mutualisé amélioré, etc. C’est toujours un ensemble de facteurs et sûrement pas parce que machin a dit que c’était trop bien.

Mon avis

Octopress c’est bien. Voilà…

Mais si je devais développer sur le sujet je dirais :

  • prise en main et templating facile et rapide
  • deploiement quasi automatique
  • entièrement versionné via GIT par exemple
  • communauté relativement importante
  • pas de base de données, pas de langage serveur, aucun intérêt pour les pirates (attention ça dispense pas de sécuriser le serveur !)

J’ai vu que certains blamaient le fait de devoir régénérer tous les fichiers pour la moindre modification. Bon… moi je m’en tape de faire bosser l’ordi, ça va prendre 40 secondes à peine. En revanche, sur l’internationalisation c’est pas top au final mais ça c’est Jekyll de manière générale.

J’aime bien le message du dév d’Octopress : il commence par exposer tout ce qui va pas dans son projet, tout ce qui manque et qui doit être corrigé.

C’est nul !

Parfois on se moque un peu des retours loufoques de certains utilisateurs pour qui la technologie a quelque chose de frustrant. L’ironie vient quand à notre tour on est frustré de ne pas arriver à faire marcher un script, une commande, une techno. Et alors on va pester alors que souvent (pas toujours) on n’a fait que survoler la doc et puis en fait on est à notre tour un utilisateur râleur.

En plus ici il est question de ruby, entre en ligne de compte le système d’exploitation de la machine sur laquelle on bosse. Il faudra parfois jouer des coudes notamment sur certaines distributions de Linux. Cela veut dire trouver la bonne combinaison entre la version de ruby, de Jekyll, etc. Sous Windows c’est pas mieux ! Cela peut en rebuter plus d’un. Faut pas avoir peur de bidouiller et de parcourir quelques stackoverflows.

Quelques conseils

  • sauvegardez le système de génération (votre configuration, vos templates, vos fichiers markdowns)
  • n’utilisez pas ça pour bloguer tous les jours, encore que…
  • ne vous attendez pas à une admin type WordPress, y en a pas ! Juste l’éditeur de texte.