Strapi - une startup française (pour une fois) qui a développé un système de gestion de contenu (CMS) open source qui permet de créer et de gérer des sites web et des applications.
Strapi est basé sur Node.js et utilise une architecture de microservices, pour offrir une flexibilité et une scalabilité élevées.
Flexibité de conception
L’interface est intuitive pour la création et la gestion de contenu, mais surtout il fournit aussi une grande flexibilité pour personnaliser les schémas de données.
En dehors de la création des routes, des utilisateurs, des rôles et permissions le vrai avantage de Strapi réside dans sa capacité à créer différent types de contenu avec des champs personnalisés, et de definir des relations entre les types de contenu.
Concretement cela veut dire énormément de flexibilité dans la conception des modèles pour site, une chose qui a toujours manqué à WordPress (même si le fameux plugin Custom Post Type à permis de démocratiser cela) des uploads de fichiers,
A cette flexibilité s’ajoute un écosystme de plugins qui vient ajouter des trucs comme stripe pour le paiment, ou bien l’envoie de mail etc.
Ceci permet à Srapi d’offrir aux développeurs une experience très agréable pour créer et gérer facilement des API pour des applications web et mobile.
Strapi peut être utilisé avec des bases de données telles que MongoDB, MySQL et PostgreSQL.
Il peut également être déployé sur des plateformes de cloud telles que Heroku, AWS, et DigitalOcean, Scaleway, OVH bref… vous avez compris.
Cas d’utilisations
Vous pouvez aller consulter directement le site de Strapi qui se fera un plaisir de vous faire une longue liste d’applications pour leur produit.
De mon coté ce qui me semble être les 2 cas les plus saillants pour l’utilité de Strapi:
Un CMS moderne
L’approche modulaire et la stack de Strapi en fond une très bonne alternative à des CMS comme WordPress/Joomla et companie.
Notament pour ce qui est très orienté donnée, comme du ecommerce. Cela vous donne toute la liberté d’ajouter tous les champs personalisés que vous voulez pour vos produits.
C’est moins adapté si vous recherchez un page builder (dans ce cas regardez TinaCMS) mais pour tout ce qui est des type de données avec plein de champs (penser : système de gestione des RH, LMS, etc.)
Prototypage d’API
La conception de models pour une api peut être parfois un exercice perilleux où il est difficile d’avoir bon au premier coup.
Strapi fournit un environnement très flexible qui permet de concevoir des modèles de manière itérative et de les mettre rapidement entre les mains des utilisateurs, ainsi il est possible d’avoir un retour rapide du terrain pour voir si le modèle tient la route (hint: it doesn’t) et de faire corrections nécessaires.
Une fois que les modèles sont stables il devient possible de migrer l’api au besoin vers une stack plus robuste.
En conclusion
Comme pour toute chose il savoir nuancer. Strapi n’est pas un “WordPress Killer”
Mais c’est de façon certaine un outils très utile pour un certain nombre de scénario, notament là où la flexibilité et la rapidités sont nécessaires.
Pour le reste, à vous de voir.