Illustration for the postClient Islands vs script, quand utiliser l'un ou l'autre dans Astro ?

Client Islands vs script, quand utiliser l'un ou l'autre dans Astro ?

Pour s’imposer dans le monde des frameworks JavaScript, il faut innover. Astro ne déroge pas à cette règle et s’est illustré comme un framework innovant en introduisant une approche moderne de l’intégration des librairies frontend : les îlots clients (client islands).

Découvrons cette innovation plus en détail, avant de la comparer à une “bonne vieille balise script” ;)

Le concept des îlots clients

Astro fonctionne comme un “méta-framework”, ce qui signifie qu’il peut intégrer de façon transparente différentes librairies et frameworks frontend : React, Vue, Svelte, Preact, Solid…

Un îlot client est un composant implémenté à l’aide de l’aide d’une telle librairie frontend et “hydraté” séparamment du reste de la page.

Ce qu’il faut retenir est qu’au lieu d’utiliser la librairie pour toute la page, Astro va isoler chaque composant, qui fonctionnera quasiment comme une application indépendante, formant une île interactive.

Cela ressemble aux micro-frontends, mais avec une approche plus intégrée au sein de l’application.

Les îlots clients permettent d’isoler le JavaScript client

Les îlots clients représentent une stratégie d’optimisation fondamentale dans l’architecture d’Astro.

Sur le plan technique, les îlots sont des composants interactifs, utilisant du JavaScript client, mais isolés au sein d’une page par ailleurs statique, rendue côte serveur.

Le JavaScript ne “pollue” pas le reste de la page : le site se charge rapidement, et peut fonctionner en partie même si JavaScript est désactivé ou lent.

Cela est idéal pour les pages avec beaucoup de contenu, qui n’ont pas besoin de JavaScript partout : typiquement pour les sites e-commerce, blogs, presse etc.

Astro est un méta-framework polyvalent

Au-delà des performances, les îlots clients permettent aussi aux développeurs d’utiliser plusieurs frameworks UI au sein d’un même projet, donc de mixer React et Vue par exemple.

Cela est idéal pour migrer un site existant, pour utiliser un package qui n’existe que pour certaines librairies, ou encore pour organiser de grandes équipes de développeurs avec des compétences multiples.

Librairies officiellement supportées par Astro en 2025 : React, Vue, Svelte, Solid...

On peut obtenir un fonctionnement similaire aux client islands dans Next.js, en couplant des React Server Components et des Client Components, mais uniquement pour React.

En tant qu’organisme de formation, l’intérêt d’Astro est qu’il nous permet d’enseigner le développement fullstack avec JavaScript à des développeurs venant de tous horizons, et non plus uniquement à des développeurs React comme cela est le cas pour Next.js.

A-t-on besoin d’îlots clients pour l’interactivité ?

Astro est un framework pragmatique, qui vous permet toujours de favoriser l’approche la plus simple pour atteindre votre objectif. Bien qu’il prenne en charge des intégrations complexes de frameworks, il n’impose pas leur utilisation.

Pour des composants simple, vous pouvez utiliser des balises <script> dans les composants Astro comme expliqué dans notre précédente ressource.

Les Web Components fonctionnent aussi très bien dans Astro, et n’ont pas besoin d’être des “client islands”, car ils sont déjà isolés.

Quand utiliser une librairie frontend avec îlot interactif

Envisagez d’utiliser un framework frontend lorsque :

Quand utiliser une simple balise script ou un web component

Restez avec une balise script lorsque :

En résumé

Les îlots clients sont un avantage majeur d’Astro par rapport à d’autres frameworks fullstack JavaScript.

Vous pouvez aussi utiliser du JavaScript client directement dans vos composants Astro avec une balise script : c’est idéal pour les situations où un simple script suffit. Les Web Components peuvent aussi être utilisés de cette manière.

Pour aller plus loin :

Vous avez apprécié cette ressource ?

Découvrez toutes nos formations Next.js et Astro en présentiel ou en distanciel

Voire toutes les ressources

Partager sur X Partager sur Bluesky