Configuration

Configuration

La configuration s'effectue à plusieurs niveaux : le theme.config.ts central, le code lui-même et une poignée de variables d'environnement au moment du build. Parcourez les étapes de haut en bas - chacune s'appuie sur la précédente.

Astro est un framework front-end

Tout ici s'exécute côté client (sortie statique, avec rendu à la demande optionnel). Ne stockez jamais de secrets ni de logique backend dans ce projet - le travail sensible appartient à un vrai service backend.

1. theme.config.ts

Identité, i18n, blog, promotion et llms.txt - le tout entièrement typé.

2. Le code

C'est un vrai projet Astro - le site web lui-même, c'est vous qui le construisez.

3. Variables d'environnement

Quelques overrides de build comme SITE_OVERRIDE et ROBOTS.

Étape par étape

Retirez ce dont vous n'avez pas besoin

Si vous n'avez pas utilisé la commande create stardrive, retirez d'abord les fichiers de démo et de dépôt. Le guide de nettoyage (trimming) est écrit pour les agents IA, mais fonctionne aussi en manuel.

Appropriez-vous le projet

Ajustez les bases pour reconnaître le projet plus tard :

  • Mettez à jour le package.json pour refléter votre projet.
  • Renseignez au moins le titre dans le README.md.

Remplacez favicons et images sociales

Remplacez les fichiers d'icônes dans ./public/ (nous aimons realfavicongenerator.net). Le manifeste web est généré depuis theme.config.ts, vous ne remplacez donc que des images. Remplacez aussi les images sociales de secours og.png, x.png etstructured-preview.png dans ./public/images/.

Favicons clair & sombre

Stardrive fournit des icônes séparées pour clair/sombre. Si vous n'en avez pas besoin, retirez les variantes sombres et ajustez ./src/components/head/base.astro. Pour le SVG, gérez clair/sombre directement dans le code du SVG.

Configurez theme.config.ts

C'est le cœur de la configuration. Tout est typé, votre IDE affiche donc la documentation en ligne. Procédez dans cet ordre :

  • Renseignez les infos de base (URL du site, couleur primaire, …).
  • Choisissez vos langues, ajoutez un fichier JSON par langue dans ./src/i18n/ et câblez le bloc i18n.
  • Choisissez vos expressiveCodeThemes - un pour le mode clair, un pour le mode sombre.
  • Configurez les valeurs par défaut du blog (et remplacez l'image de secours si vous l'utilisez).
  • Activez ou désactivez les emplacements promotionnels.
  • Définissez comment llms.txt est généré.

Polices & base Tailwind

Stardrive fournit Geist via Fontsource. Remplacez-la par la vôtre (npm un @fontsource/geist, puis installez la vôtre). Ajustez les déclarations d'importation dans les fichiers de layout. Ensuite, ajustez./src/styles/tailwind.config.css :

  • Mettez à jour la section des polices.
  • Ajustez les couleurs de marque (changez les codes hex ; ne supprimez des lignes qu'une fois le contenu de démo retiré).
  • Retouchez les breakpoints si vous le souhaitez.

Ajoutez vos styles par couches

Étendez les fichiers CSS de ./src/styles/ selon la convention de couches :

  • Tailwind comme base.
  • global.css pour les règles personnalisées et les styles à source unique de vérité (p. ex. les boutons).
  • Des fichiers CSS spécifiques à une page (p. ex. long-text-content.css), importés par page.
  • Les styles très personnalisés restent limités à la page ou au composant.

Supprimez les langues non utilisées

Supprimez les sous-dossiers dans ./src/content/ et ./src/pages/ pour les langues que vous ne prenez pas en charge. Une seule langue ? Vous pouvez aussi supprimer ./src/pages/[lang] ainsi que les composants du sélecteur de langue.

Construisez vos pages & la navigation

Façonnez votre structure sous ./src/pages/ (un fichier par route). Les pages qui ne diffèrent que par des chaînes traduites vont dans [lang] ; les pages avec de longs textes ou des textes différents ont un sous-dossier de langue explicite avec du contenu directement intégré. Ajustez ensuite la navigation dans./src/components/layout/nav/ et les autres fichiers de layout.

Traductions de contenu

Pendant la construction du layout, gardez les fichiers JSON de ./src/i18n/ synchronisés avec votre projet.

Remplacez le contenu de démonstration

Remplacez les images de démo dans ./src/images (gardez la structure des dossiers !), mettez à jour ou supprimez le./public/map/office.pmtiles utilisé sur la page de contact de démo, et vérifiez les métadonnées Open Graph / X dans./src/components/head/ogx.astro.

Validez ensuite le tout :

Détectez les liens cassés après le nettoyage
npm run check:astro

Préparez le déploiement

Sur Cloudflare, ajustez _headers et _redirects dans ./public/ ainsi que lewrangler.jsonc, puis reliez votre dépôt à un Worker. Pour les migrations, mappez les anciens chemins dans _redirects. Pas sur Cloudflare ? Configurez votre hébergeur en conséquence.

Purge du cache sur Cloudflare

Définissez CF_PURGE_API_KEY et CF_PURGE_ZONE_ID et lancez npm run purge:cloudflareaprès chaque build. Activez aussi Media → Images → Transformations dans votre tableau de bord Cloudflare.

Désactivez Speed Brain

Désactivez Speed Brain dans votre tableau de bord Cloudflare (Speed → Optimization → Speed Brain). Stardrive intègre sa propre logique de prefetch d'Astro, qui entre en conflit avec Speed Brain et peut provoquer des requêtes doubles, du contenu obsolète ou une navigation cassée.

Variables d'environnement au moment du build

SITE_OVERRIDE
Remplace l'URL globale du site. Pratique pour les environnements de dev.
ROBOTS
Remplace le réglage robots par défaut. Les réglages au niveau de la page priment toujours.
CF_PURGE_API_KEY
CF_PURGE_ZONE_ID
Requises pour le script de purge du cache Cloudflare.
ADD_TO_CALENDAR_PRO_API_KEY
Active l'adaptateur préconfiguré pour les événements injectés dynamiquement.

Le site tourne ? Place au contenu.

Apprenez les workflows du quotidien : blog, FAQ, intégrations, tarifs et événements.

Guide