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
blockContentexistant
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/reactou 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 |