Skip to content

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 page
  • slug : obligatoire, unique, utilisé pour l’URL
  • description : optionnel, pour le SEO
  • pageBuilder : obligatoire, tableau de blocs modulaires
  • Chaque bloc a ses propres champs spécifiques

2.2. Types de blocs PageBuilder1/3

Hero :

  • heading : titre principal
  • tagline : sous-titre
  • image : image d’illustration

Features :

  • title : titre de la section
  • features : tableau de features (title, text, icon)

2.2. Types de blocs PageBuilder2/3

Testimonials :

  • title : titre de la section
  • testimonials : tableau de témoignages (name, role, text, avatar)

CTA :

  • heading : titre de la section
  • text : texte de description
  • buttonText : texte du bouton
  • buttonLink : lien du bouton

2.2. Types de blocs PageBuilder3/3

RichText :

  • content : contenu Portable Text (blockContent)

ImageGallery :

  • title : titre de la galerie
  • images : 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> HTML
  • description : <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-preview doit ê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
Switch to normal mode

Contents