Variables d'environnement
Trois valeurs requises, quelques optionnelles, et celles qui vous appartiennent plutôt qu'au CMS.
Une application cmssy lit deux sortes de valeurs : ce que l'espace de travail fournit, et ce que votre application décide. Toute cette page consiste à ne pas les mélanger.
Requises
Copiez-les depuis Settings → Headless dans le dashboard, ou laissez npx @cmssy/cli link les écrire dans .env.local.
| Variable | Ce que c'est |
|---|---|
CMSSY_ORG_SLUG | Le slug de votre organisation. Il figure dans le chemin de diffusion : c'est pourquoi un slug d'espace ne doit être unique qu'au sein de son organisation. |
CMSSY_WORKSPACE_SLUG | L'espace de travail dont cette application affiche le contenu. |
CMSSY_DRAFT_SECRET | Protège l'aperçu brouillon et le mode édition. Généré par espace - ce n'est pas une chaîne que vous inventez. |
Passez-les à defineCmssyConfig brutes. Un repli ?? "" transforme une variable manquante en variable vide, et l'erreur ressort ailleurs, plus tard.
Optionnelles, et quand elles servent
| Variable | Quand |
|---|---|
CMSSY_API_TOKEN | Un jeton cs_. Requis pour le calque de brouillon ?cmssyDev=1, et lu par cmssy link. Développement seulement : le laisser défini ne change rien pour les visiteurs. |
CMSSY_API_URL | Remplace l'endpoint de diffusion. Par défaut https://api.cmssy.io ; à définir uniquement en auto-hébergement ou pour un backend de staging. |
CMSSY_EDITOR_ORIGIN | L'origine admin autorisée à encadrer votre site. Par défaut le cloud cmssy ; à définir seulement si vous hébergez l'admin, car elle pilote le pont postMessage et la CSP frame-ancestors. |
Les vôtres, pas celles du CMS
Ce ne sont pas des réglages cmssy. cmssy stocke du contenu canonique, jamais votre domaine, vos identifiants d'analytics ou les secrets de vos routes.
| Variable | Ce que c'est |
|---|---|
CMSSY_REVALIDATE_SECRET | Protège votre route /api/revalidate. Vous inventez la valeur et donnez la même au webhook content.changed - voir webhooks. |
NEXT_PUBLIC_SITE_URL | Votre origine publique. Les URL canoniques, les alternatives hreflang et le sitemap en découlent. |
NEXT_PUBLIC_GA_ID, NEXT_PUBLIC_GTM_ID | Analytics et tag manager. Conditionnez leur rendu à leur présence, pour que les déploiements de preview et les runs locaux ne polluent pas vos chiffres - voir scripts. |
Côté serveur veut dire côté serveur
Chaque variable CMSSY_* ci-dessus est serveur. Next n'envoie au navigateur que NEXT_PUBLIC_* : un composant client qui lit la configuration n'obtient donc pas une valeur erronée, mais aucune valeur.
C'est la panne classique : defineCmssyConfig se plaint de variables manquantes alors qu'elles sont bien définies. La cause est un import, pas l'environnement - un composant "use client" a tiré une valeur d'un module qui lit la configuration. Les types ne posent pas de problème, ils sont effacés. Les valeurs traînent process.env dans le bundle.
Gardez les secrets hors du dépôt, et définissez les mêmes variables chez votre hébergeur pour la production.
Étapes suivantes
- Installation - où elles servent d'abord.
- Aperçu brouillon - ce que débloquent réellement le secret de brouillon et le jeton API.
- CLI -
cmssy linkécrit les trois valeurs requises et les vérifie.