Skip to content

Bloc PageBuilder : richText

Bloc PageBuilder : richText

Documentation technique

Objet : Bloc PageBuilder
Type : Object
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 bloc richText est un bloc PageBuilder qui affiche du contenu riche (Portable Text) avec un support pour le formatage de texte, les listes, les liens, etc.

1.2. Utilisation principale

  • Section de contenu textuel de la page d’accueil
  • Présentation détaillée de fonctionnalités
  • Contenu éditorial flexible

1.3. Périmètre concerné

  • Type : Object Sanity
  • Champs : content (blockContent)
  • Rendu : Composant Astro RichText
  • Portable Text : Support des blocs et marks Sanity

2. Contrats d’entrée

2.1. Structure du bloc1/2

Entrée : Configuration du bloc richText dans Sanity Studio

Structure :

{
_type: "richText",
content: blockContent
}

2.1. Structure du bloc2/2

Règles :

  • content : obligatoire, tableau de blocs Portable Text
  • Utilisation du schéma blockContent existant

2.2. Validation

Règles de validation :

  • content : minimum 1 bloc
  • Utilisation des règles de validation du schéma blockContent

3. Contrats de sortie

3.1. Données Sanity

Sortie : Bloc richText dans le PageBuilder

Format : JSON avec la structure définie ci-dessus

Utilisation :

  • Rendu dans le composant Astro RichText
  • Utilisation dans le PageBuilder de la page

3.2. Rendu Astro

Sortie : Composant Astro RichText

Comportement :

  • Rendu du Portable Text en HTML
  • Support des blocs (paragraphes, listes, headings, etc.)
  • Support des marks (bold, italic, links, etc.)
  • Responsive design

4. Side effects

4.1. Impact sur le rendu

Effet : Le bloc richText nécessite un composant Astro spécifique

Impact :

  • Création du composant RichText.astro
  • Utilisation de @portabletext/react ou d’un renderer personnalisé
  • Gestion des styles du Portable Text

4.2. Impact sur les performances

Effet : Le Portable Text peut être complexe à rendre

Impact :

  • Optimisation du rendu du Portable Text
  • Lazy loading si le contenu est long

5. Erreurs et gestion

5.1. Erreurs potentielles

Erreur Cause probable Solution
Contenu vide content vide Afficher un message d’erreur ou masquer le bloc
Bloc non supporté Type de bloc non géré par le renderer Afficher le bloc en fallback ou ignorer
Mark non supporté Type de mark non géré par le renderer Afficher le texte sans le mark

5.2. Codes HTTP

Non applicable (bloc PageBuilder)

6. Checklist de validation

Avant de passer à l’étape SPEC, vérifier :

  • La structure du bloc est documentée
  • 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 bloc richText 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