Schéma Sanity : page
Schéma Sanity : page
Documentation technique
Objet : Schéma Sanity
Type : Document
Slice : Slice 1 (Page d’accueil)
Cycle : DOC → SPEC → CODE → TEST → INTÉG
Statut : DOC
1. Description et périmètre
1.1. Objectif
Le schéma page est un document Sanity qui représente une page marketing (vitrine) avec un contenu modulaire flexible via un PageBuilder. Il permet aux équipes marketing de créer des pages de manière autonome sans intervention technique.
1.2. Utilisation principale
- Page d’accueil (homepage)
- Pages marketing (landing pages)
- Pages de présentation (about, features, etc.)
1.3. Périmètre concerné
- Type : Document Sanity
- Champ principal : PageBuilder (array de blocs modulaires)
- Blocs supportés : hero, features, testimonials, cta, richText, imageGallery
- Métadonnées SEO : title, description, slug
- Mode preview : Support du mode preview Sanity
2. Contrats d’entrée
2.1. Structure du schéma1/3
Entrée : Configuration du schéma page dans Sanity Studio
Structure :
2.1. Structure du schéma2/3
{ _type: "page", title: string, slug: { current: string }, description: string, pageBuilder: [ { _type: "hero", heading: string, tagline: string, image: image }, { _type: "features", title: string, features: [ { title: string, text: string, icon: string } ] }, { _type: "testimonials", title: string, testimonials: [ { name: string, role: string, text: string, avatar: image } ] }, { _type: "cta", heading: string, text: string, buttonText: string, buttonLink: string }, { _type: "richText", content: blockContent }, { _type: "imageGallery", title: string, images: [image] } ]}2.1. Structure du schéma3/3
Règles :
title: obligatoire, titre de la pageslug: obligatoire, unique, utilisé pour l’URLdescription: optionnel, pour le SEOpageBuilder: obligatoire, tableau de blocs modulaires- Chaque bloc a ses propres champs spécifiques
2.2. Types de blocs PageBuilder1/3
Hero :
heading: titre principaltagline: sous-titreimage: image d’illustration
Features :
title: titre de la sectionfeatures: tableau de features (title, text, icon)
2.2. Types de blocs PageBuilder2/3
Testimonials :
title: titre de la sectiontestimonials: tableau de témoignages (name, role, text, avatar)
CTA :
heading: titre de la sectiontext: texte de descriptionbuttonText: texte du boutonbuttonLink: lien du bouton
2.2. Types de blocs PageBuilder3/3
RichText :
content: contenu Portable Text (blockContent)
ImageGallery :
title: titre de la galerieimages: tableau d’images
3. Contrats de sortie
3.1. Données Sanity
Sortie : Document Sanity de type page
Format : JSON avec la structure définie ci-dessus
Utilisation :
- Requête GROQ pour récupérer le document
- Utilisation dans Astro pour le rendu SSG
- Support du mode preview avec
previewDrafts
3.2. Métadonnées SEO
Sortie : Métadonnées pour l’optimisation SEO
Champs :
title:<title>HTMLdescription:<meta name="description">slug: URL de la page
4. Side effects
4.1. Impact sur le rendu
Effet : Le schéma page nécessite un rendu dynamique des blocs PageBuilder
Impact :
- Astro doit parcourir le tableau
pageBuilder - Chaque bloc doit avoir un composant Astro correspondant
- Le rendu doit être flexible pour accepter différents types de blocs
4.2. Impact sur le mode preview
Effet : Le schéma page supporte le mode preview Sanity
Impact :
- Le client Sanity doit basculer en mode
previewDrafts - Le cookie
sanity-previewdoit être détecté - Le cache Edge doit être bypassé en mode preview
5. Erreurs et gestion
5.1. Erreurs potentielles
| Erreur | Cause probable | Solution |
|---|---|---|
| Schéma non trouvé | Type page non défini dans le schéma |
Créer le schéma page |
| Bloc non reconnu | Type de bloc non défini dans le PageBuilder | Ajouter le type de bloc dans le schéma |
| Slug en double | Deux pages avec le même slug | Utiliser la validation Sanity pour l’unicité |
| Portable Text invalide | Structure de blockContent incorrecte | Vérifier la structure du blockContent |
5.2. Codes HTTP
Non applicable (schéma Sanity)
6. Checklist de validation
Avant de passer à l’étape SPEC, vérifier :
- La structure du schéma est documentée
- Les types de blocs PageBuilder sont définis
- Les contrats d’entrée/sortie sont documentés
- Les side effects sont identifiés
- Les erreurs potentielles sont documentées
7. Approbation
Validation requise : Confirmer que la documentation du schéma page peut passer à l’étape SPEC.
8. Historique des modifications
| Date | Version | Description | Auteur |
|---|---|---|---|
| 2026-09-16 | 1.0 | Création initiale | Devin |