For the complete documentation index, see llms.txt. This page is also available as Markdown.

Séance 2 : Introduction à Nuxt 4 & Fondations

🎯 Objectifs de la séance

  • Comprendre la valeur ajoutée d'un meta-framework fullstack comme Nuxt 4 par rapport à une Single Page Application (SPA) Vue 3 classique.

  • Maîtriser les 5 modes de rendu du web moderne (CSR, SSR, SSG, ISR/SWR, Edge) et savoir choisir le bon mode selon les contraintes métier et SEO.

  • Découvrir la nouvelle architecture standardisée de Nuxt 4 avec le répertoire central app/.

  • Comprendre le mécanisme des Auto-Imports de Nuxt et ses conventions.

  • Atelier Fil rouge DevFlow : Initialiser le projet devflow avec Nuxt 4, TypeScript en mode strict et configuration de base.


🚀 1. Qu'est-ce que Nuxt 4 ?

Vue 3 est une excellente bibliothèque pour construire des interfaces utilisateur réactives côté client. Cependant, pour une application d'envergure professionnelle, vous devez configurer manuellement :

  • Le routeur (vue-router) et la gestion des URL.

  • Le rendu côté serveur (SSR) pour le SEO et le premier affichage rapide (First Contentful Paint).

  • La compilation et l'optimisation des assets (Vite).

  • Les routes d'API serveur et l'authentification sécurisée.

Nuxt 4 est un meta-framework fullstack basé sur Vue 3. Il apporte une structure conventionnelle, une couche serveur unifiée grâce au moteur Nitro, et automatise l'ensemble des tâches répétitives.

┌────────────────────────────────────────────────────────────┐
│                           Nuxt 4                           │
├──────────────────────────────┬─────────────────────────────┤
│  Client (Vue 3 + Vite)       │  Serveur (Moteur Nitro)     │
│  - Composition API & TS      │  - Endpoints API server/    │
│  - Auto-imports de composants│  - Middlewares serveur      │
│  - Routage par fichiers      │  - Rendu SSR ultra-rapide   │
│  - Layouts et Transitions    │  - Déploiement serverless   │
└──────────────────────────────┴─────────────────────────────┘

📊 2. Les Modes de Rendu dans le Web Moderne

Le choix du mode de rendu a un impact direct sur la performance, les coûts d'hébergement, la fraîcheur des données et le référencement naturel (SEO).

Tableau comparatif exhaustif

Mode
Fonctionnement
Avantages
Inconvénients
Cas d'usage types

CSR (Client-Side Rendering)

Le serveur renvoie un HTML minimal et le bundle JS. Le navigateur construit tout le DOM.

Navigation instantanée après chargement, coût serveur quasi nul.

Premier affichage plus lent (blank page), SEO complexe sans pré-rendu.

Dashboards privés, back-offices, SaaS authentifiés (ex: Trello, Jira).

SSR (Server-Side Rendering)

À chaque requête, le serveur génère le HTML complet à la volée. Vue prend le relais via l'hydratation.

Excellent SEO, contenu immédiatement visible, métadonnées dynamiques.

Charge CPU sur le serveur, temps de réponse (TTFB) dépendant de la base de données.

E-commerce, sites d'actualités, réseaux sociaux, plateformes d'offres.

SSG (Static Site Generation)

Le HTML de toutes les pages est pré-généré au moment du build (nuxi generate).

Vitesse maximale sur CDN mondial, sécurité absolue, zéro charge serveur.

Nécessite un rebuild complet pour mettre à jour le contenu.

Documentation, sites vitrines, blogs, supports de cours GitBook.

ISR / SWR (Incremental Static / Stale-While-Revalidate)

Pages statiques régénérées périodiquement en tâche de fond après expiration d'un cache.

Performances du statique tout en gardant des données fraîches.

Complexité de cache et léger décalage de fraîcheur de données.

Catalogues de 50 000 produits, portails d'annonces immobilières.

Edge Rendering

Le code SSR s'exécute sur des serveurs distribués au plus près géographique de l'utilisateur (CDN Edge).

Latence réseau minimale (< 20 ms) pour une audience mondiale.

Environnement d'exécution restreint (V8 isolates sans Node.js complet).

Applications SaaS internationales, plateformes de streaming mondiales.


📁 3. Nouvelle structure de dossiers Nuxt 4 : Le dossier app/

Dans Nuxt 4, pour séparer proprement le code front-end du code serveur Nitro et de la configuration racine, l'ensemble du code applicatif Vue est regroupé dans le dossier app/.


⚡ 4. Le Système des Auto-Imports

Nuxt 4 auto-importe automatiquement les fonctions et composants essentiels. Vous n'avez plus besoin d'écrire des dizaines de lignes d'imports au début de chaque fichier.

Ce qui est auto-importé par défaut :

  1. Les primitives Vue 3 : ref, reactive, computed, watch, onMounted, nextTick, etc.

  2. Les utilitaires Nuxt : useRoute, useRouter, useFetch, useAsyncData, navigateTo, useHead, useSeoMeta.

  3. Tous les composants placés dans app/components/.

  4. Tous les composables placés dans app/composables/.

  5. Tous les utilitaires placés dans app/utils/.


🛠️ 5. Atelier Pratique : Lancement du Fil Rouge "DevFlow"

Votre mission chez DevSquad :

  1. Initialiser le projet Nuxt 4 avec la commande officielle nuxi init devflow.

  2. Configurer nuxt.config.ts :

    • Activer le typage strict (typescript: { strict: true, typeCheck: true }).

    • Configurer les métadonnées HTML de base, de manière globale, (title, description, lang: 'fr').

    • Activer les DevTools Nuxt.

  3. Créer l'arborescence app/ et configurer app/app.vue avec <NuxtLayout> et <NuxtPage />.

  4. Lancer le serveur de développement (npm run dev) et explorer l'interface des Nuxt DevTools (Shift + Alt + D).

La solution détaillée et commentée de cet atelier est disponible dans la page Séance 2 (correction).


🎯 Auto-évaluation & Checklist

Last updated