
Pourquoi RAISESHERPAS a financĂ© Strapi : comprendre ce quâest un headless CMS Open Source
May 27, 2021

đ LâidĂ©e de ce post est de comprendre ce qui fait actuellement le succĂšs de Strapi et pourquoi nous avons dĂ©cidĂ© de les financer chez RAISE Sherpas grĂące Ă notre Venture Loan Expansion.đ°
Pour bien analyser et vulgariser âpour les nulsâ, nous passerons en revue 4 grands aspects :
1. Comprendre les logiciels Open Source ;
2. Comprendre les CMS et les headless CMS ;
3. Le rĂŽle des APIs dans la Tech aujourdâhui ;
4. Lâutilisation de la technologie Node.js (basĂ©e sur le langage JavaScript).
Les Logiciels Open Source
Le terme âopen sourceâ signifie que le code source dâun logiciel est public et accessible. Le logiciel peut donc ĂȘtre modifiĂ© et diffusĂ© par nâimporte qui, GRATUITEMENT. Bien entendu, il y a tout de mĂȘme des rĂšgles Ă respecter, mais nous ne rentrerons pas dans les dĂ©tails ici.
On oppose gĂ©nĂ©ralement Open Source et logiciels dits propriĂ©taires, dont les modĂšles SaaS par exemple, font partie â on paye une licence pour avoir le droit dâutiliser le code source dâune entreprise, lequel donne accĂšs Ă un service, mais ce code reste la propriĂ©tĂ© de lâentreprise qui lâa dĂ©veloppĂ©.
đ„€ Exemple dâOpen Source cĂ©lĂšbre : Coca-Cola â la recette est Ă ce jour toujours secrĂšte ; on peut essayer de lâimiter, mais personne ne peut la voir ni la modifier, on ne peut donc encore moins la copier Ă lâidentique.
Les logiciels Open Source ne sont pas tous rĂ©cents, les premiers logiciels libres ont fait leur apparition dans les annĂ©es 80, et les annĂ©es 90 ont vu Ă©merger de maniĂšre plus importante les logiciels Open Source (que certains puristes diffĂ©rencient du logiciel libre). Open Office par exemple est considĂ©rĂ© comme un logiciel Open Source, tout comme le systĂšme dâexploitation Linux.
(Pour en savoir plus sur la dĂ©finition de lâOpen Source, retrouvez une petite vidĂ©o explicative par ici đ)
đ„ Pourquoi les dĂ©veloppeurs prĂ©fĂšrent-ils lâOpen Source ?
- Permet de ne pas ĂȘtre âenfermĂ©â au sein dâune brique technologique ;
- Liberté de pouvoir modifier, contribuer, ajouter des extensions et nouvelles fonctionnalités pour améliorer le code source et le développer grùce à une communauté ;
- Souplesse et flexibilité, en plus de davantage de sécurité, car le code est consultable par tout le monde ;
- Prix : il nây a pas de licence Ă payer, le code source est disponible dâaccĂšs â sans frais supplĂ©mentairesâ Ă tout le monde sans restriction ;
- Quiconque peut le modifier et le redistribuer librement, il ne limite pas le contenu qui peut ĂȘtre prĂ©sentĂ©.
â Quelques inconvĂ©nients, tout de mĂȘmeâŠ
- Il faut quand mĂȘme sâoccuper des contributions de la communautĂ© et faire en sorte que le logiciel continue dâĂȘtre maintenu, le tout en rappelant que lâOpen Source nâest pas source de revenusâŠ
- âŠdâoĂč la barriĂšre de la monĂ©tisation, via du hosting, du support client ou le dĂ©veloppement de fonctionnalitĂ©s sur mesure premium pour certains clients (Open Core) ;
- QualitĂ© : difficile de sây retrouver parmi les projets Open Source, qui peuvent ĂȘtre de qualitĂ© trĂšs variables ;
- Le support, sâil est gratuit, est plus hasardeux puisquâil repose sur la bonne volontĂ© de la communautĂ© ;
- La publication du code source le rend aussi plus vulnérable aux attaques.
đĄ Revenons-en Ă Strapi pour illustrer la force dâun modĂšle Open Source et de sa communautĂ© : dĂ©jĂ 2 millions de tĂ©lĂ©chargements, 36k âstarsâ sur GitHub Ă avril 2021, +500 contributeurs, ce qui fait donc un bon nombre dâextensions potentielles (300 plugins et +15k commits Ă date) et autres fonctionnalitĂ©s Ă explorer.
Les Content Management System (CMS) et lâĂ©mergence des headless CMS

- Le âclientâ (vous, ou moi, depuis notre ordi) envoie une requĂȘte Ă un serveur (une adresse, un url etc.) ;
- Le serveur va ensuite lâinterprĂ©ter dans son propre langage informatique (gĂ©nĂ©ralement du PHP) et rĂ©unir les informations nĂ©cessaires pour construire la page web et la base de donnĂ©es associĂ©e ;
- Pour cela, il âdemandeâ les donnĂ©es Ă la base de donnĂ©es, qui communique avec le serveur en langage SQL ;
- Le serveur va renvoyer Ă son tour au âclientâ (votre ordinateur par exemple) la page web construite, la plupart du temps avec du HTML (structure), du CSS (mise en forme) et du JavaScript (animation du contenu) ;
- On appelle back-office la partie du site web qui permet de modifier/ajouter/retirer des informations et du contenu sur notre page web (PHP/SQL), et front-office celle qui permet dâafficher ces informations (HTML/CSS/JavaScript) ;
- Enfin, il existe des pages web statiques : pas de serveur et/ou de base de donnĂ©es, câest-Ă -dire quâelles seront toujours les mĂȘmes, quel que soit le moment oĂč vous les consultez (ex : un fichier HTML), et Ă lâinverse des pages web dynamiques, avec un serveur et une base de donnĂ©es, qui peuvent Ă©voluer avec les utilisateurs (comme une page Facebook) ou au cours du temps (comme un blog).
đ€·ââïž Et les CMS dans tout ça ?
đĄ Un CMS est un logiciel ayant pour but de faciliter ou dâautomatiser les tĂąches de conception et de mise Ă jour dâun site Internet.
Câest un peu difficile Ă situer, mais on estime que les premiers CMS sont apparus dans les annĂ©es 2000. Depuis, le marchĂ© a explosĂ© et il en existe plusieurs milliers.
Le CMS gĂšre automatiquement les tĂąches dâaffichage des pages (front-office) et de mise Ă jour du contenu (back-office et lien avec la base de donnĂ©es). Autrement dit, les CMS gĂšrent Ă votre place tout ce qui permet de relier le client au serveur, et le serveur Ă la base de donnĂ©es.
Pour rĂ©sumer, câest un site web dynamique prĂ©-construit qui dispose dâun back-office et qui automatise Ă notre place la gestion de lâaffichage des pages et la relation avec la base de donnĂ©es.
đąđŽ CaractĂ©ristiques, avantages et inconvĂ©nients
- SimplicitĂ© : les CMS permettent de bĂątir un site web (presque) sans la moindre connaissance en programmation, tout se fait sur des interfaces graphiques et sans ligne de code (il faut quand mĂȘme rĂ©aliser lâintĂ©gration au niveau du frontend dans certains cas, non dĂ©taillĂ©s ici) ;
- De la mĂȘme maniĂšre que Word met en forme du texte, le CMS met en forme votre site web sans avoir Ă Ă©crire du HTML â il sera gĂ©nĂ©rĂ© automatiquement ;
- SĂ©paration entre contenu et design â 3 avantages :
- Une fois le design choisi, il peut automatiquement sâappliquer Ă toutes les pages dâun seul coup ;
- On peut modifier le design sans se soucier du contenu ;
- On peut récupérer des templates (soit des designs préconçus).
- Gestion des droits dâaccĂšs simplifiĂ©e ;
- Extensions : on peut avoir un coeur de CMS et dĂ©velopper ensuite de nouvelles fonctionnalitĂ©s pour le rendre plus flexible (dâoĂč lâavantage dâun outil Open Source đ).
đ„ Avantages des CMS
- Accessibles sans langage de programmation ;
- Rapides Ă mettre en place, de quelques heures Ă quelques minutes ;
- Gain de temps vs. développer un site web en parant de zéro ;
- Lorsquâils sont Open Source, la communautĂ© ;
- Faciles à faire évoluer et à maintenir selon les derniÚres évolutions Web (design, techno, ergonomie, etc.).
â InconvĂ©nients des CMS
- Manque de flexibilitĂ© : il est tout de mĂȘme compliquĂ© et coĂ»teux dâajouter des fonctionnalitĂ©s non prĂ©vues initialement ;
- Moins performants ;
- Plus susceptibles dâĂȘtre attaquĂ©s : un mĂȘme CMS partage un code source commun â sâil est mal protĂ©gĂ©, cela peut faire des dĂ©gĂąts sur plusieurs sites web⊠;
- Difficile à migrer : changer de CMS est plus long que de faire évoluer un site web sans CMS ;
- Moins faciles à référencer (car pages redondantes) et moins stables (un bon CMS mis à jour réguliÚrement peut pallier ces défauts).
đĄ Quelques exemples de CMS notables : WordPress (le plus connu), Prestahop pour le e-commerce, ou encore Wix ou Webflow parmi les plus rĂ©cents, qui sont davantage des website builders.
đ LâĂ©mergence des headless CMS
Nous lâavons vu, un CMS dispose dâune partie back-office et dâune partie front-office, en UN SEUL produit, car il sont liĂ©s. Ces CMS sont donc particuliĂšrement adaptĂ©s Ă la gĂ©nĂ©ration de sites web. Cependant, depuis plusieurs annĂ©es, nous voyons Ă©merger de nouvelles interfaces comme les smartphones, les tablettes ou encore les montres connectĂ©es et autres assistants vocaux, ce qui nĂ©cessite donc une certaine adaptation cĂŽtĂ© frontend. Câest ici quâinterviennent les headless CMS.
Lâarchitecture des systĂšmes headless CMS est fondamentale pour relever ces nouveaux dĂ©fis en matiĂšre de contenu.
đĄ Le âheadâ de âHeadless CMSâ se rĂ©fĂšre au front-office. Un systĂšme de gestion de contenu headless se compose principalement dâune API et de la technologie de back-office requise pour gĂ©rer le contenu. Lâapproche headless permet aux dĂ©veloppeurs de fournir un contenu en tant que service, abrĂ©gĂ© en CaaS, ce qui signifie simplement que le stockage et la livraison du contenu sont gĂ©rĂ©s par un logiciel distinct.
⚠Cela marque une petite révolution car :

- En perdant le head, vous pouvez donc intĂ©grer nâimporte quelle base de code et utiliser votre langage prĂ©fĂ©rĂ© â et cela permet surtout aux dĂ©veloppeurs dâutiliser des technologies modernes, pour de meilleurs expĂ©riences et produits digitaux ;
- Dâun point de vue technique, un CMS headless utilise simplement les appels API pour rendre le contenu dans la base de code du site, plutĂŽt que de crĂ©er des relations complexes entre le code et le contenu (comme le ferait un CMS traditionnel) ;
- Pour cette raison, de nombreux dĂ©veloppeurs trouvent lâarchitecture headless plus facile Ă maintenir ;
- Contrairement Ă un CMS traditionnel, un CMS headless nâa pas systĂ©matiquement besoin dâhĂŽte, et des options dâauto-hĂ©bergement existent ;Vous nâavez pas non plus Ă vous soucier de toutes les mises Ă jour de sĂ©curitĂ© et dâautres problĂšmes de maintenance liĂ©s Ă lâutilisation dâun CMS traditionnel comme WordPress.
đ„ Quelques avantages
- Flexibilité : création infrastructure de front adapté à chaque projet ;
- Mise sur marchĂ© rapide et compatibilitĂ© : pas besoin de se prĂ©occuper de lâaffichage sur les diffĂ©rentes interfaces ;
- SĂ©curitĂ© : publication du contenu pas accessible Ă partir du CMS â une potentielle cyber-attaque se limite donc Ă lâAPI et ne peut atteindre la base de donnĂ©es (cf. ci-dessous);
- ĂvolutivitĂ© : en gardant le back-office et le frontend sĂ©parĂ©s, aucune maintenance nâest nĂ©cessaire, vous pouvez donc mettre Ă niveau et personnaliser votre site web sans en compromettre les performances. De plus, la mises Ă jour du contenu, qui se fait depuis une seule et mĂȘme source, est donc plus efficace.
Le rĂŽle des API dans la Tech aujourdâhui
Les APIs sont devenues INCONTOURNABLES pour les startups aujourdâhui dans la construction dâapplications web.
đ€· OK cool, mais câest quoi ?!
Les APIs (Application Programming Interface) sont un ensemble de fonctions informatiques par lesquelles deux logiciels vont interagir sans intermédiation humaine, selon des conditions déterminées et documentées.
Elles peuvent fonctionner dans un environnement interne (au sein dâune mĂȘme entreprise) ou dans un environnement ouvert (câest le cas de Zapier par exemple, qui permet de connecter un service Ă un Ă©cosystĂšme externe, ou encore Paypal et son module de paiement e-commerce).
Enfin, il en existe plusieurs types :
- Les APIs de systĂšme dâexploitation ;
- Les APIs de langage de programmation ;
- les APIs dâinfrastructure ;
- Les APIs des services web : câest la catĂ©gorie connaissant actuellement la plus forte croissance. Par exemple, le service Airbnb utilise lâAPI Google Maps pour transformer les adresses des biens Ă louer en des points gĂ©olocalisĂ©s.
đ Il faut simplement retenir quâaujourdâhui, les APIs sont quasiment au centre de toutes les interactions logiciels, et câest un marchĂ© Ă part entiĂšre. (Vous trouverez ici un article pour aller plus loin.)
Lâutilisation de la technologie Node.js : le cas Strapi
Pour bien comprendre cette derniĂšre partie et en venir (enfin !) au cas Strapi, il faut dâabord un peu Ă©voquer le langage JavaScript et son histoire.
Comme vous le savez peut-ĂȘtre, HTML, créé dans Ă la fin des 80âs, est souvent prĂ©sentĂ© comme lâancĂȘtre du web. Les annĂ©es 90âs marquent Ă©galement lâĂ©mergence des premiers effets sur les pages web, via lâutilisation du dynamic HTML, qui se veut ĂȘtre lâancĂȘtre de JavaScript.
Les annĂ©es 2000 dĂ©mocratisent largement le langage JavaScript, de plus en plus utilisĂ© pour crĂ©er des interfaces cĂŽtĂ© âclientâ (souvenez-vous, la partie front-end).
Enfin, les annĂ©es 2010 marquent un tournant dans lâutilisation de JavaScript, qui Ă©tait jusque lĂ un langage assez basique et pas tellement apprĂ©ciĂ© des dĂ©veloppeurs. Deux raisons :
- Lâapparition de Google Chrome (2008) et son âV8â â le âmoteurâ de Chrome se base principalement sur du JavaScript, ce qui en accĂ©lĂšre considĂ©rablement le dĂ©veloppement, puisque jusque lĂ , peu de navigateurs lisaient efficacement le JavaScript ;
- Cet engouement donne naissance Ă une nouvelle technologie : Node.js đȘ qui permet dâexĂ©cuter des requĂȘtes PHP (et donc des requĂȘtes serveur ou encore backend), et surtout de maniĂšre beaucoup plus efficace, notamment pour ce qui est dâĂ©diter des applications web dynamiques (comme des serveurs chat par exemple).
đ Une des raisons est liĂ©e au fait que Node.js soit du code ânon bloquantâ. Contrairement Ă dâautres langages, il permet de faire deux tĂąches Ă la fois, sans avoir Ă attendre quâune tĂąche soit finie pour en lancer une autre : câest la fonction de callback (ex : tĂ©lĂ©charger deux fichiers simultanĂ©ment).
Plus dâinfos par ici đ Le non bloquant avec Node.js đ€ (il y a Ă©galement un trĂšs bon cours sur OpenClassrooms).
đŠ Le cas Strapi (câest pas trop tĂŽtâŠ)
Strapi vient rĂ©cemment dâentrer dans le cercle de nos laurĂ©ats RAISE Sherpas. Voici un rĂ©sumĂ© des raisons pour lesquelles nous leur avons octroyĂ© un financement đ
Strapi a levĂ© $10M auprĂšs dâIndex Ventures.
đĄ Bon, vous lâaurez compris, lâidĂ©e de cet article Ă©tait de dresser une par une quelques clĂ©s de comprĂ©hension des rĂ©centes Ă©volutions du web, afin de faire ressortir les avantages de la solution dĂ©veloppĂ©e par Strapi.
Strapi est donc un headless Content Management System (plutĂŽt un framework en rĂ©alitĂ©, mais ne compliquons pas les choses ici), Open Source, et basĂ© sur Node.js đ€©
On dit quâil est basĂ© sur un modĂšle JAMstack (JavaScript, API, Markup, Ă savoir fichiers HTML servis sans serveur web).
đ€ŻOK, mais jâai du mal Ă comprendre⊠Quelques explications đ
đ„ Strapi permet Ă des dĂ©veloppeurs ou fonctions mĂ©tiers de concevoir des sites ou applications Web en mode âAPIâ car câest un CMS API first (ie headless). Cette premiĂšres spĂ©cificitĂ© le rend trĂšs flexible et surtout âmulti distribuableâ. Il peut donc adresser nâimporte quel device, usecase ou solution digitale car âil faut simplement se brancherâ (cf. notre partie sur les APIs).
đ„ Open Source avec une communautĂ© grandissante et trĂšs impliquĂ©e : mĂȘme si on y connaĂźt rien, ça reste un signal trĂšs positif. Dâautant que maintenant, on connaĂźt les avantages de lâOpen Source đ€
đ„ Node.js : il nâexiste pas beaucoup de CMS headless basĂ©s sur Node.js. Cette caractĂ©ristique permet Ă Strapi de proposer un produit 100% JavaScript, du frontend au backend. Cela permet notamment de connecter des technologies de pointe en termes de frontend sans les limiter, et de crĂ©er des contenus dynamiques mĂȘme en langage serveur.
đ„ DĂ©jĂ des premiers signes intĂ©ressants sur leur modĂšle Entreprise (B2B), ce qui signifie sĂ»rement que la capacitĂ© de Strapi Ă proposer des fonctionnalitĂ©s Premium est importante, vs. des modĂšles SaaS et CMS traditionnels moins flexibles ou plus coĂ»teux.
A titre dâexemple, IBM, la NASA, Delivery Hero ou encore Walmart utilisent dĂ©jĂ Strapi en mode Open Source. Ce sont donc de potentiels (Ă©normes) clients qui ne sont plus Ă acquĂ©rir đ
(Plus dâinfos sur le use case Delivery Hero par ici đ)
đ Pour rĂ©sumer :
On comprend donc que Strapi rĂ©unit Ă peu prĂšs toutes les rĂ©centes Ă©volutions des CMS, ce qui en fait un Top Produit. Index a dâailleurs complĂštement prĂ©emptĂ© le deal :
- Câest un headless CMS par dĂ©finition souple, adaptable, personnalisable et multi-affichages ;
- Il est Open Source et bĂ©nĂ©ficie dĂ©jĂ dâune belle communautĂ© de 500+ contributeurs et de potentielles fonctionnalitĂ©s poussĂ©es Ă dĂ©velopper dans le futur (dĂ©jĂ 3M+ de tĂ©lĂ©chargements, 36k âstarsâ sur GitHub, 33k projets mensuels actifs et des centaines de plugins publiĂ©s) ;
- Il utilise des technologies de pointe avec un modĂšle moins coĂ»teux et trĂšs scalable comparĂ© Ă un CMS traditionnel â la preuve par ici (rachat de Npm par Microsoft)
- Le marchĂ© tend Ă Ă©voluer, avec dâun cĂŽtĂ© les website builders (ex. Wix) orientĂ© affichage du contenu, et de lâautre les CMS qui auront seulement vocation Ă gĂ©rer du contenu (coucou Strapi đ€ et exit les CMS traditionnels đ);
- Quand on sait que WordPress, créé en 2003, détient encore 35% du marché, on comprend donc tout le potentiel de Strapi !
- Une TRES belle Ă©quipe, une trĂšs belle exĂ©cution, un Ă©norme marchĂ© en mutation⊠Bref, Strapi apparaĂźt comme une Ă©vidence †difficile donc de ne pas les accompagner đ
, Co-Head de RAISE Sherpas
â
Retour aux articles


