Netlify CMS simplifie l’utilisation de sites statiques

Nicolas Furno |

Pour créer un site, on peut toujours partir de pages blanches (virtuelles) et écrire du code en HTML, CSS et JavaScript à partir de zéro. C’est l’approche traditionnelle et même si elle n’a pas perdu complètement de son intérêt, elle est devenue extrêmement minoritaire aujourd'hui. On utilise en général un CMS, une application qui permet de gérer et d’organiser du contenu.

Dans le domaine, les CMS dynamiques ont la cote, WordPress en tête. Construits autour d’une base de données, ils génèrent le site à la volée, en créant des pages à partir de modèles et d’informations piochées dans la base. Cette approche a de nombreux avantages, le premier étant la souplesse — il suffit de changer un paramètre du thème pour changer tout le site —, mais elle a aussi des inconvénients, notamment en termes de performances ou de sécurité.

Édition d’un article sur un site généré avec WordPress. Cliquer pour agrandir
Édition d’un article sur un site généré avec WordPress. Cliquer pour agrandir

C’est pourquoi une troisième voie se développe depuis plusieurs années : les générateurs de sites statiques. Ils fonctionnent eux aussi sur le principe de pages générées à partir d’un thème et de données, mais celles-ci ne sont plus chargées dans une base de données. À la place, ces générateurs utilisent des fichiers organisés dans des dossiers et souvent nommés d’une certaine manière. Comme leur nom l’indique, ces outils génèrent entièrement le site en statique et c’est ce résultat, un ensemble de fichiers HTML, que l’on publie finalement.

On ne peut pas faire plus rapide ou plus sécurisé, puisque le serveur n’exécute plus rien et se contente d’afficher des fichiers statiques. En contrepartie, on perd en confort d’utilisation : il faut accéder au fichier original pour éditer un article, ce qui n’est pas toujours possible et rarement pratique. C’est pour simplifier ce processus que Netlify CMS a été créé.

Cet outil ressemble à un CMS dynamique, mais il a été conçu pour les générateurs statiques. Il permet de modifier des articles avec une interface visuelle riche, sans avoir à gérer les fichiers à l’arrière-plan. Pour que le site puisse être mis à jour en utilisant uniquement un navigateur, l’outil nécessite quelques prérequis qui limitent malgré tout son usage.

Édition d’un article dans Netlify CMS. Cliquer pour agrandir
Édition d’un article dans Netlify CMS. Cliquer pour agrandir

Un hébergeur traditionnel ne suffira pas, vous aurez besoin d’un dépôt Git pour stocker les fichiers et d’un serveur spécifique capable de générer le site à partir de ces fichiers. Netlify, le créateur de l’outil, est aussi un hébergeur de sites statiques et il simplifie toutefois ces deux étapes. Vous pouvez en effet créer un site gratuit en créant un compte sur GitHub (pour les fichiers) et un autre chez Netlify (pour générer et distribuer le site).

Cela reste plus compliqué qu’un hébergeur classique qui fournit souvent des CMS préinstallés. Mais Netlify CMS simplifie considérablement la mise en place et l’utilisation au quotidien des sites statiques. Et une fois que tout est configuré, il permet d’utiliser un générateur de sites comme s’il s’agissait d’un moteur de site dynamique. Une démo est disponible à cette adresse, si vous voulez voir par vous même à quoi ressemble l’interface d’administration.

Même si Netlify CMS est la création d’une entreprise privée à la base, c’est un projet open-source qui peut s’adapter à de nombreux contextes. Par défaut, l’app est optimisée pour GitHub côté stockage des fichiers et Hugo ou Gatsby côté création du site. À peu près n’importe quel dépôt Git et n’importe quel générateur de site peuvent également fonctionner toutefois et des travaux sont déjà en cours pour gérer Gitlab et Bitbucket, en plus de GitHub.

Si le sujet vous intéresse, vous pouvez commencer à cette adresse pour obtenir en quelques clics un nouveau site statique, ou bien consulter la documentation pour adapter Netlify CMS à votre environnement.

avatar palmipedes | 

y a t-il une alternative gratuite à feu iWeb désormais ? merci de vos réponses

avatar KeepAlive | 

RapidWeaver

avatar Hope25 | 

mobirise pour les non techniciens. Ca se rapproche le plus à iWeb

avatar lolo57 | 

Oui, mais les CMS c'est souvent une mauvaise bonne idée, rien ne vaut un site écrit à partir de zéro. Question sécurité, évolutivité et finalement coût.
Je ne dit pas qu'il n'y a pas des cas ou le CMS s'impose, mais souvent un CMS c'est un bazooka pour tuer une mouche.

avatar HadrienX | 

Je rejoins ton avis. Et puis les CMS comme WordPress, sont très bien pour la base mais si on veut les personnaliser et les sortir de leur utilisation classique, ça devient plus difficile qu'avec une solution traditionnelle.

avatar kornichon | 

Netlify CMS n'est pas vraiment un CMS comme WordPress.

- Wordpress stocke tout dans une base de données, et effectue le rendu de manière dynamique.
- Netlify CMS est plutôt une interface en ligne pour éditer les fichiers texte qui contiennent les textes du site au format Markdown, les fichiers texte étant stockés sur Github.

avatar AirForceTwo | 

Si tu dis ça, c'est que tu n'as pas compris ce qu'est un CMS. Ou alors, tu confonds CMS et thème.

Un CMS est un système de gestion de contenu et permet de rendre un site facilement éditable. Ça n'empêche absolument pas d'écrire la totalité du HTML, CSS et js par soi-même de A à Z. D'ailleurs, un bon CMS n'écrit pas une ligne de HTML que tu ne contrôles pas.

Le problème du CMS comme tu l'entends est apparu avec WordPress et sa liste interminable de thèmes et plugins foireux, écrits à 99% avec les pieds. Tout un chacun s'est mis à créer des sites à partir de ces modules tout prêts, et on a perdu la notion de vrai CMS. On a commencé à croire qu'un site bâti sur un CMS était juste un assemblage de codes pris un peu partout.

Il est parfaitement possible créer l'ensemble du code (front-end) d'un site depuis zéro, puis d'y accoler un CMS qui permettra l'édition simple du contenu de celui-ci, la création de pages, l'optimisation automatique d'images, etc . L'avantage évident du CMS devient alors le développement backend. Tout est déjà pré-mâché. Pas besoin de faire des requêtes SQL, les questions de sécurité sont simplifiées, car on utilise l'API du CMS en question pour tout ce qui est affichage dynamique des données, d’où l'intérêt de choisir un CMS solide et correctement conçu. Le développement est alors plus rapide. Et quand on développe proprement, on peut mettre à jour le CMS sans que ça ne casse quoi que ce soit.

Un bon CMS dispose également d'un système de cache, qui fait en sorte que les pages ne soient pas recalculées à chaque visionnage. Les requêtes en base de données ne sont faites que lorsque nécessaire.

Un bon CMS dispose également d'un système de gestion des accès permettant, tant pour le front-end que pour le back-end, de définir précisément qui a accès à quoi.

Pour résumer, il faut vraiment regarder à côté de Wordpress. Il y a plein de CMS très puissants. On doit même pouvoir faire ce type de développement avec Wordpress, mais je n'aime de toute façon pas du tout sa structure. Mais il est faux de dire qu'un CMS limite la personnalisation. C'est justement tout le contraire. Si vous vous sentez limité dans une structure, une façon de fonctionner, c'est que vous n'avez pas encore trouvé le bon CMS.

avatar tbr | 

un OUI à 100%

avatar PiRMeZuR | 

On peut l’utiliser avec Github Pages ? Ça rendrait la solution attrayante.

CONNEXION UTILISATEUR