Rendu côté serveur
Le rendu côté serveur, aka SSR (De l’anglais, “Server-Side Rendering”), peut-être activé dans Astro. Lorsque vous l’activez, vous pouvez :
- Implémenter des sessions pour l’état de connexion des utilisateurs dans votre application.
- Afficher des données d’une API appelée dynamiquement avec
fetch
. - Déployer votre site sur un hôte en utilisant un adaptateur.
Le mode SSR est nouveau dans Astro et sera sujet à de nombreux changements avant que la version 1.0 ne sorte. Gardez votre code à jour avec les derniers changements d’API ici.
Activation du mode SSR dans votre projet
Section titled Activation du mode SSR dans votre projetPour activer le mode SSR, vous devez utiliser un adaptateur. Les adaptateurs suivants sont disponibles aujourd’hui avec d’autres à venir dans le futur :
Dans cet exemple, nous allons utiliser @astrojs/netlify
pour construire avec Netlify. Pour cela, installez l’adaptateur :
Une fois que vos packages ont été installés, ajoutez ces deux lignes à votre fichier de configuration astro.config.mjs
du projet.
Avec Netlify, vous pouvez déployer depuis git, leur interface web, ou depuis leur ILC (ou CLI en anglais). Ici, nous allons utiliser l’ILC de Netlify pour le déployer.
D’abord, construisez votre site comme d’habitude :
Ceci crée netlify/functions/
qui contient le code pour votre SSR. Le déploiement de votre site le déploiera ces fonctions qui contiennent toutes vos composants de Pages Astro prêtes à être rendues.
Après le déploiement, vous devriez obtenir une URL pour prévisualiser votre site.
Fonctionnalités
Section titled FonctionnalitésAstro restera un générateur de sites statiques par défaut, mais une fois que vous activez un adaptateur pour le rendu côté serveur, quelques nouvelles fonctionnalités deviennent disponibles pour vous.
Astro.request.headers
Section titled Astro.request.headersLes en-têtes de la requête sont disponibles dans Astro.request.headers
. C’est un objet Headers où vous pouvez récupérer les en-têtes tels que les cookies.
Astro.redirect
Section titled Astro.redirectSur la variable globale Astro
, cette méthode vous permet de rediriger vers une autre page. Vous pourriez le faire après avoir vérifié si l’utilisateur est connecté en récupérant sa session depuis un cookie.
Response
Section titled ResponseVous pouvez aussi retourner une Réponse depuis n’importe quelle page. Vous pourriez le faire pour retourner une erreur 404 sur une page dynamique après avoir vérifié un identifiant dans la base de données.
[id].astro
Routes API
Section titled Routes APIUne route API est un fichier .js
ou .ts
dans le dossier src/pages/
qui prend une Requête et retourne une Réponse.
[id].js