Skip to content
Français
Retour à l’annuaire

astro.build

200 OK

Comment Astro transforme le contenu en HTML et ajoute des interactions de manière sélective

Developer ToolsTailwind CSS
Réponse directe

Astro convient particulièrement aux sites axés sur le contenu qui doivent fournir du HTML utile avant l’exécution de JavaScript dans le navigateur. Son choix distinctif est l’hydratation sélective : les équipes peuvent conserver la majeure partie d’une page statique tout en activant des composants individuels, même si les applications très interactives peuvent tirer moins d’avantages de cette délimitation.

Dernier test:

Concepts clés

  • Diffusion axée sur le HTML: Astro restitue le contenu des pages sous forme de HTML et n’envoie aucun JavaScript côté client par défaut.

  • Hydratation sélective: Seuls les composants explicitement marqués pour être hydratés dans le navigateur reçoivent le JavaScript nécessaire aux interactions.

  • Îlots indépendants: Les composants interactifs s’hydratent séparément et peuvent utiliser des priorités de chargement adaptées au moment où les visiteurs en ont besoin.

  • Plusieurs approches d’interface: Astro prend en charge React, Preact, Svelte, Vue, Solid, HTMX, les composants web et d’autres approches.

  • Collections de contenu typées: Les collections de contenu organisent et valident le contenu Markdown avec la sûreté des types de TypeScript.

  • Adapté aux contenus: Astro correspond le plus directement aux sites où la lecture et la navigation dans le contenu constituent les activités dominantes des utilisateurs.

Compare the subject with other published sites in the same category.

All alternatives

Comment Astro transforme le contenu en HTML et ajoute des interactions de manière sélective

Qu’est-ce qu’Astro ?

Astro est un framework web open source destiné à créer des sites axés sur le contenu. Il restitue le contenu des pages sous forme de HTML et n’envoie aucun JavaScript côté client par défaut, tout en permettant aux développeurs d’ajouter des composants hydratés indépendamment lorsque des interactions dans le navigateur sont nécessaires.

Cette approche convient aux blogs, à la documentation, aux sites marketing, aux portfolios, aux pages de destination, aux sites communautaires et aux expériences de commerce électronique axées sur le contenu. Astro peut intégrer plusieurs frameworks d’interface familiers sans imposer que toute la page devienne une application rendue côté client.

Résumé rapide

  • Objectif principal : Créer des sites axés sur le contenu autour de HTML rendu côté serveur.
  • Coût par défaut dans le navigateur : Aucun JavaScript côté client, sauf si le projet l’ajoute explicitement.
  • Architecture centrale : Les composants interactifs deviennent des îlots isolés au sein de pages par ailleurs statiques.
  • Approches d’interface prises en charge : React, Preact, Svelte, Vue, Solid, HTMX, les composants web et d’autres.
  • Outils de contenu : Les collections de contenu organisent et valident le Markdown avec la sûreté des types de TypeScript.
  • Cas d’usage idéal : Les sites où la lecture et la navigation dans le contenu comptent davantage qu’un état continu côté navigateur.
  • Principal compromis : Les équipes doivent déterminer quels composants nécessitent JavaScript et quand ils doivent être chargés.

Quel problème Astro cherche-t-il à résoudre ?

Les sites de contenu utilisent souvent des architectures frontend orientées applications, même lorsque leurs pages contiennent principalement des titres, des articles, des explications de produits, des images et des liens. Cela peut entraîner l’envoi de JavaScript pour une vaste arborescence de composants, alors qu’une grande partie de la page ne nécessite aucune exécution dans le navigateur.

Astro part d’un principe axé sur le serveur : le contenu devient du HTML et l’exécution dans le navigateur n’est ajoutée que lorsque l’interaction l’exige. Le modèle de diffusion peut ainsi suivre le comportement réel de la page au lieu de traiter chaque élément comme une partie d’une seule application interactive.

La documentation officielle décrit Astro comme étant axé sur le contenu et le serveur, rapide par défaut, facile à utiliser et pensé pour les développeurs. Il s’agit d’objectifs de conception et non de garanties, car les images, les scripts tiers, le code des composants et les choix d’implémentation influencent toujours le site final.

Ce qu’Astro organise pour un projet de contenu

  • Des pages dont la valeur principale réside dans du HTML lisible.
  • Des mises en page et des composants réutilisables autour de ce contenu.
  • Du contenu Markdown organisé au moyen de collections.
  • Des schémas de validation sensibles à TypeScript pour les entrées des collections.
  • Des composants interactifs facultatifs utilisant les frameworks d’interface pris en charge.
  • Des intégrations ajoutées selon les besoins de contenu et de diffusion.

Comment Astro effectue-t-il le rendu d’une page ?

Astro sépare le contenu statique de la page des composants interactifs du navigateur. Le serveur produit le HTML, tandis que les composants marqués pour l’hydratation reçoivent du JavaScript et deviennent interactifs selon une directive choisie par le développeur.

Cette approche diffère à la fois de celle qui transforme la page entière en une arborescence de composants côté client et de celle qui publie un document entièrement statique incapable d’ajouter des comportements dans le navigateur. Astro occupe une position intermédiaire en attribuant les interactions à des parties précises d’une page.

Comparaison des architectures et du rendu

Zone de la page ou approche Résultat initial JavaScript dans le navigateur Limite de l’interaction Conséquence pratique
Contenu Astro statique HTML rendu côté serveur Aucun par défaut Aucun composant hydraté Le texte, les liens et les autres contenus statiques restent utiles sans environnement d’exécution de composants.
Îlot interactif Astro HTML accompagné d’un composant explicitement hydraté Chargé pour ce composant L’îlot individuel Un menu ou un contrôle de recherche peut devenir interactif sans hydrater l’article qui l’entoure.
Plusieurs îlots Astro HTML accompagné de composants hydratés séparément Chargé selon les besoins de chaque îlot Chaque îlot s’hydrate indépendamment Les équipes peuvent donner la priorité aux interactions importantes et différer les composants qui ne sont pas immédiatement nécessaires.
Application cliente sur toute la page Enveloppe ou HTML propre à l’application Prend généralement en charge une vaste arborescence de composants côté client Une grande partie de la page partage une exécution côté navigateur Cela peut convenir à une interaction continue, mais risque d’appliquer un modèle d’application à du contenu qui n’en a pas besoin.

Ces limites ne garantissent aucun résultat précis en matière de performances. Un grand îlot peut toujours envoyer une quantité importante de code, tandis que des médias lourds et des scripts sans rapport peuvent ralentir la page ; Astro fournit une configuration par défaut avec peu de JavaScript, mais l’expérience finale reste la responsabilité de l’équipe.

Qu’est-ce qu’un îlot Astro ?

Un îlot est un composant d’interface interactif au sein d’une page par ailleurs statique. Les titres, paragraphes, liens et autres éléments non interactifs qui l’entourent restent du HTML, tandis que l’îlot reçoit le code de navigateur nécessaire à son comportement.

Les îlots s’hydratent indépendamment, de sorte que l’activation d’un composant n’exige pas celle de tous les autres composants interactifs. Les frameworks de composants pris en charge peuvent coexister, même si l’utilisation de plusieurs d’entre eux peut accroître la duplication des environnements d’exécution et les besoins de maintenance.

Quand un îlot peut-il s’hydrater ?

  • client:load : Donne la priorité au composant lors du chargement de la page.
  • client:idle : Diffère l’hydratation jusqu’à ce que le navigateur dispose de temps d’inactivité.
  • client:visible : Attend que le composant approche de la zone d’affichage.

Ces directives intègrent la priorité de chargement au placement des composants. Un contrôle nécessaire immédiatement peut être traité différemment d’un élément interactif situé plus bas sur la page, et le choix doit suivre le besoin de l’utilisateur plutôt qu’une règle uniforme.

Ce que les îlots font et ne garantissent pas

Les îlots aident une équipe à faire ceci Les îlots ne garantissent pas ceci
Conserver le contenu statique sous forme de HTML Chaque page terminée sera rapide
Ajouter JavaScript uniquement aux composants sélectionnés Les composants hydratés seront légers
Attribuer des priorités de chargement différentes aux îlots Les scripts tiers seront efficaces
Utiliser les frameworks d’interface pris en charge pour les zones interactives Le mélange de frameworks n’aura aucun coût d’exécution ou de maintenance
Préserver une structure de page axée sur le contenu Les images, les polices et les autres ressources seront automatiquement optimisées

La propriété utile est le contrôle. L’hydratation reste visible dans l’utilisation des composants, ce qui permet aux développeurs d’examiner où JavaScript entre dans la page et si chaque dépendance justifie son coût.

Comment Astro gère-t-il les frameworks d’interface et le contenu ?

Astro prend en charge React, Preact, Svelte, Vue, Solid, HTMX, les composants web et d’autres approches d’interface. Une équipe peut utiliser un framework de composants familier pour un îlot tout en conservant le document environnant dans le modèle de page rendue côté serveur d’Astro.

Cette souplesse peut faciliter une adoption progressive ou préserver un investissement existant dans des composants, mais elle ne rend pas avantageuse la combinaison de tous les frameworks. Une approche principale cohérente est généralement plus facile à comprendre, et chaque environnement d’exécution supplémentaire doit résoudre un problème précis.

Les collections de contenu complètent ce modèle de rendu en donnant au Markdown et aux contenus associés une structure organisée et validée, avec la sûreté des types de TypeScript. Un projet de publication ou de documentation peut traiter son contenu comme un ensemble de données cohérent plutôt que comme des fichiers sans rapport les uns avec les autres.

Domaines maintenus de l’écosystème

Le dépôt du framework identifie des paquets officiellement maintenus pour plusieurs besoins :

  • Des intégrations d’interface pour React, Preact, Solid, Svelte et Vue.
  • Une prise en charge de l’environnement d’exécution au moyen de l’intégration Node et de plusieurs adaptateurs de déploiement.
  • Des outils de contenu et de publication, notamment des intégrations MDX, RSS et sitemap.
  • Une intégration liée aux scripts au moyen de Partytown.

Les projets peuvent commencer avec Astro et ajouter des intégrations lorsque leurs exigences le justifient. La documentation actuelle et les informations sur les paquets maintenus doivent guider les choix d’installation, car la disponibilité et la compatibilité peuvent évoluer.

À qui Astro convient-il ?

Astro correspond particulièrement aux projets dont le contenu doit être disponible sous forme de HTML et dont les interactions occupent des zones distinctes. Il mérite surtout d’être évalué lorsque l’activité principale de l’utilisateur consiste à lire, parcourir, comparer ou découvrir des informations.

Un produit semblable à une application peut tout de même contenir des pages axées sur le contenu, mais son modèle d’interaction dominant compte. Si la plupart des écrans dépendent d’un état client partagé et de mises à jour continues dans le navigateur, les limites des îlots peuvent apporter moins de valeur ou nécessiter davantage de décisions architecturales.

Conseils sur les cas adaptés ou non

Astro mérite d’être envisagé lorsque Évaluez soigneusement d’autres approches lorsque
Le projet est un blog, un site de documentation, un portfolio, une page de destination, un site marketing, un site communautaire ou une expérience commerciale axée sur le contenu. La plupart des écrans se comportent comme une application de navigateur continuellement interactive.
Le contenu important doit arriver sous forme de HTML sans attendre un environnement d’exécution client. Presque toutes les zones de la page nécessitent une hydratation et un état partagé côté navigateur.
Les interactions peuvent être réparties entre des composants clairement définis. Les interactions sont difficiles à séparer en zones indépendantes.
L’équipe souhaite réutiliser de manière sélective des composants d’interface pris en charge. L’équipe s’attend à ce que le mélange de frameworks soit simple ou sans coût.
L’organisation, la validation et la sûreté des types du Markdown sont utiles. Le projet contient peu de contenu et ne tire aucun avantage significatif des collections de contenu.

Ces conseils constituent un filtre architectural plutôt qu’un verdict. La meilleure évaluation utilise une page représentative comprenant du contenu réel et l’interaction la plus exigeante prévue en production.

Quels sont les principaux compromis d’Astro ?

Le principal avantage et la principale contrainte de conception d’Astro proviennent du même choix : le JavaScript dans le navigateur est sélectif. Les équipes gagnent en contrôle sur l’hydratation, mais doivent définir des limites de composants et des priorités de chargement judicieuses.

Avantages apportés par l’architecture

  • Le contenu statique reste du HTML rendu côté serveur.
  • JavaScript est activé à la demande pour les composants qui nécessitent un comportement dans le navigateur.
  • Les îlots peuvent s’hydrater indépendamment.
  • La priorité de chargement peut refléter le moment où une interaction devient utile.
  • Les frameworks d’interface pris en charge peuvent être utilisés sans contrôler toute la page.
  • Les collections de contenu offrent organisation, validation et sûreté des types de TypeScript.

Coûts et décisions à prendre en compte

  • Les développeurs doivent déterminer quels composants nécessitent réellement une hydratation.
  • Des directives mal choisies peuvent charger le code plus tôt ou plus tard que nécessaire pour les utilisateurs.
  • De grands îlots peuvent réduire l’avantage de l’hydratation sélective.
  • Plusieurs frameworks d’interface peuvent introduire du code d’exécution dupliqué et une maintenance supplémentaire.
  • Les scripts tiers et les médias surdimensionnés restent des préoccupations en matière de performances.
  • Les produits riches en interactions doivent déterminer si les îlots correspondent à leur modèle d’état.

Astro favorise une composition réfléchie. Il retire le JavaScript automatique côté client du point de départ, mais ne supprime pas la nécessité d’examiner les dépendances, les ressources, l’accessibilité ou le comportement réel des pages.

Comment une équipe doit-elle évaluer Astro ?

Une évaluation utile doit reproduire les exigences les plus difficiles du projet en matière de contenu et d’interaction. Une démonstration minimale peut prouver qu’Astro fonctionne, mais elle ne peut pas montrer si l’architecture correspond au véritable processus de création ou au comportement attendu dans le navigateur.

Liste de contrôle pour l’évaluation

  1. Choisissez une page représentative. Utilisez de vrais titres, du contenu principal, une navigation, des images et des liens plutôt que des espaces réservés.
  2. Identifiez les zones statiques. Marquez les parties qui peuvent rester en HTML sans environnement d’exécution de composants côté navigateur.
  3. Sélectionnez l’interaction la plus difficile. Incluez le composant le plus exigeant raisonnablement attendu.
  4. Définissez les limites des îlots. Déterminez si les zones interactives peuvent s’hydrater indépendamment sans coordination maladroite de l’état.
  5. Attribuez les priorités d’hydratation. Vérifiez si client:load, client:idle ou client:visible correspond au moment où chaque composant devient utile.
  6. Examinez l’utilisation des frameworks. Confirmez que chaque intégration d’interface répond à un besoin concret et notez les coûts liés à la duplication des environnements d’exécution.
  7. Testez le modèle de contenu. Créez une collection représentative et vérifiez que la validation et les types TypeScript prennent en charge le processus éditorial.
  8. Inspectez le résultat livré. Confirmez que le contenu essentiel est présent sous forme de HTML et identifiez le JavaScript ajouté par les composants hydratés.
  9. Testez les contraintes réelles. Incluez les médias, les scripts tiers, la navigation et les exigences de déploiement attendus.
  10. Comparez la maintenabilité. Demandez-vous si la séparation entre contenu et interactions est claire pour l’équipe qui exploite le site.

La décision doit reposer sur ce prototype. Les valeurs par défaut documentées expliquent l’intention d’Astro, tandis qu’une implémentation représentative révèle si elles correspondent aux besoins réels du projet en matière de contenu, d’interaction et de maintenance.

Comment Astro a-t-il commencé et comment est-il gouverné ?

Astro a été présenté publiquement en juin 2021 dans un article officiel rédigé par Fred Schott et Nate Moore. La source identifie les deux comme les auteurs ayant présenté le projet et ne permet pas d’attribuer à l’un ou à l’autre le statut de fondateur unique.

Une annonce officielle de gouvernance publiée en 2025 a nommé le comité de pilotage technique d’Astro. À la date de cette observation, elle identifiait Matt Kane comme responsable de l’équipe du framework et Sarah Rainsberger comme responsable de l’équipe de documentation ; ces faits sont datés, car les responsables et les membres du comité peuvent changer.

Faits sur le projet et la communauté

  • Juin 2021 : Fred Schott et Nate Moore ont rédigé la présentation officielle d’Astro.
  • 2025 : Astro a annoncé son comité de pilotage technique et les rôles datés de l’équipe.
  • Licence : Le dépôt maintenu du framework identifie Astro comme un logiciel libre et open source sous licence MIT.
  • Assistance : Les documents officiels actuels sur les versions orientent les demandes d’aide et les commentaires vers la communauté Discord d’Astro.
  • Participation : Le projet oriente les contributeurs et la participation au projet vers GitHub.
  • Premiers pas : Le README maintenu recommande npm create astro@latest ; l’installation manuelle utilise npm install astro.

La gouvernance explique comment le projet open source organise les responsabilités, tandis que le rendu, les outils de contenu et les limites des interactions déterminent son adéquation technique.

Que représente astro.build ?

astro.build est le site officiel d’Astro, tandis qu’Astro, le framework, est le sujet décrit ici. Le dépôt maintenu du site indique que celui-ci est construit avec Astro, ce qui en fait un exemple pertinent de première partie sans pour autant intégrer les détails de sa maintenance à la définition du framework.

Le dépôt maintenu du framework constitue la référence la plus solide pour les paquets pris en charge, les méthodes d’installation, la licence, la communauté et les informations relatives aux contributions. La documentation d’Astro reste la référence principale pour son modèle axé sur le serveur, son orientation vers le contenu, son architecture en îlots et ses directives d’hydratation.

En résumé

La proposition d’Astro est claire : restituer le contenu sous forme de HTML, puis ajouter du JavaScript dans le navigateur uniquement aux composants qui nécessitent une interaction. Il est convaincant pour les sites axés sur le contenu comportant des zones interactives séparables, et moins évident pour les produits dont les interfaces dépendent d’un état continu côté client.

Ne supposez pas que la configuration par défaut rend chaque implémentation rapide. Créez une page réaliste, inspectez son HTML et ses composants hydratés, testez le processus de gestion du contenu et confirmez que les limites des îlots restent compréhensibles à mesure que le projet grandit.

Une réponse valide ne garantit pas la sécurité. Les mesures décrivent une observation ponctuelle.

Sources principales

  1. 01Site officiel d’Astro (s’ouvre dans un nouvel onglet)
  2. 02Documentation d’Astro : Pourquoi Astro ? (s’ouvre dans un nouvel onglet)
  3. 03Documentation d’Astro : Architecture en îlots (s’ouvre dans un nouvel onglet)
  4. 04README du dépôt maintenu du framework Astro (s’ouvre dans un nouvel onglet)
  5. 05Dépôt maintenu du framework Astro (s’ouvre dans un nouvel onglet)
  6. 06Dépôt du site officiel astro.build (s’ouvre dans un nouvel onglet)
  7. 07Présentation d’Astro (s’ouvre dans un nouvel onglet)
  8. 08Annonce du comité de pilotage technique d’Astro pour 2025 (s’ouvre dans un nouvel onglet)
  9. 09Documents officiels sur la version Astro 7 (s’ouvre dans un nouvel onglet)

Questions fréquentes

Des réponses pratiques sur le produit et son fonctionnement.

À quoi sert Astro ?

Astro est un framework web destiné aux sites axés sur le contenu, tels que les blogs, la documentation, les sites marketing, les portfolios, les pages de destination, les sites communautaires et les expériences de commerce électronique. Il met l’accent sur le HTML rendu côté serveur et n’ajoute du JavaScript côté client que lorsque des composants sont explicitement hydratés.

Astro envoie-t-il du JavaScript à chaque page ?

Non. Astro n’envoie aucun JavaScript côté client par défaut. Un projet peut néanmoins ajouter des scripts et des composants interactifs ; la quantité finale dépend donc des composants hydratés et des autres codes de navigateur inclus dans le projet.

Qu’est-ce qu’un îlot dans Astro et quand doit-il s’hydrater ?

Un îlot est un composant interactif hydraté indépendamment au sein d’une page par ailleurs statique. Astro fournit `client:load` pour un chargement prioritaire, `client:idle` pour un travail différé et `client:visible` pour les composants qui peuvent attendre d’approcher de la zone d’affichage.

Astro peut-il utiliser des composants React, Vue ou Svelte ?

Oui. Astro prend en charge React, Preact, Svelte, Vue, Solid, HTMX, les composants web et d’autres approches d’interface. Les équipes doivent utiliser les intégrations de manière réfléchie, car la combinaison de frameworks peut ajouter du code d’exécution et du travail de maintenance.

Que sont les collections de contenu Astro ?

Les collections de contenu organisent et valident le Markdown et les contenus associés avec la sûreté des types de TypeScript. Elles sont utiles lorsqu’un projet a besoin d’une structure cohérente pour publier, interroger et restituer des groupes de contenus.

Astro convient-il à une application web très interactive ?

Cela dépend de la possibilité de diviser l’interface en îlots indépendants et pertinents. Si presque chaque zone nécessite une hydratation, un état client partagé et des mises à jour continues dans le navigateur, une architecture davantage centrée sur les applications peut mieux correspondre au modèle d’interaction dominant.

Qui a présenté Astro et où les utilisateurs peuvent-ils participer ?

Fred Schott et Nate Moore ont rédigé la présentation publique officielle d’Astro en juin 2021 ; la source n’établit pas de statut de fondateur unique. Les documents officiels orientent les utilisateurs vers Discord pour obtenir de l’aide et donner leur avis, et vers GitHub pour participer et contribuer.

Continue exploring

More published records in Developer Tools.

View all alternatives

Gatsby relie les sites React à du contenu structuré et à des modes de rendu flexibles

Developer ToolsGoogle Analytics

Next.js apporte à React le routage, le rendu et des fonctionnalités serveur

Developer ToolsGoogle AnalyticsNext.js

nuxt.com

200 OK

Créez des sites web et des applications Vue avec routage, logique serveur et rendu flexible

Developer ToolsNuxtVercel