L'essentiel
Payload CMS v3 (open-source, TypeScript-first) est le choix optimal pour les projets Next.js B2B où le TCO, la type-safety et la souveraineté des données priment. Coût licence : 0 €. TCO 3 ans : à partir de 864 €.
Strapi v5 (open-source, REST+GraphQL) convient aux équipes qui veulent une prise en main rapide via une interface graphique et un écosystème de plugins étendu. TCO 3 ans self-hosted : à partir de 697 €.
Contentful (SaaS enterprise) se justifie pour les organisations avec 20+ éditeurs, des workflows d'approbation avancés et un budget CMS de 6 000+$/an. TCO 3 ans : 20 000 à 25 000 $.
Le choix du CMS impacte le budget total d'un projet Next.js de à partir de 745 € (Payload, intégration simple) à partir de 745 €+ (Contentful, intégration avec gouvernance).
Nehos utilise Payload CMS v3 en standard depuis début 2025 — y compris pour nehos-groupe.com. Nous recommandons Strapi pour les migrations depuis v4 existant, et Contentful pour les grands comptes avec exigences SOC2.
Payload CMS vs Strapi vs Contentful : quel headless CMS pour votre projet B2B en 2026 ?
Grilles tarifaires, matrice fonctionnelle 18 critères, benchmarks de performance, TCO sur 3 ans et recommandation Nehos selon votre profil d'entreprise. Un guide de décision actionnable, pas un comparatif théorique.
Adapté à toute taille de structure
#Trois philosophies, trois modèles économiques
Payload CMS, Strapi et Contentful sont tous des headless CMS, mais ils reposent sur des philosophies radicalement différentes. Comprendre ces différences structurelles est le préalable à un choix éclairé.
Payload CMS v3 est un CMS open-source TypeScript-first qui s'intègre directement dans une application Next.js 16. Le CMS, l'admin et le front partagent le même processus Node.js, le même dépôt Git et le même déploiement. Modèle économique : gratuit (licence MIT), monétisation via Payload Cloud (hébergement managé optionnel).
Strapi v5 est un CMS open-source Node.js avec une interface d'administration graphique complète. Il expose automatiquement des APIs REST et GraphQL pour chaque type de contenu. Le CMS est un service indépendant du front, déployé séparément. Modèle économique : gratuit self-hosted, monétisation via Strapi Cloud (99-499 $/mois).
Contentful est un CMS SaaS propriétaire (closed-source) avec une infrastructure cloud mondiale. Le contenu est stocké et servi depuis les serveurs Contentful. Modèle économique : freemium limité (5 utilisateurs, 25K records) puis facturation mensuelle progressive (489 $/mois plan Team, custom enterprise).
Ces trois modèles déterminent tout le reste : coût, flexibilité, dépendance fournisseur, conformité réglementaire et expérience développeur.
#Grille tarifaire détaillée : du gratuit au premium
#Payload CMS v3 — le coût se résume à l'infrastructure
| Composante | Coût |
|---|---|
| Licence CMS | 0 € (MIT open-source) |
| Payload Cloud (optionnel) | À partir de 30 $/mois |
| Self-hosted OVH (recommandé Nehos) | 7 €/mois |
| Utilisateurs admin | Illimité, gratuit |
| Appels API | Illimité (votre infra) |
| Stockage médias | Dépend de votre Object Storage (S3 compatible) |
| Support | Communauté Discord + GitHub (gratuit) |
**Coût annuel type projet PME (self-hosted OVH) :**à partir de 1 065 €/an (infrastructure seule).
#Strapi v5 — deux trajectoires de coûts
| Composante | Self-hosted | Strapi Cloud Pro | Strapi Cloud Team |
|---|---|---|---|
| Licence CMS | 0 € (MIT) | Incluse | Incluse |
| Abonnement mensuel | 0 € | 99 $/mois | 499 $/mois |
| Hébergement OVH | 7 €/mois | Inclus | Inclus |
| Utilisateurs admin | Illimité | 5 inclus (+10 $/user) | 20 inclus (+10 $/user) |
| Appels API | Illimité (votre infra) | 1M/mois inclus | 5M/mois inclus |
| Stockage | Dépend de votre infra | 100 Go | 500 Go |
| Support | Communauté | Prioritaire |
Coût annuel type projet PME : self-hosted à partir de 1 065 €/an, Strapi Cloud Pro 1 188 $/an, Strapi Cloud Team 5 988 $/an.
#Contentful — le SaaS enterprise
| Plan | Free | Team | Enterprise |
|---|---|---|---|
| Prix mensuel | 0 $ | 489 $/mois | Sur devis (1 500+ $/mois) |
| Utilisateurs | 5 | 25 | Illimité |
| Espaces | 1 | 5 | Illimité |
| Records (entrées) | 25 000 | 50 000 | Custom |
| Locales | 2 | 10 | Illimité |
| Appels API/mois | 1M | 10M | Custom |
| Rôles & permissions | Basiques | Avancés | Custom + SCIM |
| SSO SAML | Non | Non | Oui |
| SLA | Non | 99,9 % | 99,95 % |
| Support | Forum | Dédié |
Coût annuel type projet PME : plan Team = 5 868 $/an. Pour un usage enterprise avec SSO et SLA : 18 000 à 36 000 $/an selon la négociation.
#Matrice fonctionnelle : 18 critères de comparaison
| Critère | Payload CMS v3 | Strapi v5 | Contentful |
|---|---|---|---|
| Open-source | Oui (MIT) | Oui (MIT) | Non (propriétaire) |
| Self-hosted | Oui | Oui | Non (SaaS uniquement) |
| Intégration Next.js | Native (même app) | Séparée (API client) | Séparée (SDK JS) |
| TypeScript natif | Oui (config + types auto) | Partiel (plugin codegen) | Partiel (SDK typé) |
| APIs exposées | REST + GraphQL + Local API | REST + GraphQL | REST + GraphQL |
| Langage de requête | Local API TypeScript | REST/GraphQL standard | CDA REST + GraphQL |
| Interface admin | React (dans Next.js) | React (standalone) | SPA propriétaire |
| Collaboration temps réel | Non | Non | Oui |
| Workflows éditoriaux | Draft/Publish | Draft/Publish + Review | Draft/Review/Publish/Archive |
| Versioning de contenu | Oui (v3) | Oui (v5) | Oui (natif, 200 versions) |
| Multi-locale (i18n) | Plugin officiel | Plugin officiel | Natif (jusqu'à 50 locales) |
| RBAC granulaire | Oui (field-level) | Oui (action-level) | Oui (entry-level, plan Team+) |
| Webhooks | Oui | Oui | Oui |
| Plugin/extension ecosystem | Jeune (50+ plugins) | Mature (1 500+ plugins) | Moyen (Marketplace apps) |
| Médias et assets | S3 compatible (OVH, AWS) | Cloudinary, S3, local | Contentful Assets CDN |
| CDN intégré | Non (votre CDN : Cloudflare, OVH) | Non (votre CDN) | Oui (Fastly, mondial) |
| Conformité RGPD self-hosted | Oui (données en France via OVH) | Oui (données en France via OVH) | Limité (DPA signable, EU datacenter) |
| SSO SAML/OIDC | Oui (custom auth) | Oui (plugin EE) | Oui (plan Enterprise) |
#Expérience développeur (DX) : le critère décisif pour les équipes techniques
La DX détermine la productivité quotidienne de votre équipe et, indirectement, le coût de développement. Sur un projet Next.js, les différences sont significatives.
#Payload CMS v3 — la DX la plus intégrée
Payload s'installe comme une dépendance NPM dans votre app Next.js. Les collections et champs sont définis en TypeScript dans des fichiers de configuration :
// payload.config.ts
export default buildConfig({
collections: [
{
slug: 'articles',
fields: [
{ name: 'title', type: 'text', required: true },
{ name: 'publishedAt', type: 'date' },
{ name: 'body', type: 'richText' },
],
},
],
})
Les types TypeScript sont générés automatiquement. Votre composant ArticleCard.tsx reçoit un objet Article avec la bonne signature de types — zéro mapping manuel, zéro risque de désynchronisation. En développement local, le CMS et le front tournent dans le même processus : un next dev suffit.
Temps de setup initial : 30 minutes à 2 heures pour un développeur Next.js confirmé.
#Strapi v5 — la DX la plus accessible
Strapi mise sur une interface graphique pour définir les types de contenu. Un développeur junior ou un chef de projet technique peut créer un modèle de données complet sans écrire une ligne de code. Le Content-Type Builder est visuel, intuitif et produit automatiquement les endpoints REST et GraphQL.
Le revers : consommer ces APIs depuis Next.js nécessite un client HTTP (fetch, axios ou un wrapper maison), un mapping des réponses JSON vers les types TypeScript du front, et la gestion des erreurs réseau. Strapi v5 améliore la situation avec le plugin @strapi/types, mais la couverture reste inférieure à celle de Payload.
Temps de setup initial : 15 minutes à 1 heure (interface graphique rapide à prendre en main).
#Contentful — la DX la plus standardisée
Contentful fournit un SDK JavaScript officiel (contentful.js) qui abstrait les appels API. Le SDK est bien documenté, stable et couvre 95 % des cas d'usage. Un outil de codegen TypeScript (contentful-typescript-codegen) génère les types à partir du modèle de données.
Le principal point de friction : la latence réseau. Chaque requête de contenu passe par l'API Contentful (CDN Fastly). En développement local, cela ajoute 100 à 300 ms par requête. En production avec ISR/SSG, l'impact est masqué par le cache Next.js — mais le temps de build initial sur un site de 500+ pages peut atteindre 10 à 15 minutes contre 2 à 5 minutes avec Payload (Local API, zéro latence réseau).
Temps de setup initial : 1 à 3 heures (création du space, définition du modèle via l'interface web, configuration du SDK).
#Benchmarks de performance : temps de réponse API et temps de build
Nous avons mesuré les performances des trois CMS sur un projet de test identique : 200 articles, 50 catégories, 500 médias, déployé sur un VPS OVH B2-15 (4 vCPU, 15 Go RAM) pour Payload et Strapi, et sur l'infrastructure SaaS pour Contentful.
| Métrique | Payload CMS v3 | Strapi v5 | Contentful |
|---|---|---|---|
| Temps de réponse API (p50) | 8 ms (Local API) | 45 ms (REST local) | 85 ms (CDN EU) |
| Temps de réponse API (p95) | 22 ms | 120 ms | 180 ms |
| Temps de build 200 pages (SSG) | 18 s | 52 s | 78 s |
| Temps de build 1 000 pages (SSG) | 45 s | 3 min 10 s | 5 min 40 s |
| Revalidation ISR (single page) | 12 ms | 65 ms | 110 ms |
| Mémoire RAM serveur CMS | ~180 Mo (partagé Next.js) | ~350 Mo (processus séparé) | N/A (SaaS) |
Analyse : Payload domine sur les performances brutes grâce à son architecture in-process — la Local API ne passe pas par le réseau. Strapi affiche des temps de réponse corrects en self-hosted mais plus élevés qu'en Local API. Contentful est pénalisé par la latence réseau mais compensé en production par le CDN Fastly (les données mises en cache côté CDN sont servies en < 20 ms globalement).
Pour les projets avec des builds fréquents (> 10/jour) ou des catalogues volumineux (> 1 000 pages), l'écart de performance Payload justifie à lui seul le choix.
#TCO sur 3 ans : la comparaison qui tranche
Le TCO (Total Cost of Ownership) inclut tous les coûts : licence, hébergement, intégration initiale, maintenance, montée en compétence de l'équipe et coûts cachés.
#Scénario 1 — PME B2B (1 site, 5 éditeurs, 500 contenus, 100 Go médias)
| Poste de coût | Payload v3 (OVH) | Strapi v5 (OVH) | Strapi Cloud Pro | Contentful Team |
|---|---|---|---|---|
| Licence / abonnement (36 mois) | 0 € | 0 € | 3 564 $ | 17 604 $ |
| Hébergement infra (36 mois) | à partir de 1 241 € | à partir de 1 241 € | Inclus | Inclus |
| Intégration initiale | à partir de 32 000 € | 2 15 872 € | 2 15 872 € | à partir de 5 500 € |
| Formation équipe (1 jour) | à partir de 800 € | à partir de 496 € | à partir de 496 € | à partir de 800 € |
| Maintenance CMS (36 mois) | à partir de 825 € | à partir de 825 € | à partir de 896 € | à partir de 592 € |
| Mises à jour majeures (1 sur 3 ans) | à partir de 992 € | à partir de 1 113 € | Inclus | Inclus |
| TCO total 36 mois | 1 10 368 € | à partir de 1 346 € | ~10 600 $ | ~23 500 $ |
#Scénario 2 — ETI B2B (3 sites multi-langue, 15 éditeurs, 5 000 contenus, 500 Go médias)
| Poste de coût | Payload v3 (OVH) | Strapi v5 (OVH) | Contentful Enterprise |
|---|---|---|---|
| Licence / abonnement (36 mois) | 0 € | 0 € | ~72 000 $ (2 000 $/mois) |
| Hébergement infra (36 mois) | à partir de 889 € | 1 12 672 € | Inclus |
| Intégration initiale (3 sites) | à partir de 32 000 € | 2 15 872 € | 3 2 944 € |
| Formation équipe (3 jours) | à partir de 1 346 € | à partir de 1 113 € | à partir de 1 346 € |
| Maintenance CMS (36 mois) | 3 2 176 € | à partir de 889 € | à partir de 825 € |
| Mises à jour majeures | à partir de 32 000 € | 2 15 872 € | Inclus |
| TCO total 36 mois | 2 13 824 € | 19 4 224 € | ~91 200 $ |
Verdict TCO : le delta est massif. Sur un scénario ETI multi-sites, Payload self-hosted coûte 4 à 5 fois moins cher que Contentful Enterprise sur 3 ans. Strapi self-hosted se situe entre les deux. Le surcoût Contentful se justifie uniquement par les fonctionnalités enterprise absentes des alternatives open-source : SLA contractuel 99,95 %, support dédié 24/7, SSO SCIM, audit logs avancés et certification SOC2.
#Effort de migration : changer de CMS en cours de route
Le choix d'un CMS headless engage sur 3 à 5 ans minimum. Mais si vous devez migrer, voici l'effort estimé :
| Migration | Effort estimé | Complexité |
|---|---|---|
| Strapi v4 → Strapi v5 | 3 – 8 jours | Moyenne (breaking changes API) |
| Strapi v5 → Payload v3 | 5 – 15 jours | Forte (réécriture modèle + migration données) |
| Contentful → Payload v3 | 8 – 20 jours | Forte (export/import + refonte SDK → Local API) |
| Payload v3 → Strapi v5 | 5 – 12 jours | Forte (inverse du sens Nehos standard) |
| WordPress → Payload v3 | 5 – 15 jours | Moyenne (plugins wp-json + scripts migration) |
| WordPress → Contentful | 8 – 20 jours | Forte (restructuration complète du modèle) |
Le coût de migration inclut : réécriture du modèle de données, scripts de transfert des contenus et médias, mise à jour des composants front-end (changement de client API), vérification SEO (redirections 301, schema markup), et recette fonctionnelle.
Recommandation : commencer avec le bon CMS dès le départ coûte 10 à 50 fois moins cher que migrer après 2 ans de production.
#Recommandation Nehos par type de projet
Après avoir déployé ces trois CMS sur des projets réels, voici notre grille de recommandation :
#Choisir Payload CMS v3 quand :
- Votre stack est Next.js 16 (App Router)
- Votre équipe maîtrise TypeScript
- Vous voulez un TCO minimal et prévisible
- La souveraineté des données est une exigence (hébergement OVH France)
- Vous préférez une architecture monorepo (CMS + front dans le même dépôt)
- Votre équipe éditoriale compte moins de 15 personnes
C'est le choix par défaut de Nehos pour tous les nouveaux projets depuis début 2025. Notre propre site nehos-groupe.com tourne sur cette stack.
#Choisir Strapi v5 quand :
- Vous avez déjà un projet Strapi v4 en production (migration v4→v5 < réécriture complète)
- Votre équipe technique est plus familière avec les APIs REST/GraphQL classiques qu'avec les Local APIs
- Vous avez besoin du marketplace de plugins Strapi (1 500+ extensions)
- Votre front-end n'est pas Next.js (Nuxt, SvelteKit, Astro — Payload perd son avantage d'intégration native)
#Choisir Contentful quand :
- Votre organisation compte plus de 20 éditeurs de contenu simultanés
- Vous avez besoin de workflows éditoriaux avancés (draft → review → approval → scheduled publish)
- Votre DSI exige un SLA contractuel 99,95 % et une certification SOC2/ISO27001
- Le budget CMS n'est pas un facteur limitant (> 6 000 $/an)
- Vous gérez plus de 10 locales avec des équipes de traduction externes
#Les critères que la plupart des comparatifs ignorent
Au-delà des fonctionnalités et des prix, trois critères différencient fondamentalement ces CMS pour un projet B2B en production :
Vendor lock-in. Avec Payload et Strapi, vos données sont dans votre base PostgreSQL/MySQL sur votre infrastructure. Vous pouvez changer de CMS en conservant vos données. Avec Contentful, vos données sont dans le cloud Contentful. L'export est possible (API d'export) mais la migration est un projet à part entière. Sur un horizon de 5+ ans, cette dépendance a un coût que peu de comparatifs chiffrent.
Bus factor de l'écosystème. Payload est soutenu par une équipe de 15-20 personnes et monétisé via Payload Cloud. Strapi est soutenu par ~50 employés et ses offres Cloud. Contentful est une entreprise de 500+ employés avec des revenus récurrents stables. La pérennité économique de votre fournisseur CMS est un risque à évaluer, surtout pour les projets enterprise avec un horizon de 5-10 ans.
Adéquation architecturale. Payload est conçu pour Next.js. Strapi est agnostique (fonctionne avec n'importe quel front). Contentful est agnostique et cloud-first. Si votre stack front évolue de Next.js vers un autre framework dans 3 ans, Payload perd son avantage principal. Strapi et Contentful sont plus résilients face aux changements de stack front-end.
#Conclusion : le meilleur CMS est celui qui correspond à vos contraintes
Il n'existe pas de meilleur headless CMS universel. Le choix dépend de cinq variables : budget, taille de l'équipe éditoriale, stack technique, exigences réglementaires et horizon de vie du projet.
Pour la majorité des projets PME et ETI B2B en France en 2026, Payload CMS v3 self-hosted sur OVHcloud offre le meilleur rapport fonctionnalité/coût/souveraineté. C'est le choix que nous faisons pour nos clients et pour nous-mêmes.
Si votre décision n'est pas encore tranchée, un échange de 15 minutes avec notre équipe technique permet de clarifier le choix en fonction de votre contexte spécifique.