
Intégrations, adaptateurs, site URL et rendu hybride : configurez astro.config.mjs pour des builds stables et des déploiements sans surprise.
Dans un projet Astro, astro.config.mjs n'est pas un détail administratif. C'est le point où vous décidez du mode de rendu, des intégrations, de l'URL publique et parfois de la stratégie d'images. Une configuration floue se paie au moment du premier déploiement : chemins cassés, double hydratation, build CI différent du local.
Si vous débutez, installez d'abord le projet avec le guide d'installation Astro. Ce article se concentre sur les réglages qui tiennent dans la durée.
import { defineConfig } from "astro/config";
export default defineConfig({
site: "https://exemple.fr",
output: "static",
integrations: [],
});
defineConfig apporte l'autocomplétion TypeScript. Le fichier est un module ESM : les imports dynamiques d'intégrations se font en tête de fichier.
site : non négociable en productionsite définit l'origine absolue utilisée pour :
Sans elle, un déploiement derrière CDN peut générer des liens relatifs incohérents. Renseignez le domaine final, pas l'URL de preview.
Les intégrations officielles couvrent React, Vue, Tailwind, MDX, sitemap, etc. Documentation : guide des intégrations.
Exemple avec React :
import { defineConfig } from "astro/config";
import react from "@astrojs/react";
export default defineConfig({
integrations: [react()],
});
Chaque intégration peut modifier le bundler et le comportement de build. Avant d'en empiler cinq, demandez-vous si un composant .astro suffit.
| Mode | Comportement | Cas typique |
|---|---|---|
static (défaut) | HTML généré au build | Blog, vitrine |
server | Rendu à chaque requête | Contenu personnalisé |
hybrid | Pages statiques + routes dynamiques | Mix marketing + API |
Le rendu hybride est documenté ici : on-demand rendering. Activez output: "hybrid" puis marquez les routes dynamiques avec export const prerender = false.
Sans adaptateur, Astro ne sait pas où exécuter le serveur. Exemples :
@astrojs/node pour un VPS ;@astrojs/vercel ou @astrojs/netlify pour le PaaS ;@astrojs/cloudflare pour l'edge.L'adaptateur influence le format de sortie (dist/), le handler serverless et parfois le cache. Choisissez-le avant de coder des routes dynamiques, pas la veille de la mise en prod.
Astro peut déléguer l'optimisation d'images au service de build. Configurez :
Ces réglages impactent directement les Core Web Vitals — sujet traité dans Astro et performance en entreprise.
Préfixez les variables exposées au client avec PUBLIC_ (convention Astro). Les secrets (clés API, tokens) restent côté serveur dans les endpoints ou le rendu SSR.
En CI, injectez les mêmes noms que en local via le tableau de plateforme (GitHub Actions, DevPush, etc.) pour éviter le classique « ça marche chez moi ».
Pattern courant :
import { defineConfig } from "astro/config";
const isDev = process.env.NODE_ENV === "development";
export default defineConfig({
site: process.env.PUBLIC_SITE_URL,
devToolbar: { enabled: isDev },
});
Évitez les branches if (prod) dispersées dans le code applicatif : centralisez dans la config ou un module src/env.ts validé avec Zod.
npm run build passe en CI avec la même version Node que le README.site pointe vers le domaine de production.@astrojs/tailwind ;base et site sans comprendre le déploiement en sous-chemin.Maîtriser astro.config.mjs, c'est anticiper le déploiement dès le premier commit. Astro récompense les projets sobres : peu d'intégrations, un mode de rendu clair, une URL publique explicite. Le reste — contenu, SEO, UX — peut alors s'appuyer sur une base technique stable.
Pour le contexte stratégique Cloudflare + Astro : notre analyse de l'acquisition. Documentation officielle : référence de configuration.
Site vitrine, refonte ou amélioration des performances : je peux vous aider à clarifier la priorité, estimer le chantier et avancer sereinement.
Flux RSS
Copiez l'URL du flux et ajoutez-la dans Feedly, Feeder ou toute autre application RSS.
Web, mobile ou bureau : le principe reste le même.
Cette adresse fonctionne dans tout lecteur RSS : agrégateur web, application mobile ou logiciel de bureau.
Sur smartphone ou tablette, le principe reste le même : copiez l'URL, puis collez-la dans l'application.