La création d’un site internet répond bien souvent au besoin d’établir une relation avec une audience et d’interagir avec elle, à des fins commerciales par exemple. Les sites dits « dynamiques » sont ainsi devenus la norme, tirés par la locomotive WordPress, pour permettre aux visiteurs d’apporter des informations et de personnaliser et actualiser l’affichage de chaque page. Cette interaction a un coût : la consommation de ressource qui peut ralentir l’affichage et donc pénaliser le référencement, mais également la création de failles de sécurité.

On observe donc, lorsque cela est possible, un retour en grâce du site « statique », plus léger et plus sûr. Pour construire ce type de site, on peut décider de tout coder mais on peut opter pour un Content Management System (CMS) dédié à ce type de site web. Nous allons lister les plus incontournables de ces générateurs de sites statiques.

Qu’est-ce qu’un site statique ?

Il fut un temps où les sites étaient nécessairement statiques et cela n’avait pas tellement de sens de le préciser : on écrivait du code depuis un ordinateur, on l’uploadait sur le serveur et la page s’affichait telle qu’on l’avait conçue sur tous les terminaux qui cherchaient à la consulter en ligne.

Rapidement, la conception et l’édition des site web en ligne, notamment avec des CMS comme WordPress, ont changé notre manière d’appréhender l’édition numérique : les sites peuvent être mis à jour automatiquement et modifiés en ligne. Des solutions appelées « WYSIWYG », « What You See Is What You Got », (vous aurez ce que vous voyez) ont normalisé la pratique consistant à éditer son site en ligne, à la manière d’un traitement de texte.

Les sites statiques ont néanmoins perduré durant cette évolution pour plusieurs raisons : conçus pour générer une page avant même que le visiteur ne l’ouvre, ces sites affichent encore aujourd’hui de meilleures performances en terme de chargement et résistent davantage aux attaques sur leur codes en n’offrant que peu de prise aux logiciels malveillants.

Pour bénéficier des avantages de ces sites et du confort d’un CMS, on peut donc opter pour un générateur de site statique.

Quelles différences entre un générateur de site statique et un CMS ?

Pour lister les raisons d’opter pour un générateur de site statique, tâchons de bien comprendre les différences de fonctionnement entre le CMS et cet outil.

Un CMS repose sur une base de données, du code et des modèles, des « templates », qui permettent de construire un site web uniforme et cohérent. Prenons l’exemple du plus célèbre des CMS, WordPress, qui permet d’afficher des posts sur le même format, du plus récent au plus ancien, au gré des nouvelles contributions.

Mais un CMS propose également des pages qui ne sont pas construites en HTML : la page d’accueil par exemple disposent d’éléments statiques, codés « en dur » sur la page, comme le titre, le logo, mais aussi d’une liste actualisée des derniers articles. Cette actualisation se fait précisément de manière dynamique : un élément exécutable va demander au CMS de consulter la base de donnée pour en extraire les plus récents et afficher certains éléments : titre, auteur, illustration, date…  et les afficher dans la homepage sous une forme préalablement définie.

Pour afficher cette page d’accueil, à chaque fois qu’elle est ouverte, un processus s’enclenche, sollicite la base de données et livre une version actualisée de cette page.

A l’inverse, un générateur de site statique va assembler les différentes pages du site mais ne pas réitérer cette tâche à chaque visite. Le site permettra de naviguer entre les pages, mais chacune d’entre elle sera servie en HTML aux visiteurs, sans le moindre code exécutable comme le ferait un CMS.

Quel générateur de site statique choisir ?

Le principal critère de choix pour l’outil qui vous permettra de construire votre site statique dépend du langage/framework avec lequel vous êtes le plus à l’aise. Cet aspect pourra se révéler primordial dans la pratique.

Au delà de cette classification, nous verrons que les générateurs de sites statiques se distinguent également par les options qu’ils proposent, adaptées à différentes situations. Voici quelques générateurs de sites statiques sur lesquels vous pourriez vous pencher.

1. Hugo

La réputation de Hugo en termes de flexibilté et de vitesse n’est plus à faire. Cet outil, codé en Go a par ailleurs l’avantage d’être open source.

Hugo propose des modèles de pages facilitant le référencement, l’analyse de trafic par exemple. Hugo est donc parfaitement adapté à la création rapide d’un site grâce à la gestion de la notation markdown et shortcodes. De manière schématique, vous créez un répertoire de contenu, vous choisissez un template et Hugo se charge de composer un site web complet en HTML.

Hugo étant open-source, on peut le trouver sur GitHub.

La principale limite de Hugo est son langage de création, Go, ce qui le rend certainement moins accessible à beaucoup d’utilisateurs

2. Jekyll

Vous connaissez déjà Jekyll si vous avez parcouru des pages GitHub, construites avec cet outil. Cela a certainement participé à construire la très bonne réputation de ce générateur de site statique auprès des développeurs qui l’utilisent bien souvent pour leurs propres pages de projets ou leurs blogs.

Jeckyll permet d’écrire du contenu en Markdown et convertit ce contenu en page sur la base d’un template.

Jekyll produit du code front-end, ce qui signifie qu’il n’est pas nécessaire d’inclure un framework JavaScript et permet aux utilisateurs de contrôler complètement le JavaScript envoyé au navigateur.

Comme pour Hugo, le principal écueil de Jekyll est son langage de programmation, ici Ruby, qui peut en décourager certains.

3. Pelican

Autre générateur de site statique, cette fois-ci codé en Python, Pelican gère les syntaxes markdown et REST. Le fait qu’il soit codé en Python le rend accessible à davantage de monde. En revanche, son relativement faible nombre de thèmes proposés (une centaine environ) laisse moins de possibilités de mise en forme. Comme pour les outils précédemment cités, une méconnaissance du langage utilisé, ici Python, pourra être un handicap pour pleinement profiter de Pelican.

4. Gatsby

Utilisant React, Gatsby ouvre beaucoup plus de perspectives que ses concurrents et vous donne la possibilité d’adapter les templates comme bon vous semble. Mais pour cela, et c’est le revers de la médaille, des connaissances en Javascript pourraient s’avérer nécessaires. Sinon, l’utilisation de Gatsby se révèlera certainement plus ardue qu’avec les autres outils, certes moins polyvalents.

5. WordPress avec un plug-in générateur de site statique

Preuve que les sites statiques représentent une vraie demande parmi les créateur de contenu, WordPress, parangon du site dynamique, propose des plug-ins pour tout y compris pour restraindre l’exécution d’actualisation automatique et transformer vos pages en site statique. Le principal avantage de cette méthode est que le contenu peut être produit via l’éditeur de WordPress avant d’être transformé en site statique. Néanmoins, il est clair que dans sa conception, ce n’est pas un site statique mais un site « rendu statique », ce qui n’est pas tout à fait la même chose.

a. WP2Static

Comme son nom l’indique, ce plug-in transforme votre site WordPress en site Statique avec un processus qui consiste à effectuer une « capture » de votre site. Par conséquent, cette extension vous permet de créer vos pages sur l’éditeur WordPress si vous êtes familier avec celui-ci et lui demander d’afficher votre site sous forme statique.

b. Simply Static

Comme WP2static, Simply Static transforme en site statique de pages conçues sur WordPress mais de manière plus directe et rapide : Simply Static va parcourir vos pages et en faire une copie très rapidement.

Conclusion

Si les sites statiques ont un temps été la norme, les CMS ont changé la donne et ont érigé les sites dynamiques en solution par défaut pour tout nouveau projet en ligne. Le format statique a pourtant résisté pour satisfaire les besoins de créateurs de sites attachés à la vitesse d’affichage et la sécurité. Des outils ont donc vu le jour, les générateurs de site statique, se différenciant essentiellement par leur langage de programmation et les syntaxes tolérées. En fonction de vos besoins, de vos connaissances et de votre manière de produire du contenu, vous trouverez certainement l’outil idéal pour créer un site statique sûr et performant.