Type de ressource : Configuration Sanity Studio (RĂŽles / Permissions / Plugins)
Fichier source : apps/studio/sanity.config.ts
Statut : Actif
Configuration principale du Sanity Studio pour le projet PP. Définit les plugins, les schémas enregistrés, et la configuration du mode preview pour les documents non publiés.
- Interface dâadministration pour la gestion du contenu Sanity
- Support du mode preview pour les documents en draft
- Configuration des plugins structureTool et visionTool
- Génération automatique des URLs de preview selon le type de document
- Environnements : Development, Preview, Production
- Utilisateurs concernés : Administrators, Editors, Contributors (configuration Sanity Dashboard)
- Types de documents impactés : post, author, category, amn, submission, blockContent
â (authentification OAuth)
â âą VĂ©rification du rĂŽle
â âą Application des permissions
â âą Affichage de l'interface adaptĂ©e
[Actions autorisées / restreintes]
| Composant |
RĂŽle |
Couche |
| Sanity Studio |
Interface dâĂ©dition |
L1 (CMS) |
| Configuration preview |
Génération URLs preview |
L1 (Configuration) |
| structureTool |
Organisation du desk |
L1 (Plugin) |
| visionTool |
Ăditeur GROQ |
L1 (Plugin) |
| Variable |
Description |
Obligatoire |
Valeur par défaut |
SANITY_STUDIO_PROJECT_ID |
ID du projet Sanity |
â
|
- |
SANITY_STUDIO_DATASET |
Nom du dataset (ex: development) |
â
|
development |
SANITY_STUDIO_PREVIEW_URL |
URL du site pour prévisualisation |
â |
http://localhost:4321 (local) |
SANITY_STUDIO_PREVIEW_SECRET |
Secret pour validation preview |
â
|
- |
| RĂŽle |
Droits principaux |
Public cible |
AccĂšs Studio |
| Administrator |
AccÚs total (schémas, settings, tous les documents, gestion des utilisateurs) |
Ăquipe Architecture / Tech Lead |
â
Complet |
| Editor |
Création, modification et publication de tous les contenus |
Ăquipe Marketing / Contenu |
â
Complet |
| Contributor |
Création et modification de contenus, sans droit de publication |
Rédacteurs externes ou juniors |
â
Complet |
| Viewer |
Lecture seule |
Stakeholders / relecture |
â
Lecture seule |
| Type de document |
Administrator |
Editor |
Contributor |
Viewer |
post (Article blog) |
â
CRUD + Publish |
â
CRUD + Publish |
â
Create + Update |
â
Read |
author |
â
CRUD |
â
CRUD |
â |
â
Read |
category |
â
CRUD |
â
CRUD |
â |
â
Read |
amn (Message singleton) |
â
CRUD + Publish |
â
CRUD + Publish |
â
Create + Update |
â
Read |
submission (Formulaire) |
â
CRUD |
â
CRUD |
â |
â
Read |
blockContent (Utilitaire) |
â
CRUD |
â |
â |
â |
Non implémenté - permissions gérées via Sanity Dashboard uniquement.
| Provider |
Configuration |
Obligatoire |
| Sanity OAuth |
Default Sanity OAuth |
â
|
| Google OAuth |
Non configuré |
â |
| GitHub OAuth |
Non configuré |
â |
| Email/Password |
Non configuré |
â |
- â
Authentification obligatoire pour tous les utilisateurs
- â
Invitation des utilisateurs via Sanity Dashboard (Administrator uniquement)
- â
RĂ©vocation dâaccĂšs immĂ©diate possible depuis le Dashboard
Non implémenté - utilisation de la structure par défaut de structureTool.
Non implémenté - utilisation des vues par défaut.
| Plugin |
RĂŽle |
Version |
Obligatoire |
@sanity/structure |
Organisation du desk |
Latest |
â
|
@sanity/vision |
Ăditeur GROQ pour tester les requĂȘtes |
Latest |
â |
import {structureTool} from 'sanity/structure'
import {visionTool} from '@sanity/vision'
export default defineConfig({
plugins: [structureTool(), visionTool()],
| Mécanisme |
Implémentation |
Rationale |
| Preview Secret |
Validation cÎté Astro via SANITY_PREVIEW_SECRET |
EmpĂȘche lâaccĂšs non autorisĂ© aux drafts |
| Variables scoped |
Préfixe SANITY_STUDIO_ pour exposition contrÎlée |
Limite lâexposition des secrets cĂŽtĂ© client |
| Dataset separation |
development vs production |
Isolement des environnements |
- â
Les Administrators sont les seuls à pouvoir modifier les schémas
- â
Les tokens dâAPI ne sont JAMAIS exposĂ©s dans le Studio
- â
Le preview secret est partagé entre Studio et Astro
- â
Les variables sans préfixe
SANITY_STUDIO_ restent cÎté serveur/CLI uniquement
| Token |
Permissions |
Généré par |
Stockage |
SANITY_API_READ_TOKEN |
Lecture des drafts |
Administrator |
.env (non versionné) |
SANITY_API_WRITE_TOKEN |
Ăcriture (mutations) |
Administrator |
.env (non versionné) |
[CrĂ©ation] â [Draft] â [Relecture] â [Publication] â [ArchivĂ©]
Contributor Contributor Editor/Viewer Public Administrator
- â
Utiliser le mode Preview avant publication
- â
Vérifier le rendu responsive (mobile, tablet, desktop)
- â
Archiver les contenus obsolĂštes plutĂŽt que les supprimer
| Ătape |
Responsable |
Action |
| 1. Rédaction |
Contributor |
Création du contenu en draft |
| 2. Relecture |
Editor / Viewer |
Validation du contenu |
| 3. Publication |
Editor / Administrator |
Publication finale |
| 4. Vérification |
Editor |
Vérification post-publication (preview + live) |
| SymptĂŽme |
Cause probable |
Solution |
| Preview ne fonctionne pas |
Secret non configuré |
Vérifier SANITY_STUDIO_PREVIEW_SECRET |
| Build échoue |
Variables manquantes |
Vérifier .env à la racine |
| Schémas non visibles |
Import incorrect dans schemaTypes/index.ts |
Vérifier les exports |
| Déploiement échoue |
Configuration Wrangler incorrecte |
Vérifier wrangler.toml |
CÎté Sanity :
- Sanity Dashboard â Settings â Activity â Audit logs
- Vérifier les actions des utilisateurs (création, modification, publication)
CÎté application :
- Logs des erreurs de build (CI/CD)
- Logs de preview (console du navigateur)
# Ouvrir http://localhost:3333
# 1. Créer/éditer un document dans le Studio
# 2. Cliquer sur "Open Preview"
# 3. Vérifier que la page Astro s'ouvre avec le contenu en draft
- â
Configurer les rĂŽles et permissions avant dâinviter des utilisateurs
- â
Documenter les changements de configuration dans ce fichier
- â
Révoquer les accÚs des utilisateurs partis
- â
Rotation réguliÚre des tokens API (tous les 90 jours)
- â
Valider les contenus avant publication
- â
Utiliser le mode Preview systématiquement
- â
Archiver les contenus obsolĂštes
- â
Créer des drafts complets (tous les champs obligatoires remplis)
- â
Ne pas publier (demander Ă un Editor)
- â
Utiliser le mode Preview pour vérifier le rendu
- â ïž Le Studio peut ĂȘtre lent avec beaucoup de documents (> 10 000)
- â ïž Les images lourdes peuvent ralentir lâĂ©dition
- â
Optimiser les images avant upload (max 2 MB recommandé)
- â Le preview nĂ©cessite une configuration manuelle des URLs
- â Les tokens dâAPI ne peuvent pas ĂȘtre utilisĂ©s directement dans le Studio
- â La customisation visuelle est limitĂ©e sans plugins spĂ©cifiques
- Documentation Sanity : Studio Configuration
- Documentation Sanity : Studio Environment Variables
- Schémas associés : Tous les schémas dans
apps/studio/schemaTypes/
- Frontend associé :
apps/web/src/pages/api/preview.ts
- Configuration Cloudflare :
apps/studio/wrangler.toml
| Date |
Version |
Description |
Auteur |
| 2026-09-15 |
1.0 |
Création initiale de la documentation |
Devin |