Qu'est-ce que SvelteKit ?
SvelteKit est le framework application officiel pour Svelte. Où Svelte est le compilateur composants UI, SvelteKit est tout le reste nécessaire pour construire une app web full-stack : routing, server-side rendering (SSR), static site generation (SSG), API routes, tooling build et adapters deployment. C'est analogue à Next.js pour React ou Nuxt pour Vue.
Pourquoi SvelteKit ?
- Bundles minuscules. Svelte compile composants en JS vanilla.
- Chargements page rapides.
- Rendering flexible.
- Routing file-based.
- Adapters pour tout host.
- Form actions.
- TypeScript partout.
- Dev server Vite.
Structure projet SvelteKit
my-app/
├── src/
│ ├── routes/
│ │ ├── +page.svelte
│ │ ├── +layout.svelte
│ │ └── blog/[slug]/+page.svelte
│ ├── lib/
│ └── app.html
├── static/
└── svelte.config.jsRouting dans SvelteKit
| Fichier | But |
|---|---|
+page.svelte | Composant page |
+page.server.ts | Data loading server-only |
+page.ts | Data loading universel |
+layout.svelte | Layout |
+server.ts | Endpoint API |
+error.svelte | Error boundary |
Exemple data loading
export const load: PageServerLoad = async ({ params }) => {
const post = await db.post.findUnique({ where: { slug: params.slug } });
if (!post) throw error(404, 'Post not found');
return { post };
};API routes
export const GET: RequestHandler = async () => {
const posts = await db.post.findMany();
return json(posts);
};Form actions
export const actions: Actions = {
default: async ({ request }) => {
const data = await request.formData();
await db.post.create({ data: { title: data.get('title') as string } });
return { success: true };
}
};Adapters : déployez n'importe où
| Adapter | Target |
|---|---|
adapter-auto | Auto-detect |
adapter-node | Node.js |
adapter-static | SSG pur |
adapter-vercel | Vercel |
adapter-netlify | Netlify |
adapter-cloudflare | Cloudflare |
SvelteKit vs Next.js vs Nuxt
| Feature | SvelteKit | Next.js | Nuxt |
|---|---|---|---|
| Compiler vs runtime | Compiler | Runtime | Runtime |
| Taille bundle | Plus petit | Plus grand | Moyen |
| Courbe apprentissage | Plus facile | Plus raide | Moyenne |
| Écosystème | Plus petit | Plus grand | Moyen |
Best practices SvelteKit
- +page.server.ts pour données sensibles.
- Utiliser form actions.
- Typer tout.
- Choisir adapter correct.
- SSR par défaut ; opt-out où nécessaire.
- Streaming avec
defer. - Utiliser Svelte 5 runes.
FAQ : SvelteKit
SvelteKit est-il production-ready ?
Oui — 1.0 lancé Dec 2022.
SvelteKit ou Next.js ?
SvelteKit pour bundles plus petits. Next.js pour écosystème React.
SvelteKit supporte-t-il TypeScript ?
Oui — first-class.
Puis-je utiliser SvelteKit pour site statique ?
Oui — adapter-static.
Comment SvelteKit gère-t-il l'authentification ?
Hooks (src/hooks.server.ts).
SvelteKit fonctionne-t-il avec mon framework CSS ?
Oui — Tailwind, UnoCSS, tous.
Différence entre Svelte et SvelteKit ?
Svelte = library UI. SvelteKit = framework full-stack.
Load-testez votre app SvelteKit avec LoadFocus
LoadFocus exécute des scripts JMeter et k6 contre votre deployment SvelteKit depuis 25+ régions. Inscrivez-vous sur loadfocus.com/signup.
Outils LoadFocus connexes
Mettez ce concept en pratique avec LoadFocus — la plateforme même qui propulse tout ce que vous venez de lire.