Pourquoi j’ai choisi Storyblok comme CMS

Photo by Scott Graham on Unsplash

Dans le monde du Content Management System (CMS), il y a beaucoup de choix. Vraiment beaucoup de choix… Un peu trop peut-être ? Et qui dit choix, dit devoir faire un choix.

Mon approche du développement

Je suis actuellement développeur front-end chez Pelostudio. L’équipe étant petite, nous avons souvent pour mission de monter une solution complète pour nos clients à un seul développeur. Pour nous permettre de délivrer de la qualité avec si peu de ressources dans un temps plutôt court, nous nous basons sur la nouvelle façon de produire des sites ou applications web qu’est la JAMstack.

J pour Javascript. A pour APIs. M pour markups.

Si l’on résume assez simplement ce principe, nous construisons la partie souvent personnalisée et unique d’un site web, à savoir le front, et nous nous basons sur des services tiers pour gérer tout le reste. Ça permet de se focaliser sur l’élément différenciant du client, sans réinventer la roue vis-à-vis de fonctionnalités partagées par beaucoup de sites web qu’est la gestion de contenu, les formulaires de contact ou encore le redimensionnement d’images par exemple.

Wordpress, le plus connu des CMS

Quand on parle de gestion de contenu, de tenir un blog ou de s’occuper d’une partie éditoriale d’un site web, Wordpress est ce qui vient principalement à l’esprit. Avec des années de présence, une efficacité qui n’est plus à prouver, et des milliers (millions ?) de sites web “propulsés” par Wordpress, ce CMS n’est clairement plus à présenter et n’a pas à faire ses preuves.

Mais voilà, quand on le cadre dans un contexte de type JAMstack, Wordpress n’est pas le gestionnaire de contenu le plus adapté à mon approche du développement. Loin de moi l’idée de dire qu’il est incompatible avec le développement de type JAMstack, c’est faux, il l’est. Il ne répond juste pas aux critères suivants, qui sont pour moi des raisons de m’entourer de services tiers :

  • Il faut un serveur PHP pour héberger la partie Wordpress, un autre pour héberger la partie Front.
  • Il faut régulièrement le mettre à jour pour assurer sa sécurité
  • Il faut créer des règles d’édition si l’équipe gérant le contenu doit avoir différents rôles
  • L’expérience développeur ne semble pas être aussi bonne que via les services de CMS selon mes lectures, n’ayant pas pu le vérifier par moi-même

Storyblok, mon choix parmi les autres

Lorsque j’ai commencé à développer des sites web en JAMstack il m’a fallu faire un choix entre tous les CMS disponibles sur le marché : pas simple au début. Avec le temps, j’ai pu tester en profondeur Storyblok et Netlify CMS, et ai survolé Contentful, Sanity et Prismic.

Mon choix définitif s’est posé sur Storyblok et c’est celui que je conseille aux clients souhaitant travailler avec nous / moi. Plutôt qu’un long roman, qui n’est pas mon style, je vais partir sur une liste des points qui me font adopter cette solution :

  • L’outil est peu coûteux comparé à d’autres gestionnaires de CMS. À chacun ses raisons de vouloir payer moins, dans tous les cas, si le service est de qualité pourquoi se priver.
  • Un système de prévisualisation en “quasi-live” est possible si le développement est bien fait, ce qui rend l’expérience d’édition de contenu beaucoup plus plaisante voir efficace.
  • L’expérience globale de création et maintient des pages par les personnes créant le contenu est très bonne.
  • L’expérience développeur est aussi très bonne, on peut créer beaucoup de types de champs, la donnée reçue est claire, facilement manipulable, et on a aussi accès à des webhooks.
  • La gestion d’un site multilingue est simple et présente depuis bien longtemps.
  • Il va sans dire que l’hébergement et la mise à jour du CMS ne sont pas à l’ordre du jour avec un service tiers comme celui-ci.
  • La gestion de règles utilisateurs est peu complexe.

Au-delà des critères propres à l’outil, le fait d’utiliser toujours le même CMS avec mes différents clients apporte aussi un gain de productivité et une meilleure assistance possible. Il ne faut pas se fermer et ne plus regarder d’autres technologies ou services, au risque d’être dépassé, mais à trop vouloir tester de nouveaux outils sans jamais s’arrêter sur un seul on perd du temps et devenons moins productifs, qu’on le veuille ou non.

Les alternatives possibles

Chez Pelostudio, et non personnellement, nous avons déjà monté une solution très robuste avec Hubspot CMS. Mais c’est un tout autre ordre de prix, tout comme une autre philosophie. Cela s’inscrit dans le cadre d’Hubspot, qui est de tracker énormément pour convertir plus. Les performances du site web en sont un peu dégradées, l’expérience du CMS est un peu moins bonne que via des outils comme Storyblok, et l’expérience développeur est quant à elle sévèrement dégradée comparée à un service de CMS conçu pour une approche JAMstack.

De mon expérience avec Netlify CMS, celui-ci reste trop simple et peu adapté à une équipe non technophile. Certes il est gratuit, l’hébergement se fait simplement via GitHub et l’on a une prévisualisation, mais l’expérience de création ne se fait pas du tout via un système de blocs et uniquement via du Markdown. C’est peu adapté si la personne qui édite n’est pas familière à cette technologie, et c’est très vite limitant si le contenu se veut plus complexe qu’une simple suite de texte et images.

Concernant Contentful, Sanity et Prismic, je ne les ai que survolés. L’expérience développeur est très bonne, malheureusement l’expérience utilisateur est trop complexe et peu intuitive comparé à ce qu’offre Storyblok. Pour moi c’est un frein, si je conseille mes clients sur un outil, c’est pour leur rendre la tâche d’édition simple et leur permettre d’accélérer leur business. Ce n’est pas pour le proposer un outil qui n’apporte qu’à moi, développeur, une bonne expérience. Peut-être que ces services ont ou vont évoluer, mais ils n’étaient pas encore au niveau de Storyblok sur ce point, selon moi, au moment de mes comparatifs.

Si vous voulez un grand comparatif des solutions, jetez un œil à cet excellent article sur Bejamas : https://bejamas.io/blog/headless-cms/

Comment démarrer un projet avec Storyblok et Pelostudio

Chez Pelostudio nous avons fait le choix de ne pas héberger les services en votre nom et de vous permettre de garder la main dès le début. Fini les petites factures à droite à gauche pour payer quelques dizaines d’euros un service, bonjour la capacité pour vous d’évoluer et de passer le projet à votre équipe développement dans le futur.

Généralement nous demandons dès le début d’avoir accès soit à une adresse e-mail propre à votre entreprise pour configurer l’ensemble des outils en votre nom, soit nous demandons un accès à ces différents services si vous les possédez déjà ou les créez vous-même :

  • Un repository sur GitHub
  • Un compte administrateur sur Netlify ou Vercel
  • Un compte administrateur sur Storyblok
  • Un accès ou un contact à voir gestionnaire de nom de domaine pour interfacer l’hébergement Netlify ou Vercel

Développer dès le début dans un environnement proche de celui de la production permet de gagner du temps dans l’avenir, cela évite une migration, et permet de se rendre compte d’éventuels bugs durant toute la phase de conception de votre site web.

Conclusion

Si j’ai fait le choix de Storyblok, c’est pour la très bonne expérience qu’il apporte à la fois aux personnes créant le contenu et aux développeurs. Avoir un service s’occupant de la partie CMS enlève bien des soucis de sécurité ou de mise à jour, et utiliser le même outil de projets en projets apporte une meilleure connaissance de celui-ci et une meilleure productivité.

Frontend Engineer @ Pelostudio

Frontend Engineer @ Pelostudio