Test du CMS HUGO

Test du CMS statique Hugo pour la création d’un blog ou d’un site web en 2019. Est-ce l’avenir des CMS ? Est-ce efficace face à un WordPress ?
Philippe.jpg
Philippe AUBERTIN, Javaman aigriMis à jour le 19 Août 2019
test hugo cms statique

CMS VS CMS statique

Un CMS, c’est quoi ? Parlons WordPress.

CMSC'est un système de gestion de contenu. signifie Content Management System. C’est un outil qui permet de gérer du contenu sous du contenu WEB. On peut citer par exemple WordPress comme étant le plus connu des CMS. L’objectif d’un CMS est de travailler de manière efficace un ensemble de contenu, souvent de manière coopérative.

Un CMS permet de manipuler des posts, ou des pages, par l’intermédiaire d’un éditeur type WYSIWYG. Une fois le post créé, celui-ci est converti à la volée vers une page web (en HTMLHTML (HyperText Markup Language) est un langage permettant de décrire le découpage d'une page web. et CSSFeuilles de style qui permettent de mettre en forme des pages web.).

Tout l’intérêt de ce type de CMS est d’offrir la possibilité à des non-informaticiens de créer des pages web facilement et d’offrir du contenu à travers le web.

Pour ce faire, le CMS type WordPress stocke les contenus que vous écrivez sous la forme de base de données que vous pouvez travailler en ligne.

Un CMS statique, c’est quoi ?

À l’opposé d’un CMS tel qu’on le connait, un CMS statique permet de générer, une bonne fois pour toutes, votre site vers des pages statiques en HTML en CSS. L’idée d’un CMS statique est donc d’avoir un moteur de génération de pages web statiques "en dur" depuis une source de données. La plupart du temps, cela se fait à partir d’un format pivot (Markdown, JSON, YAML...).

La force d’un CMS statique

La "force" du système est de générer tout le site pendant la phase de compilation. Cela inclut toutes les pages mais aussi toutes les catégories, tags... et permet de vous sortir un répertoire complet de votre site. Ceci implique que toutes les pages sont créées ! Si votre site est complexe, ça peut faire beaucoup de fichiers. Certains se diront que c’est un retour au web du 20e siècle… et ils n’auront pas complètement tort ! À l’époque, on savait faire des trucs bien quand même :)

Pourquoi utiliser un CMS statique ?

La performance d’un CMS statique

De prime abord, on comprend bien que la performance d’un tel système est optimal. Il suffit de livrer la page HTML pour l’utilisateur final, et ce, sans avoir accès à une base de données et sans avoir besoin de faire des calculs (que ce soit en PHP, JAVA, Ruby... )

Constat : 99% des sites n’évoluent pas rapidement… c’est donc pas super malin de recalculer à chaque fois des pages alors qu’elles n’évoluent pas souvent, voire pas du tout!

Par ailleurs, ne plus avoir besoin d’avoir de PHPLangage de programmation s’exécutant côté serveur et permettant la création dynamique de pages web ou d'APIs. ou de base de données permet d’héberger son site sur un pur conteneur de fichier type Amazon S3. Ce qui permet d’avoir des coûts d’exploitation ridicules (quelques centimes par mois seulement !)

Le référencement

En termes de référencement, on y gagne aussi ! Le site est plus performant, et l’algorithme de Google aime ça (il en a d’ailleurs fait un de ces éléments indispensables dans sa notation). Avec un CMS statique, il est assez facile d’avoir des pages qui se chargent en moins de 100ms.

La sécurité des CMS statiques

L’autre gain substanciel est la sécurité. Comme vous n’avez plus besoin de PHP ou de BDD, vous pouvez mettre tous vos fichiers en lecture seule, ce qui rend 99% des attaques strictement impossible pour les hackers ! Et c’est assez agréable quand on voit la prolifération des attaques sur le web, et en particulier sur les CMS les plus courants du marché.

Un développement facilité avec Git

Comme votre CMS statique se passe de BDD, il est hyper facile de mettre en place tout le site web sous Git ! Ainsi, vous pouvez gérer de manière intégrale un pipeline d’intégration continue par exemple sous GitLab. Et c’est fort appréciable !

Simple à tester !

Ce qui est pratique c’est que votre site étant généré entièrement, il est facile de le tester et de valider chacun des liens rapidement !

Point négatif des CMS statiques

Qui dit statique, dit que vous n’avez pas de formulaire dynamique... donc il faut dire adieu au moteur de recherche, au formulaire de contact et à d’autres fonctionnalités dynamiques du site web !

Néanmoins, il est tout à fait possible de faire sans et de manière assez intelligente pour que ce compromis reste une très bonne idée.

Retour d’expérience d’un CMS statique HUGO

Comme nous avions envie de tester cette technologie, nous l’avons appliqué à notre blog sur lequel vous lisez cet article ! Historiquement, nous avions un WordPress qui, même avec toutes les optimisations du monde, nous faisait bénéficier d’un score inférieur à 50% sur Google.

Après étude des différents CMS, nous avons choisi le CMS Hugo pour sa facilité de mise en oeuvre et sa rapidité de compilation. Il existe autant de CMS statiques que de langages, donc vous pourrez trouver votre bonheur facilement si celui-ci ne vous satisfait pas.

Nous avons réalisé une migration des contenus depuis WordPress vers Hugo en choisissant le format pivot Markdown. Une fois tous les posts exportés, nous avons créé un template hyper simple pour afficher le tout.

Pour l’hébergement nous avions une machine virtuelle sur OVH que nous avons échangé contre un S3 sur AWS avec un cloudfront. En moins d’une semaine nous avons réussi à faire notre migration sans aucun problème !

C’était simple et rapide, on vous le conseille !