Modes de rendu

Le code de votre projet Astro doit ĂȘtre rendu en HTML pour ĂȘtre affichĂ© sur le web.

Les pages Astro, les routes et les points de terminaison d’API peuvent ĂȘtre soit rendus au moment de la construction, soit rendus Ă  la demande par un serveur lorsqu’une route est demandĂ©e. Avec Astro islands, vous pouvez Ă©galement inclure un rendu cĂŽtĂ© client si nĂ©cessaire.

Dans Astro, la plupart des traitements sont effectuĂ©s sur le serveur, et non dans le navigateur. Cela rend gĂ©nĂ©ralement votre site ou votre application plus rapide que le rendu cĂŽtĂ© client lorsqu’il est visualisĂ© sur des appareils moins puissants ou sur des connexions internet plus lentes. Le HTML rendu par le serveur est rapide, convivial pour les moteurs de recherche et accessible par dĂ©faut.

Vous pouvez configurer le mode de rendu de vos pages dans votre configuration output (EN).

Le mode de rendu par défaut est output : 'static', qui crée le HTML pour toutes les routes de votre page au moment de la construction.

Dans ce mode, votre site entier sera prĂ©-rendu et le serveur aura toutes les pages construites Ă  l’avance et prĂȘtes Ă  ĂȘtre envoyĂ©es au navigateur. Le mĂȘme document HTML est envoyĂ© au navigateur pour chaque visiteur, et une reconstruction complĂšte du site est nĂ©cessaire pour mettre Ă  jour le contenu de la page. Cette mĂ©thode est Ă©galement connue sous le nom de gĂ©nĂ©ration de site statique (SSG).

Par dĂ©faut, tous les projets Astro sont configurĂ©s pour ĂȘtre prĂ©-rendus au moment de la construction (gĂ©nĂ©rĂ©s statiquement) afin d’offrir au navigateur l’expĂ©rience la plus lĂ©gĂšre possible. Le navigateur n’a pas besoin d’attendre que le code HTML soit créé, car le serveur n’a pas besoin de gĂ©nĂ©rer des pages Ă  la demande. Votre site ne dĂ©pend pas des performances d’une source de donnĂ©es dorsale et, une fois construit, il restera accessible aux visiteurs en tant que site statique tant que votre serveur fonctionnera.

Les sites statiques peuvent inclure des Ăźles Astro pour des composants d’interface utilisateur interactifs (ou mĂȘme des applications complĂštes intĂ©grĂ©es cĂŽtĂ© client !) Ă©crits dans le Framework UI de votre choix dans une page par ailleurs statique et prĂ©-rendue.

L’API View Transitions (EN) d’Astro est Ă©galement disponible en mode “statique” pour l’animation et la persistance de l’état Ă  travers la navigation de la page. Les sites statiques peuvent Ă©galement utiliser les middleware pour intercepter et transformer les donnĂ©es de rĂ©ponse d’une requĂȘte.

Les deux autres modes de sortie d’Astro peuvent ĂȘtre configurĂ©s pour permettre un rendu Ă  la demande de tout ou partie de vos pages, routes ou points de terminaison d’API :

  • output: 'server' pour les sites trĂšs dynamiques avec la plupart ou toutes les routes Ă  la demande.
  • output: 'hybrid' pour les sites principalement statiques avec quelques routes Ă  la demande.

Puisqu’ils sont gĂ©nĂ©rĂ©s Ă  chaque visite, ces itinĂ©raires peuvent ĂȘtre personnalisĂ©s pour chaque visiteur. Par exemple, une page rendue Ă  la demande peut montrer Ă  un utilisateur connectĂ© ses informations de compte ou afficher des donnĂ©es fraĂźchement mises Ă  jour sans nĂ©cessiter une reconstruction complĂšte du site. Le rendu Ă  la demande sur le serveur au moment de la requĂȘte est Ă©galement connu sous le nom de server-side rendering (SSR).

Envisagez d’activer le mode “serveur” ou “hybride” (EN) dans votre projet Astro si vous avez besoin de ce qui suit :

  • Points de terminaison d’API: CrĂ©er des pages spĂ©cifiques qui fonctionnent comme des points de terminaison API pour des tĂąches telles que l’accĂšs Ă  la base de donnĂ©es, l’authentification et l’autorisation, tout en gardant les donnĂ©es sensibles cachĂ©es au client.

  • Pages protĂ©gĂ©es: Restreignez l’accĂšs Ă  une page en fonction des privilĂšges de l’utilisateur, en gĂ©rant l’accĂšs de l’utilisateur sur le serveur.

  • Contenu changeant frĂ©quemment: GĂ©nĂ©rez des pages individuelles sans avoir Ă  reconstruire votre site de maniĂšre statique. Ceci est utile lorsque le contenu d’une page est frĂ©quemment mis Ă  jour, par exemple en affichant des donnĂ©es provenant d’une API appelĂ©e dynamiquement avec fetch().

Les modes de sortie server et hybrid vous permettent d’inclure des Ăźles Astro pour l’interactivitĂ© (ou mĂȘme des applications entiĂšres rendues cĂŽtĂ© client !) dans le Frameworks UI de votre choix. Avec les middleware et l’ API de transition de vues (EN) d’Astro pour les animations et la prĂ©servation de l’état Ă  travers les itinĂ©raires de navigation, mĂȘme les applications hautement interactives sont possibles.