Aller au contenu
Retour au blog

Déployer SvelteKit avec adapter-node : build, port et domaine

Configurez SvelteKit pour Node, testez le serveur de production et distinguez SSR et sortie statique avant le déploiement dans Projects.

  • SvelteKit
  • Node.js
  • SSR
  • Projects

SvelteKit ne produit pas le même artefact avec tous ses adaptateurs. Pour une application qui doit répondre côté serveur, @sveltejs/adapter-node crée un serveur Node autonome. Si toutes les routes peuvent être générées à l’avance, adapter-static publie des fichiers ; auto dépend de la plateforme cible et ne constitue pas un format universel pour tous les hébergeurs.

Ce guide porte sur adapter-node et les vérifications à effectuer avant de déployer votre dépôt Git avec Projects. Consultez les forfaits et limites actuels pour vérifier que les ressources et le processus persistant sont adaptés.

Vérifier les routes avant de choisir un adaptateur

Repérez les pages qui utilisent +page.server, +server, des hooks serveur, des sessions ou des données modifiées à chaque requête. Ces routes ont besoin d’un runtime en production. La documentation des adaptateurs SvelteKit explique que chaque adaptateur prépare l’application pour une cible différente ; le guide adapter-node décrit le serveur Node.

Si toutes les pages peuvent être pré-générées, comparez adapter-static et vérifiez ses exigences de routes et de fallback. Ne supprimez pas de hooks ou d’endpoints pour faire compiler le projet s’ils sont nécessaires à l’application.

Configurer la sortie Node

Installez l’adaptateur comme dépendance de développement. Avec SvelteKit 3 (et les versions 2.62 ou ultérieures), configurez-le dans le plugin SvelteKit de vite.config.js ; c’est la forme actuelle testée avec un projet minimal :

import adapter from '@sveltejs/adapter-node';
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';

export default defineConfig({
  plugins: [sveltekit({ adapter: adapter() })]
});

Les projets plus anciens peuvent définir l’adaptateur dans svelte.config.js ; vérifiez la version installée et suivez son guide de migration officiel avant de déplacer la configuration.

Conservez le fichier de verrouillage du dépôt et son script de build. Pour un projet npm, la séquence habituelle est :

npm ci
npm run build
HOST=127.0.0.1 PORT=3000 node build

L’adaptateur crée build/ et le serveur accepte HOST et PORT. En local, testez l’accueil, les routes dynamiques, les endpoints et une URL inexistante. Si un proxy se trouve devant, configurez l’origine publique ou les en-têtes transmis de façon cohérente ; une URL externe incorrecte peut fausser les redirections et les liens absolus.

Protéger les variables et déployer depuis Git

SvelteKit ne rend pas toutes les variables d’environnement publiques par défaut : vérifiez les imports employés par le code. Les variables de $env/static/public ou $env/dynamic/public sont livrées au navigateur et ne doivent pas contenir de secrets. Gardez les identifiants privés dans la configuration du service.

Dans Projects, connectez le dépôt, choisissez la branche et vérifiez le runtime Node, l’installation, le build et la commande de démarrage node build. Si le forfait ou la détection du projet ne permet pas ce processus tel quel, utilisez le parcours de conteneur documenté pour l’offre choisie. Un build de développement ou npm run preview ne prouve pas que le serveur de production fonctionne.

Testez d’abord le domaine temporaire : rendu serveur, navigation directe, formulaires, connexion, appels API, fichiers, journaux et redémarrage du processus. Configurez le domaine final après ces essais, puis vérifiez HTTPS et les URL de callback. Si l’app sert uniquement des fichiers pré-générés, comparez le coût opérationnel avec Sites avant de garder un serveur actif.

Test local (9 octobre 2026) : un projet minimal SvelteKit 3.0.1 avec adapter-node 6.0.0 a passé svelte-check sans erreur ni avertissement et npm run build ; HOST=127.0.0.1 PORT=3000 node build a servi l’accueil en HTTP 200 et une route inexistante en HTTP 404. Cet exemple n’a pas été déployé sur un compte Projects.

Sources : adaptateurs SvelteKit, adapter-node, variables d’environnement, migration vers SvelteKit 3 et Projects.

Gérez vos sites, serveurs et e-mails.

Mot de passe oublié ?

C’est gratuit et ça prend une minute.

8 caractères minimum. Ni que des chiffres, ni un mot de passe courant.

Nous vous enverrons un e-mail pour confirmer le compte.