Les sites statiques, une révolution old-school

Lorsque j’ai débuté mes études de développeur, j’ai appris à créer des sites en HTML via le bloc-note. Ce furent mes premières heures de cours. Nous sommes ensuite passé à CSS et Javascript histoire de pimenter les choses. Mon tout premier site fut donc un site réalisé sans la moindre base de données ou langage comme PHP ou ASP. Un site dit statique.

Depuis lors, je n’ai plus jamais travaillé de cette manière. L’agence qui m’avait engagé à la sortie de mes études avait bien débuté en créant des sites de la sorte mais depuis, ASP et PHP avaient fait leur apparition. On pouvait manipuler les données via des bases de données et proposer des interfaces pour que les utilisateurs gèrent eux-mêmes leurs contenus. Une révolution. Nous étions en 2003 et les CMS faisaient leur apparition.

Dix années de réflexion sur les frameworks

Entre 2003 et 2012, j’ai vu plusieurs évolutions et aussi divers déclins. Coldfusion et le CFML ne sont plus utilisés que par des élites. PHP a souffert d’une version 6 chaotique avant de revenir sur le devant de la scène avec sa version 7. Ruby on Rails tient toujours la distance. Côté Javascript, jQuery avait vaincu tous ses concurrents pour un temps.

Les frameworks, qu’ils soient CSS, JS ou autre, étaient la nouvelle norme. La liste enflait de mois en mois et les articles sur les outils les plus performants paraissaient chaque jour.

Les outils de CMS commençaient à devenir les nouvelles stars, comme Wordpress ou Drupal. Je voyais de plus en plus d’agences délaisser des solutions réalisées en internes pour ces nouveaux outils, plus simples à mettre en place et à maintenir.

Il existait aussi des solutions parallèles, peu remarquées car en décalage avec les mouvances du moment.

Des outils atypiques et non conformistes

Alors que certains accaparaient presque pleinement le devant de la scène, des outils plus discrets faisaient leur nid et proposaient des alternatives à des niches en quête d’autres résultats, de performances et d’expériences différentes.

Ainsi, Jekyll, un générateur de site statique, voyait le jour en 2008. Des CMS basés sur des fichiers textes et non pas des bases de données pointaient le bout de leur nez aussi, comme Kirby.

Ces solutions “rebelles” n’avaient toutefois pas le vent en poupe. Certains développeurs en parlaient comme d’une révolution mais, de manière générale, le public semblait mitigé pour ne pas dire sceptique.

Mobile, expérience utilisateur et performances

Début 2013, je constatais une nouvelle tendance apparaitre lors de conférences à l’étranger. L’UX revenait sur le devant de la scène et avec l’essor du mobile, on parlait de plus en plus des performances des applications.

Jusque-là, il fallait bien reconnaitre que certaines applications sur mesure que j’avais pu voir n’étaient pour ainsi dire pas optimisées. Pour le plus grand nombre, une barre de chargement faisait le travail, que celui-ci dure une ou quarante secondes. Cela semblait être une convention depuis Flash.

Un public moins patient

À l’époque des modems 56k, nous étions étonnement patients. Avec l’arrivée de l’ADSL, cette patience s’est évaporée comme neige au soleil. De conciliant, l’utilisateur est devenu impatient.

Désormais, on ne supporte plus d’attendre une page web plus de deux secondes. On ne supporte plus d’attendre une réponse par mail plus d’une heure. On ne supporte plus de tomber sur la messagerie de la personne que l’on contacte et ne mettez surtout pas plus de cinq minutes à rappeler !

La performance par tous les moyens

Optimisation du code, design optimiste, chargements asynchrones, etc. Les conférences, podcast et articles sur le sujet des performances deviennent récurrents. Nous tentons désormais de gagner 200ms ci et là et quand cela n’est plus possible, nous simulons ce gain d’une manière ou d’une autre.

En parallèle de cela, les générateurs de sites statiques sont devenus légion. Ils ont gagnés au fil des années en notoriété. Ils se sont améliorer et leur communauté s’est développée.

Mais alors que ceux-ci offraient de plus en plus de possibilité, ils ne rattrapaient pas pour autant leurs concurrents: les CMS. Les générateurs de site statique semblaient toujours dédiés à des développeurs qui devaient travailler les contenus à la place du client final, un retard auquel il fallait palier.

Des alternatives à la gestion de contenu

Un des premiers outils qui a retenu mon attention fut GatherContent. Cette application en ligne est un outil de gestion de contenu indépendant. Il ne dispose pas de “sortie”, de “vue” des contenus qu’il stocke mais permet de créer des ponts vers des solutions externes d’affichage de ces contenus, dont les générateurs de site statique.

Deux ans plus tard, SmashingMagazine annonçait la refonte de son site et cette annonce fut un électrochoc pour toute la communauté des développeurs qui suivent cette institution. SmashingMagazine fonctionnait à l’époque avec des solutions Wordpress / Shopify et avait jeté son dévolu sur le générateur de site statique Hugo ainsi qu’une nouvelle solution d’hébergement du nom de Netlify.

Cloud Computing, une évolution tremplin

Les plateformes de Cloud Computing comme Netlify existaient déjà depuis quelques années mais elles restaient assez complexes à prendre en main et semblaient donc restreintes à un public plus qualifié ayant bien pris le temps de se former.

Netlify est un outil qui change la donne en proposant une solution mature et d’une simplicité déconcertante. Le principe est d’héberger des sites et applications préalablement stockés sur des gestionnaires de version comme GitHub, GitLab ou encore BitBucket. Certes, vous devez vous familiariser avec ces outils et les concepts de Git mais les bénéfices ne sont pas négligeables en terme de sauvegarde de vos données et de contrôle de versions de celles-ci.

Partant donc du principe que vous effectuez des sauvegardes de vos projets via un gestionnaire de version, Netlify se positionne comme l’unique intervenant à la mise en ligne de vos sites et applications. Plus besoin de connexion FTP et de mises à jour manuelles, Netlify automatise les mises en production sur base des versions poussées via vos commit.

Des interlocuteurs matures

C’est ici que les générateurs de site statique prennent une toute nouvelle dimension. Ils ne sont pas devenus performants par eux-mêmes mais via la mise en relation d’outils complémentaires.

Si je prends mon trio préféré (Hugo, Forestry, Netlify), nous sommes face à une solution équivalente à Wordpress ou Drupal mais avec un site plus performant de base (site html ne nécessitant aucune connexion aux bases de données) et disposant d’une plus grande sécurité (CMS décentralisé, contrôle des versions à la place de backups serveur). Ajoutez SnipCart à cette solution et vous bénéficiez même d’un site de vente en ligne.

C’est la maturité de ces différents outils qui fait désormais la différence. Netlify permet de déployer un site en ligne en moins de quinze minutes et Forestry greffe son interface CMS à un générateur de site statique comme Hugo en cinq minutes complémentaires. Les mises à jour sont directement gérées par Netlify lorsque vous effectuez un commit de votre code. Un chef d’oeuvre en terme d’automatisation.

Pour conclure

Propulsés sur le devant de la scène par des solutions comme Netlify, les sites statiques font désormais leur retour sur le devant de la scène. La maturité de ces outils en font même des concurrents respectables / redoutables par rapport aux frameworks et outils de CMS.

La cerise sur le gâteau vient aussi du fait que l’usage de ces nouveaux outils vous force à l’emploi de bonnes pratiques comme les contrôleurs de version que l’on pouvait déléguer par leur passé aux backups serveur.

Les générateurs de site statique vous forcent aussi à distinguer vos contenus des rendus visuels au travers de fichiers markdown. Cette syntaxe offre l’avantage de faciliter toute future étape de migration des contenus en cas de changement de solution technique.

Les avantages qu’offrent donc ces “pas si nouvelles” solutions sont tout aussi intéressantes pour vous que pour vous audiences. Vous bénéficierez d’une présence web rapide, sécurisée et simple à maintenir. Laissez-vous tenter !