Skip to content

Type de ressource : Route Astro (Page SSR)
Fichier source : src/pages/index.astro
Statut : Actif

Page d’accueil du site. Affiche un message de bienvenue avec un test d’intĂ©gration AMN (Message du schĂ©ma Sanity). Contient du contenu template Astro avec des liens vers les sections du site.

  • Afficher la page d’accueil du site
  • Tester l’intĂ©gration Sanity via le message AMN
  • Fournir une navigation vers les autres sections du site
  • Servir de point d’entrĂ©e principal
Propriété Valeur
URL publique /
Mode de rendu SSR (par défaut)
Type Page HTML
Méthode HTTP GET
Authentification requise Non
Cache Voir §6
[RequĂȘte utilisateur]
│
▌
[Cloudflare Pages / Edge]
│ ‱ Routage vers Astro
▌
[Astro Route (index.astro)]
│ ‱ RĂ©cupĂ©ration du message AMN via getAmn()
│ ‱ Rendu du composant
▌
[Réponse HTML]
Composant RĂŽle Couche
index.astro Définition de la route L2 (Astro)
getAmn() Récupération du message AMN L2 (Astro)
BaseHead Métadonnées SEO globales L2 (Astro)
Header Navigation globale L2 (Astro)
Footer Pied de page global L2 (Astro)
---
import BaseHead from '../components/BaseHead.astro';
import Footer from '../components/Footer.astro';
import Header from '../components/Header.astro';
import { SITE_DESCRIPTION, SITE_TITLE } from '../consts';
import { getAmn } from '../lib/sanity';
const amn = await getAmn();
---
<!doctype html>
<html lang="en">
<head>
<BaseHead title={SITE_TITLE} description={SITE_DESCRIPTION} />
</head>
<body>
<Header />
<main>
<div style="background: #eef2ff; border: 1px solid #c7d2fe; padding: 1rem; border-radius: 8px; margin-bottom: 2rem;">
<h2>🚀 Welcome, AMN Integration Test</h2>
{amn ? (
<div>
<p><strong>Message Sanity:</strong> {amn.message}</p>
<p><strong>Statut:</strong> {amn.status}</p>
</div>
) : (
<p>No active AMN message found in Sanity. <a href="/welcome">Voir la page /welcome</a></p>
)}
</div>
<h1>🧑‍🚀 Hello, Astronaut!</h1>
<p>
Welcome to the official <a href="https://astro.build/">Astro</a> blog starter template...
</p>
<!-- ... -->
</main>
<Footer />
</body>
</html>
*[_type == "amn" && status == "active"][0]

Aucune requĂȘte secondaire n’est utilisĂ©e.

// Type AMN (manuel, sanity-typegen non implémenté)
export type Amn = {
_id: string;
_type: 'amn';
message: string;
status: 'active' | 'inactive';
};

Aucun paramĂštre d’URL n’est utilisĂ©.

Aucune query string n’est utilisĂ©e.

Code HTTP Condition Réponse
200 SuccĂšs Page HTML
500 Erreur Sanity (getAmn) Page HTML avec message d’erreur
Mode Cache-Control CDN-Cache-Control Rationale
SSR standard Non configuré Non configuré Par défaut Cloudflare

Non implémenté - pas de headers de cache explicites.

Balise Source Fallback
<title> SITE_TITLE (const) -
<meta name="description"> SITE_DESCRIPTION (const) -
Meta tags globaux BaseHead -
  • ✅ Cette route est-elle incluse dans le sitemap ? Oui (racine)
  • ✅ FrĂ©quence de mise Ă  jour : daily
  • ✅ PrioritĂ© : 1.0
  • ✅ Cette route est-elle indexĂ©e par Pagefind ? Non (Pagefind non configurĂ©)
  • ⚠ Poids du titre : Non configurĂ©
  • ⚠ Filtres applicables : Non configurĂ©
Composant Fichier RĂŽle Hydratation
BaseHead src/components/BaseHead.astro Métadonnées SEO Aucune
Header src/components/Header.astro Navigation globale Aucune
Footer src/components/Footer.astro Pied de page global Aucune
Condition Comportement
AccĂšs public Page accessible sans authentification
Mode Preview Non supporté (pas de logique preview)

Non applicable (pas de paramĂštres d’entrĂ©e).

Non implémenté dans cette route (à configurer via Middleware Cloudflare).

SymptĂŽme Cause probable Solution
Message AMN non affichĂ© Aucun document AMN actif CrĂ©er un document AMN avec status “active”
Erreur Sanity Variables d’environnement manquantes VĂ©rifier SANITY_PROJECT_ID, SANITY_DATASET
Terminal window
# Logs de développement
npm run dev
# Vérification des types
npx astro check
Terminal window
# Test de la route en local
curl -I http://localhost:4321/
  • ✅ Utiliser les composants globaux (Header, Footer, BaseHead)
  • ✅ Centraliser les constantes (SITE_TITLE, SITE_DESCRIPTION)
  • ✅ GĂ©rer les erreurs de maniĂšre Ă©lĂ©gante (message fallback)
  • ✅ Pas de JavaScript inutile
  • ✅ HTML statique par dĂ©faut
  • ✅ Mettre Ă  jour le contenu template selon les besoins
  • ✅ Tester l’intĂ©gration Sanity rĂ©guliĂšrement
  • Supprimer le contenu template Astro
  • Ajouter un vrai contenu d’accueil
  • Support du mode preview
  • Ajout de structured data (JSON-LD)
  • ❌ Contenu template Astro (non personnalisĂ©)
  • ❌ Pas de support du mode preview
  • ❌ Pas de structured data (JSON-LD)
  • ❌ Langue hardcodĂ©e en ‘en’
  • Documentation Astro : Routing
  • Fichiers concernĂ©s :
    • src/pages/index.astro
    • src/lib/sanity.ts (getAmn)
    • src/consts.ts (SITE_TITLE, SITE_DESCRIPTION)
Date Version Description Auteur
2026-09-15 1.0 Création initiale Devin
Edit page

Last updated: