Pour déployer sur Netlify, utilisez l'adaptateur [`adapter-netlify`](https://github.com/sveltejs/kit/tree/main/packages/adapter-netlify). Cet adaptateur sera installé par défaut si vous utilisez [`adapter-auto`](adapter-auto), mais l'ajouter à votre projet vous permet de spécifier des options spécifiques à Netlify. ## Usage Installez l'adaptateur avec `npm i -D @sveltejs/adapter-netlify`, puis ajoutez-le à votre fichier `svelte.config.js` : ```js // @errors: 2307 /// file: svelte.config.js import adapter from '@sveltejs/adapter-netlify'; export default { kit: { // les options par défaut sont affichées adapter: adapter({ // si vaut true, va créer une Netlify Edge Function plutôt // qu'utiliser des fonctions standards basées sur Node edge: false, // si vaut true, va découper votre application en différentes // fonctions plutôt que d'en créer une seule pour toute votre application. // si `edge` vaut true, cette option ne peut pas être utilisée split: false }) } }; ``` Ensuite, assurez-vous que vous avez un fichier [netlify.toml](https://docs.netlify.com/configure-builds/file-based-configuration) à la racine de votre projet. Celui-ci va déterminer l'endroit où créer des assets statiques en fonction des paramètres `build.publish`, comme montré dans cette configuration d'exemple : ```toml [build] command = "npm run build" publish = "build" ``` Si le fichier `netlify.toml` ou la valeur `build.publish` sont manquantes, une valeur par défaut de `"build"` sera utilisée. Notez que si vous avez défini le dossier de publication dans l'interface de Netlify comme étant un autre dossier, vous devrez le répliquer dans `netlify.toml` également, ou bien utiliser la valeur par défaut de `"build"`. ### Version de Node [!VO]Node version Les nouveaux projets utilisent la dernière version LTS de Node par défaut. Toutefois, si vous mettez à jour un projet que vous avez créé il y a un moment, celui-ci est peut-être bloqué sur une autre version. Référrez-vous à la [documentation de Netlify](https://docs.netlify.com/configure-builds/manage-dependencies/#node-js-and-javascript) pour obtenir des détails sur comment spécifier manuellement une version de Node. ## Netlify Edge Functions SvelteKit supporte les [Netlify Edge Functions](https://docs.netlify.com/netlify-labs/experimental-features/edge-functions/). Si vous passez l'option `edge: true` à la fonction `adapter`, le rendu côté serveur sera effectué dans une fonction edge basée sur Deno et déployée à proximité de l'emplacement de la personne visitant le site. Si l'option est définie à `false` (par défaut), le site sera déployé sur des Netlify Functions basées sur Node. ```js // @errors: 2307 /// file: svelte.config.js import adapter from '@sveltejs/adapter-netlify'; export default { kit: { adapter: adapter({ // va créer une Netlify Edge Function utilisant Deno // plutôt qu'utiliser des fonctions Node standards basées sur Node edge: true }) } }; ``` ## Alternatives Netlify à certaines fonctionnalités SvelteKit [!VO]Netlify alternatives to SvelteKit functionality Vous pouvez construire votre application en utilisant les fonctionnalités fournies directement par SvelteKit sans vous reposer sur des fonctionnalités Netlify. Utiliser les versions SvelteKit de ces fonctionnalités vous permet de les utiliser lors du développement, de les tester avec des tests d'intégration, et d'utiliser d'autres adaptateurs si vous décidez de vous passer de Netlify. Cependant, dans certains scénarios vous pourriez trouver un bénéfice d'utiliser les versions Netlify de ces fonctionnalités. Par exemple, si vous migrez une application qui était déjà hébergée sur Netlify vers SvelteKit. ### `_headers` et `_redirects` [!VO]_headers` and `_redirects` Les fichiers [`_headers`](https://docs.netlify.com/routing/headers/#syntax-for-the-headers-file) et [`_redirects`](https://docs.netlify.com/routing/redirects/redirect-options/) spécifiques à Netlify peuvent être utilisés comme réponses d'assets statiques (comme les images) en les plaçant à la racine de votre projet. ### Règles de redirection [!VO]Redirect rules Lors de la compilation, les règles de redirection sont automatiquement ajoutées à votre fichier `_redirects`. (S'il n'existe pas encore, il sera créé.) Cela signifie que : - `[[redirects]]` dans `netlify.toml` ne va jamais correspondre puisque `_redirects` a une [plus grande priorité](https://docs.netlify.com/routing/redirects/#rule-processing-order) - `_redirects` ne devrait pas avoir de règles "attrape-tout" personnalisées comme `/* /foobar/:splat`. Autrement, la règle automatiquement ajoutée ne sera jamais appliquée puisque Netlify ne traite que [la première règle qui correspond](https://docs.netlify.com/routing/redirects/#rule-processing-order). ### Netlify Forms 1. Créez votre formulaire HTML Netlify comme décrit [ici](https://docs.netlify.com/forms/setup/#html-forms), par ex. comme `/routes/contact/+page.svelte`. (N'oubliez pas d'ajouter l'élément `` caché `form-name` !) 2. Le robot de compilation de Netlify va parser vos fichiers HTML au moment de la compilation, ce qui signifie que votre formulaire doit être [pré-rendu](page-options#prerender) en tant que HTML. Vous pouvez soit ajouter `export const prerender = true` à votre fichier `contact/+page.svelte` pour pré-rendre uniquement cette page, ou bien définir l'option `kit.prerender.force: true` pour pré-rendre toutes vos pages. 3. Si votre formulaire Netlify a un [message de succès personnalisé](https://docs.netlify.com/forms/setup/#success-messages) comme `