Déploiement
Déploiement • Chapitre 4 : Déploiement d'une application frontend

Configuration du dossier de sortie

Indiquez à votre plateforme cloud le répertoire exact contenant les fichiers finaux compilés. Comprenez pourquoi une simple erreur de chemin entre dist, build ou dist/mon-projet/browser transforme un site fonctionnel en erreur 404.

📁
Répertoire Cible

Le dossier autonome contenant exclusivement le résultat final prêt pour les internautes (HTML, CSS, JS minifiés).

🎯
L'Exigence index.html

Le fichier index.html DOIT se trouver immédiatement au premier niveau du dossier configuré, jamais dans un sous-dossier caché.

🛡️
Sécurité des Sources

Seul ce dossier est copié sur le CDN. Les codes sources TypeScript, tests et fichiers node_modules/ restent inaccessibles.

⚙️
Auto-Détection

Les plateformes modernes détectent souvent le framework, mais une vérification manuelle évite les mauvaises surprises.

output-directory-check.sh
# 1. Lancer le build pour examiner où les fichiers sont créés
$ npm run build

# 2. Vérifier la présence de index.html dans le dossier cible
$ test -f dist/index.html && echo "✅ index.html trouvé à la racine de dist/"
# Si la commande affiche : "✅ index.html trouvé à la racine de dist/"
# -> Votre Publish Directory à renseigner dans la plateforme est : dist

# 3. Cas particulier Angular :
$ ls -d dist/*/browser
# dist/mon-super-projet/browser
# -> Votre Publish Directory à renseigner dans la plateforme est : dist/mon-super-projet/browser

Guide de Configuration selon la Plateforme Cloud

1. Où configurer ce dossier chez les hébergeurs ?

▲ Vercel

Dans Project Settings > General > Build & Development Settings :

Output Directory: dist
🌐 Netlify

Dans Site configuration > Build & deploy > Continuous deployment :

Publish directory: dist
☁️ Cloudflare Pages

Dans Settings > Builds & deployments > Build configuration :

Build output directory: dist

2. La Meilleure Approche : Figer le dossier dans votre Dépôt Git

Pour éviter les erreurs manuelles lors des reconfigurations d'hébergement, définissez le dossier de sortie directement dans un fichier de configuration versionné avec votre code :

Fichier netlify.toml (Netlify)
[build]
  command = "npm run build"
  publish = "dist"
Fichier vercel.json (Vercel)
{
  "buildCommand": "npm run build",
  "outputDirectory": "dist"
}

Récapitulatif des Dossiers de Sortie par Outil

Outil / BundlerDossier par DéfautFichier de ContrôleStatut index.html
Vite (React / Vue)distvite.config.ts (build.outDir)Immédiatement à la racine de dist/
Create React AppbuildImposé par webpack internéImmédiatement à la racine de build/
Angular CLI (17+)dist/<nom>/browserangular.json (outputPath)Dans le sous-dossier browser/
Next.js (Static Export)outnext.config.js (output: 'export')Immédiatement à la racine de out/