[{"data":1,"prerenderedAt":117},["ShallowReactive",2],{"seo-verification":3,"blog-deployer-sveltekit-vps-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":21,"featuredImage":23,"bgImage":24,"posterImage":25,"relatedSolution":26,"intro":28,"sections":29,"ctaTitle":72,"ctaBody":73,"ctaButton":74,"ctaUrl":75,"relatedPosts":76},53,"deployer-sveltekit-vps","Déployer une application SvelteKit sur un VPS","Déployez une app SvelteKit sur un VPS Cloud avec l'adaptateur Node, Docker, PM2, reverse proxy et SSL. Tutoriel pour développeurs front.",7,361,false,"2026-04-28T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},4,"Développement","developpement","bg-warning\u002F10 text-warning","dev",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdeployer-sveltekit-vps-poster.svg",{"categorySlug":18,"appSlug":27},"sveltekit","SvelteKit produit des applications full-stack performantes, mais la plupart des tutos supposent un déploiement serverless. Sur un VPS, l'adaptateur Node vous donne un vrai serveur long-running, sans cold start ni limite d'exécution. Voici comment le déployer proprement avec Docker et un reverse proxy.",[30,34,44,47,69],{"type":31,"title":32,"body":33},"h2","Pourquoi self-héberger SvelteKit sur un VPS","SvelteKit s'adapte à de nombreuses cibles via ses adaptateurs (Vercel, Netlify, Cloudflare…), mais l'adaptateur officiel `@sveltejs\u002Fadapter-node` produit un serveur Node autonome, parfait pour un VPS. Au lieu de découper votre application en fonctions serverless soumises à des cold starts et à des limites de durée d'exécution, vous obtenez un processus persistant qui garde ses connexions à la base de données ouvertes et répond sans latence de démarrage. Les actions de formulaire, les `load` côté serveur et les endpoints `+server.ts` tournent dans un seul runtime que vous maîtrisez. Sur un VPS, vous évitez aussi la facturation à l'invocation, fréquente sur les plateformes front, qui devient imprévisible dès que le trafic monte.",{"type":35,"title":36,"items":37},"ul","Bénéfices concrets",[38,39,40,41,42,43],"Serveur Node persistant via adapter-node : aucun cold start sur les routes serveur","Connexions base de données maintenues ouvertes dans un pool, sans reconnexion à chaque requête","Pas de facturation à l'invocation : coût stable même avec un trafic élevé et irrégulier","Actions de formulaire et endpoints `+server.ts` exécutés sans limite de durée imposée","WebSockets et SSE possibles, là où le serverless les interdit ou les complique","Variables d'environnement et secrets gérés directement, sans dashboard de plateforme tierce",{"type":31,"title":45,"body":46},"Prérequis matériels et logiciels","Une application SvelteKit en mode Node consomme modérément : un VPS de 1 vCPU et 2 Go de RAM convient pour un site à trafic moyen, montez à 2 vCPU \u002F 4 Go si vous co-localisez une base PostgreSQL et avez des `load` serveur lourds. Installez Node.js 20 LTS, et soit Docker, soit PM2 pour gérer le processus en daemon. Nginx servira de reverse proxy. Pointez votre domaine vers l'IP du VPS. Le build (`build\u002F` généré par adapter-node) reste léger, 5 à 10 Go de disque suffisent avec les `node_modules`.",{"type":48,"title":49,"steps":50},"steps","Déploiement pas à pas",[51,54,57,60,63,66],{"title":52,"body":53},"Installer et configurer l'adaptateur Node","Ajoutez `@sveltejs\u002Fadapter-node` et déclarez-le dans `svelte.config.js` (`adapter: adapter()`). C'est lui qui transforme votre app en serveur Node autonome plutôt qu'en bundle serverless.",{"title":55,"body":56},"Builder l'application","Lancez `npm run build`. SvelteKit génère un dossier `build\u002F` contenant `index.js`, le point d'entrée du serveur. Vous le testez localement avec `node build` ; il écoute par défaut sur le port 3000.",{"title":58,"body":59},"Conteneuriser ou daemoniser le processus","Avec Docker : un Dockerfile `node:20-alpine` qui copie `build\u002F` et `package.json`, installe les dépendances de prod (`npm ci --omit=dev`) et lance `node build`. Sans Docker : utilisez PM2 avec `pm2 start build\u002Findex.js --name svelte-app` pour le redémarrage automatique.",{"title":61,"body":62},"Injecter la configuration runtime","Passez `PORT`, `ORIGIN` (indispensable pour que SvelteKit valide les actions de formulaire) et vos secrets via l'environnement : `ORIGIN=https:\u002F\u002Fmondomaine.ma`. Sans `ORIGIN` correct, les form actions échoueront en production avec une erreur CSRF.",{"title":64,"body":65},"Configurer Nginx en frontal","Créez un vhost avec `proxy_pass http:\u002F\u002F127.0.0.1:3000;` et les en-têtes `proxy_set_header Host` et `X-Forwarded-Proto $scheme`. Activez `proxy_http_version 1.1` et les en-têtes `Upgrade` si vous utilisez des WebSockets.",{"title":67,"body":68},"Sécuriser avec Let's Encrypt","Exécutez `certbot --nginx -d mondomaine.ma`. Une fois le certificat installé, vérifiez que `ORIGIN` correspond bien à l'URL HTTPS finale, sinon les soumissions de formulaire seront rejetées.",{"type":70,"body":71},"tip","Mettez en cache l'output des routes statiques avec l'en-tête `Cache-Control` dans vos fonctions `load`, et activez la précompression : adapter-node sert automatiquement les fichiers `.gz` et `.br` s'ils existent. Buildez avec la précompression en définissant `precompress: true` dans les options de l'adaptateur. Côté process management, préférez le mode cluster de PM2 (`pm2 start build\u002Findex.js -i max`) pour exploiter tous les cœurs du VPS sur une charge CPU élevée.","Déployez votre app SvelteKit sans cold start","Le VPS Cloud ServOrbit vous donne un environnement Node persistant avec ressources dédiées : l'idéal pour faire tourner adapter-node en continu et servir vos routes SvelteKit sans latence de démarrage.","Découvrir le VPS Cloud","\u002Fvps-cloud",[77,90,104],{"id":78,"slug":79,"title":80,"excerpt":81,"readTime":11,"views":82,"isPinned":13,"publishedAt":83,"category":84,"categories":85,"featuredImage":23,"bgImage":24,"posterImage":87,"relatedSolution":88},5,"deployer-laravel-vps","Déployer Laravel sur un VPS : guide production","Passez Laravel en production sur VPS : PHP, workers, cache, base de données, reverse proxy et HTTPS proprement configurés.",2840,"2026-02-09T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[86],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-laravel-vps-poster.svg",{"categorySlug":20,"appSlug":89},"laravel-stack",{"id":91,"slug":92,"title":93,"excerpt":94,"readTime":95,"views":96,"isPinned":13,"publishedAt":97,"category":98,"categories":99,"featuredImage":23,"bgImage":24,"posterImage":101,"relatedSolution":102},43,"deployer-nodejs-vps","Déployer une application Node.js sur un VPS","Déployez une application Node.js en production sur un VPS : PM2, reverse proxy Nginx, SSL Let's Encrypt et démarrage automatique au boot.",8,591,"2026-05-08T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[100],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-nodejs-vps-poster.svg",{"categorySlug":18,"appSlug":103},"nodejs",{"id":105,"slug":106,"title":107,"excerpt":108,"readTime":95,"views":109,"isPinned":13,"publishedAt":110,"category":111,"categories":112,"featuredImage":23,"bgImage":24,"posterImage":114,"relatedSolution":115},44,"deployer-django-vps","Déployer une application Django sur un VPS","Déployez Django sur un VPS : Gunicorn, Nginx, PostgreSQL, Docker et SSL. Guide complet pour développeurs Python qui veulent self-héberger.",628,"2026-05-07T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[113],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-django-vps-poster.svg",{"categorySlug":18,"appSlug":116},"django",1784126233961]