
December 15, 2025
Sur un projet récent, on a été confrontés à un besoin assez classique, mais qui peut vite devenir compliqué : permettre à notre client de créer et gérer facilement ses contenus, tout en garantissant un affichage homogène dans l’application, même lorsqu’il s’agit de contenus provenant d’autres sources.
Dans notre cas, les contenus venaient de deux endroits distincts :
Il nous fallait donc un back-office simple et flexible, qui permette au client de créer rapidement du contenu et d’automatiser certaines actions.
On avait donc besoin d’une solution intuitive, flexible et facilement personnalisable. Très vite, un candidat s’est imposé : Strapi.
Pour ceux qui ne connaissent pas encore Strapi : c’est un CMS headless open-source, qui permet de gérer des contenus via une interface simple, et d’exposer ces données via API. Et un CMS headless, c’est un système de gestion de contenus qui sépare le contenu de sa présentation. Le contenu est exposé via des API et peut être utilisé dans n’importe quelle application ou site.
Sans Strapi, créer un nouveau type de contenu pour une application peut vite devenir fastidieux: il faut gérer le formulaire, la base de données, les API, et toutes les règles associées. Pas vraiment le moment le plus fun pour une équipe produit.
Le Content-Type Builder de Strapi nous a clairement simplifié la vie :
en quelques minutes, on peut créer un modèle de contenu depuis l’interface, et Strapi génère automatiquement :

Avec le builder et un plugin custom, on a pu mettre ça en place proprement.
(Petit couac cependant : un bug lié à unstable_useContentManagerContext est apparu sur notre environnement staging. On l’a contourné en intégrant directement la logique dans le plugin, et une issue est ouverte chez Strapi.)
Même si notre client n’avait pas immédiatement besoin d’une gestion fine des droits, Strapi propose un système complet de rôles et permissions.
On peut définir facilement :
On ne s’en est pas beaucoup servi pour ce projet, mais savoir que cette structure est déjà prête pour quand l’équipe grandira, c’est rassurant.

Un des vrais avantages de Strapi dans notre cas : éviter le travail manuel, et surtout les oublis.
Grâce aux webhooks, on peut déclencher des actions automatiques dès qu’un contenu change d’état : création, mise à jour, publication…
Concrètement sur ce projet: quand un article est publié (entry.publish), Strapi envoie automatiquement une notification à notre backend. Celui-ci peut alors créer ou mettre à jour l’élément correspondant dans notre application.
Résultat :
Ce sont des petits détails, mais à l’échelle d’un produit, ça fait gagner beaucoup de temps et d’énergie.
Pour le client, ça change tout : plus besoin de prévenir l’équipe technique à chaque modification, et aucun risque d’oubli dans la chaîne de mise à jour.
Le plugin i18n (Internationalization) de Strapi est très pratique pour gérer plusieurs langues.
Ce n’était pas une priorité sur ce projet, mais si jamais le besoin de traduire les contenus arrive, tout est déjà prêt côté CMS.
De la même façon, la gestion multi-environnements (local → staging → prod) est assez simple à maintenir, ce qui évite d’avoir des configurations différentes partout.
Strapi propose déjà une marketplace riche, avec des plugins comme :

Mais dans notre cas, il manquait une fonctionnalité très spécifique : un champ multi-select dépendant d’un autre champ, basé sur des données provenant de notre API.
On a donc créé un plugin custom pour gérer ce comportement. Strapi permet de personnaliser :

En résumé, on garde la simplicité de Strapi tout en ajoutant nos propres briques quand on en a besoin. C'est clairement un des points qui nous a fait gagner beaucoup de temps.
Un rapide aperçu:
Bref, ça reste accessible et adaptable selon la taille du projet.
Parmi les solutions étudiées, Strapi s'est imposé par rapport à ses concurrents. Les plateformes Cloud comme Contentful, Kontent ou Prismic sont de très bonnes solutions pour le multilingue ou la rapidité de lancement, mais impliquent des coûts qui peuvent s'envoler et une personnalisation limitée par leur API propriétaire.
Notre choix s'est porté sur Strapi, la seule option open-source et auto-hébergeable de la sélection. Cette solution nous confère un contrôle total et gratuit en auto-hébergement. En gérant nous-mêmes l'infrastructure, nous contournons les limites des outils Cloud, ce qui a été crucial pour développer des fonctionnalités spécifiques (comme notre plugin custom) et garantir une intégration parfaite via les webhooks. Nous avons privilégié la flexibilité et le contrôle technique.
Au final, Strapi nous a permis de :
Bref, chez Matters, Strapi c'est validé !

Matters accompagne les startups et scale-ups à développer des solutions vertueuses pour l'environnement et la société. Nous organisons régulièrement des meetups et des conférences au cours desquelles les intervenants partagent leurs expériences sur des thématiques dédiées. Pour être informé.e de nos prochains événements, inscrivez-vous à notre Newsletter ou suivez-nous sur Linkedin.
