feat: support du déploiement sous sous-chemin (paths.base)

- Liens et assets via {base}, polices déplacées vers src/lib/assets (hachage Vite)
- Service worker base-aware, précache sur les pages prérendues
- CSP hash documentée : l'hôte ne doit pas fixer script-src
- Docs : déploiement Apache/YunoHost (DEPLOYMENT, APACHE_AUTOINDEX)
This commit is contained in:
sucupira
2026-07-21 13:41:10 -04:00
parent 45fd4bd407
commit 3e60f48c5e
18 changed files with 206 additions and 42 deletions
+20
View File
@@ -10,6 +10,26 @@ const config = {
adapter: adapter({
fallback: '404.html'
}),
// Déployé à la racine de https://chatcontrol.o-k-i.net/ (YunoHost) :
// pas de paths.base. Pour servir sous un sous-chemin, ajouter ici
// paths: { base: '/prefixe' } et adapter les règles du serveur.
// Le script de démarrage SvelteKit est inline (il embarque les données de
// la page) : une CSP `script-src 'self'` posée en en-tête HTTP le bloque
// et tue l'hydratation (recherche et filtres morts — vécu sur o2switch).
// En mode hash, chaque page prérendue porte une <meta> CSP avec l'empreinte
// de SON script inline. L'en-tête serveur ne doit donc plus fixer
// script-src (voir DEPLOYMENT.md §2/§3).
csp: {
mode: 'hash',
directives: {
'script-src': ['self']
}
},
// Un seul bundle JS + une seule feuille CSS au lieu de ~30 chunks :
// moins de requêtes par page (3G, anti-flood o2switch qui répond 429).
output: {
bundleStrategy: 'single'
},
prerender: {
handleHttpError: 'fail'
}