Appearance
🚀 Build & Déploiement
Scripts NPM
json
{
"dev": "astro dev",
"build": "astro check && astro build --mode production",
"preview": "astro preview"
}Développement
bash
pnpm devCe qui se passe :
- Lance le dev server sur
http://localhost:4321 - Hot Module Replacement (HMR) activé
- Rechargement automatique au changement
Build
bash
pnpm buildÉtapes :
astro check- Vérification TypeScriptastro build --mode production- Génération statique- Output dans
/dist/
Durée : ~3.3s
Résultat :
dist/
├── _astro/ # Assets optimisés (CSS, JS avec hash)
├── en/index.html # Page anglaise
├── fr/index.html # Page française
├── index.html # Redirection
├── locales/ # Traductions
├── themes/ # CSS
└── avatar_*.webp # ImagesPreview
bash
pnpm previewUtilité : Tester le build en local avant déploiement.
Configuration Astro
Fichier : astro.config.mjs
javascript
export default defineConfig({
site: "https://simonchabrier.fr",
base: "/",
trailingSlash: "always", // URLs finissent par /
integrations: [
tailwind(),
],
i18n: {
defaultLocale: "fr",
locales: ["fr", "en"],
routing: {
prefixDefaultLocale: true // /fr/ au lieu de /
}
}
});Déploiement GitHub Pages
Configuration
Repository : simonchabrier/simonchabrier.github.io
Branch : main
Workflow : GitHub Actions automatique
Process
Push sur main
↓
GitHub Actions détecte le push
↓
Run: pnpm install
↓
Run: pnpm build
↓
Deploy dist/ vers gh-pages branch
↓
Site live sur simonchabrier.github.ioVérifications Pré-Déploiement
1. Build réussit
bash
pnpm build
# ✅ 0 errors2. Types corrects
bash
pnpm astro check
# ✅ 0 errors, 0 warnings3. Preview fonctionne
bash
pnpm preview
# Tester manuellement sur http://localhost:43214. SEO Meta Tags
bash
grep "og:image" dist/fr/index.html
# ✅ URL absolue correcteDomaine Custom
DNS Configuration
Type : CNAME
Host : @ (ou www)
Value : simonchabrier.github.io
GitHub Configuration
- Repository Settings
- Pages
- Custom domain:
simonchabrier.fr - Enforce HTTPS: ✅