Skip to content

SPEC : Phase 1 - Configuration Mode Hybride (Static par défaut, SSR à la demande)

SPEC : Phase 1 - Configuration Mode Hybride (Static par défaut, SSR à la demande)

Documentation technique

Phase : 1 - Configuration Mode Hybride
Cycle : DOC → SPEC → CODE → TEST → INTÉG
Statut : ✅ TERMINÉ

1. Contrats d’entrée

1.1. Configuration Astro (astro.config.mjs)1/3

Entrée : Fichier de configuration Astro actuel

État actuel :

output: 'server' // Mode SSR actuel

Sortie attendue :

output: 'server' // Hybride : static par défaut, SSR à la demande

1.1. Configuration Astro (astro.config.mjs)2/3

Règles :

  • Garder output: 'server' (adaptateur Cloudflare force ce mode)
  • Garder session: false
  • Garder l’adaptateur Cloudflare
  • Utiliser export const prerender = true sur les pages statiques pour les pré-rendre

1.1. Configuration Astro (astro.config.mjs)3/3

Validation :

  • Build réussi avec npm run build
  • Pages statiques pré-rendues dans dist/
  • Pages dynamiques (preview) rendues à la demande

1.2. Configuration sanity-typegen1/2

Entrée : Schémas Sanity existants (post, author, category, blockContent, amn, submission)

Sortie attendue :

  • Sanity typegen activé dans apps/studio/sanity.cli.ts
  • Schéma Sanity extrait automatiquement (schema.json)
  • Types générés pour le Studio

1.2. Configuration sanity-typegen2/2

Règles :

  • Activer schemaExtraction.enabled: true dans sanity.cli.ts
  • Activer typegen.enabled: true dans sanity.cli.ts (pour le Studio)

Validation :

  • Fichier schema.json généré dans apps/studio/
  • Types générés pour le Studio

2. Contrats de sortie

2.1. Build Astro

Sortie : Build réussi en mode hybride

Attendu :

  • Pas d’erreurs de build
  • Pages statiques pré-rendues dans dist/
  • Pages dynamiques prêtes pour le rendu à la demande

2.2. Types Sanity

Sortie : Schéma et types générés pour le Studio

Attendu :

  • Fichier schema.json généré dans apps/studio/
  • Types générés pour le Studio

3. Side effects

3.1. Mode hybride

Effet : Static par défaut, SSR à la demande

Impact :

  • Les pages sont pré-rendues au build par défaut
  • Les pages avec prerender = false sont rendues à la demande
  • Le mode preview nécessite prerender = false sur les pages concernées

3.2. Schéma et types Sanity

Effet : Schéma et types générés automatiquement

Impact :

  • Le Studio peut générer automatiquement le schéma
  • Types disponibles pour le développement du Studio

4. Erreurs et gestion

4.1. Erreurs potentielles

Erreur Cause probable Solution
Build échoue Configuration incorrecte de l’adaptateur Vérifier la configuration Cloudflare
Schéma non généré Schema extraction désactivé Activer schemaExtraction.enabled: true
Types non générés Typegen désactivé Activer typegen.enabled: true

4.2. Codes HTTP

Non applicable (phase de configuration)

5. Checklist de validation

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

  • La documentation de la configuration est à jour
  • Les contrats d’entrée/sortie sont documentés
  • Les side effects sont identifiés
  • Les erreurs potentielles sont documentés

6. Approbation

Validation requise : Confirmer que la phase 1 (Configuration Mode Hybride) peut passer à l’étape CODE.

7. Historique des modifications

Date Version Description Auteur
2026-09-16 1.0 Création initiale Devin
2026-09-16 1.1 Correction : Mode hybride au lieu de SSG pur Devin
2026-09-16 1.2 Phase terminée avec succès Devin

8. Résultats de l’implémentation

8.1. Changements effectués1/2

Configuration Sanity Studio (apps/studio/sanity.cli.ts) :

  • ✅ Schema extraction activé (schemaExtraction.enabled: true)
  • ✅ Typegen activé (typegen.enabled: true)
  • ✅ Schéma généré (schema.json - 37KB)
  • ✅ Types générés (sanity.types.ts - 6KB, 20 types)

8.1. Changements effectués2/2

Documentation :

  • ✅ config.objectData.md mis à jour (mode hybride documenté)
  • ✅ SPEC corrigée et terminée
  • ✅ Documentation de test créée (GettingStarted/05-phase1-config-hybride-types.md)

Configuration Git :

  • ✅ .gitignore mis à jour pour ignorer sanity.types.ts

8.2. Tests effectués

  • ✅ Schéma Sanity généré avec succès
  • ✅ Types Sanity générés avec succès
  • ✅ Build Astro réussi en mode hybride
  • ✅ Pages statiques pré-rendues
  • ✅ Mode hybride validé

8.3. Conclusion

La Phase 1 - Configuration Mode Hybride et Types Sanity est terminée avec succès. Le mode hybride Astro est configuré correctement et la génération des types Sanity est opérationnelle pour le Studio.

Switch to normal mode

Contents