STRAPI, le couteau suisse de l’API !

par OBELERY le 11 janvier 2021

WordPress a longtemps été le roi incontesté des CMS grâce à sa grande versatilité et facilité d’utilisation. Mais en 2020, les pratiques en développement font émerger de nouvelles solutions redoutablement puissantes et mieux adaptées au contexte contemporain. Strapi est l’une d’entre elles. Découvrons ce nouveau prétendant aux fonctionnalités puissantes et à l’interface sympathique.

Strapi, le petit projet français qui vise les étoiles !

Strapi est un Headless CMS Open Source créé en 2016 par les français Aurélien Georget, Jim Laurie, et Pierre Burgy. Projet étudiant  à la base, Strapi donne lieu à une startup qui attire l’intérêt de nombreux acteurs  du Global 500 tels que IBM, la NASA ou encore Walmart. Un projet suscitant de multiples levées de fonds, la dernière en date d’un montant de 10 millions d’euros !

L’équipe de Strapi.

Le CMS Strapi reste pour autant Open Source et gratuit, l’entreprise offrant du support payant. Le projet jouit par ailleurs de près de 400 contributeurs, 25 000 étoiles sur GitHub et plus d’un million de téléchargements. Un très beau positionnement pour un si jeune projet.

Logique modulaire et liberté totale

Strapi est un système de gestion de contenu à l’instar de WordPress, mais qui s’en différencie par le fait de ne pas générer directement de pages web mais plutôt des flux de données qui seront exploités pour bâtir un site, une application mobile, nourrir un ERP, etc. Ce CMS, dit « Headless », leur fournira une API (Interface Applicative Programmable) très complète.

L’objectif de cette approche est de se concentrer sur le contenu et non plus sur sa mise en forme, cette dernière étant laissée à l’appréciation des développeurs et du projet. Le contenu est bien séparé. Applications et sites pourront dès lors évoluer sans avoir d’impact sur le contenu ; un gain de temps et d’argent incontestable.

Une interface au service du contenu

Une fois installé, le CMS propose une interface sur-mesure, adaptable à n’importe quelle donnée : il est ainsi possible de créer ses propres modèles de contenus (ex : pages, produits, personnes…) et d’y inclure les champs désirés (ex : contenu texte, listes déroulantes, checkbox…).

Nul besoin d’installer une extension supplémentaire, comme c’est le cas avec WordPress. Ici on part du minimum et on crée nativement les éléments nécessaires à notre projet.

Une interface de gestion moderne, simple, et entièrement modulable. ©Strapi

Grande liberté technique

Il n’y a rien de pire pour un projet que de devenir esclave des technologies utilisées. Qui n’a jamais été confronté à un site ne pouvant plus évoluer, victime de l’obsolescence de son CMS, thème ou fonctionnalités tierces ? ! Cette situation nécessite souvent de devoir reprendre un projet à zéro tellement le contenu et sa présentation sont intriqués.

Strapi vise à déjouer ce piège. En se concentrant uniquement sur la gestion et la création du contenu et d’une API, il laisse aux développeurs la liberté de choisir les technologies utilisées pour générer une présentation. N’importe quelle technologie frontend peut dès lors être employée : React, Vue, Angular, Next, Flutter, Svelte, .Net, Php, Python, ou même un langage pas encore inventé !

Un nouveau contenu à gérer ? Définissez simplement les champs nécessaires, le nom du contenu et le tour est joué ! ©Strapi

Côté base de données, Strapi laisse également une grande liberté de choix puisqu’il peut gérer la majorité des systèmes actuels (MySQL, MongoDB, PostgreSQL, SQLite). Rien n’est imposé et le choix du système de base de données peut même évoluer avec le temps.

Pas de base de données ? Pas de soucis : Strapi embarque nativement SQLite et vous permet donc de vous passer de base de données pour les petits projets.

Cerise sur le gâteau, en termes d’API, Strapi permet de dialoguer en REST via des routes customisées mais aussi, pour les plus aventureux, avec GraphQL !

Extensibilité native

Strapi est écrit en JavaScript et est prévu nativement pour être étendu. Son code prévoit de vous laisser ajouter des fonctionnalités. Par exemple, ajouter une fonctionnalité de messagerie en temps réel via WebSocket est un jeu d’enfant. La documentation à ce sujet est d’ailleurs extensive et bien pensée.

Hébergement inhabituel

Le site du projet se targue de la facilité technique avec laquelle il est possible d’héberger Strapi. Il suffit d’avoir installé Node.js (un moteur JavaScript hors navigateur) sur sa machine pour tester localement ou sur son serveur web. En quelques clics votre CMS peut être déployé sur Heroku, AWS, Google Platform, Vercel, Netlify ou tout système gérant les containers (docker).

Ces dernières lignes vous font frissonner ? Vous êtes habitué à utiliser des hébergements mutualisés où il suffit de déposer ses fichiers par FTP ? Il vous faudra vous habituer car les hébergeurs mutualisés ne sont pas encore prêts. C’est donc le revers de la médaille, mais vous sortirez gagnant de ces nouveaux apprentissages.

En conclusion…

Strapi est une solution CMS headless des plus crédibles. L’entreprise, soutenue par des ténors du marché a le vent en poupe. Avec son attention particulière accordée à l’interface orientée utilisateur, Strapi a tout pour plaire. Du communiquant au développeur, tout le monde s’y retrouve. Un projet correctement développé avec cette solution s’inscrit dans la durée.

Envie d’essayer l’interface de Strapi tout de suite ? Une démo est disponible sans installation sur le site https://strapi.io/demo.

Vous êtes développeur ? Node est installé sur votre machine ? Pour démarrer il suffira d’écrire dans votre terminal : yarn create strapi-app my-project –quickstart

Bonne découverte !