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.
Le dossier autonome contenant exclusivement le résultat final prêt pour les internautes (HTML, CSS, JS minifiés).
Le fichier index.html DOIT se trouver immédiatement au premier niveau du dossier configuré, jamais dans un sous-dossier caché.
Seul ce dossier est copié sur le CDN. Les codes sources TypeScript, tests et fichiers node_modules/ restent inaccessibles.
Les plateformes modernes détectent souvent le framework, mais une vérification manuelle évite les mauvaises surprises.
# 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
Dans Project Settings > General > Build & Development Settings :
Dans Site configuration > Build & deploy > Continuous deployment :
Dans Settings > Builds & deployments > Build configuration :
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 :
[build] command = "npm run build" publish = "dist"
{
"buildCommand": "npm run build",
"outputDirectory": "dist"
}| Outil / Bundler | Dossier par Défaut | Fichier de Contrôle | Statut index.html |
|---|---|---|---|
| Vite (React / Vue) | dist | vite.config.ts (build.outDir) | Immédiatement à la racine de dist/ |
| Create React App | build | Imposé par webpack interné | Immédiatement à la racine de build/ |
| Angular CLI (17+) | dist/<nom>/browser | angular.json (outputPath) | Dans le sous-dossier browser/ |
| Next.js (Static Export) | out | next.config.js (output: 'export') | Immédiatement à la racine de out/ |