Next.js est un framework construit au-dessus de React. Là où React est une simple bibliothèque pour construire des interfaces, Next.js ajoute toute la couche manquante pour produire une application web complète, performante et prête pour la production.
Maintenu par Vercel, Next.js est aujourd'hui le choix par défaut pour la grande majorité des projets React modernes (Netflix, TikTok, Notion, Hulu, Twitch).
React seul ne sait que produire du HTML côté navigateur (CSR). Next.js apporte plusieurs modes de rendu, le routing, l'optimisation des images, l'internationalisation, la gestion des métadonnées SEO et bien plus encore.
| Aspect | React seul | Next.js |
|---|---|---|
| Rendu | Client uniquement (CSR) | SSR, SSG, ISR, RSC |
| Routing | Bibliothèque tierce (React Router) | Routing fichiers natif |
| SEO | Difficile (page vide au départ) | Excellent par défaut |
| Performance | À optimiser manuellement | Optimisations intégrées |
| Build | Vite, Webpack à configurer | Tout est inclus |
C'est la grande force du framework : choisir le bon mode de rendu pour chaque page.
| Mode | Quand | Cas d'usage |
|---|---|---|
| SSR (Server-Side Rendering) | À chaque requête, le HTML est généré sur le serveur | Tableau de bord personnalisé, données très fraîches |
| SSG (Static Site Generation) | Au moment du build, une fois pour toutes | Blog, documentation, pages marketing |
| ISR (Incremental Static Regeneration) | SSG + régénération périodique en arrière-plan | E-commerce, articles avec mises à jour |
| RSC (React Server Components) | Composants exécutés uniquement côté serveur | Accès direct DB, pas de JS envoyé au client |
Depuis Next.js 13, le App Router (dossier app/) est le système recommandé. Il remplace progressivement le Pages Router (dossier pages/) qui reste supporté pour compatibilité.
💡 Astuce : pour un nouveau projet en 2026, utilise toujours l'App Router. C'est le futur du framework.
L'App Router introduit une distinction fondamentale entre deux types de composants :
Règle d'or : commence toujours par un Server Component, et passe en Client Component uniquement si tu as besoin d'interactivité.
| Fichier | Rôle |
|---|---|
| page | Route publique accessible via URL |
| layout | UI parent partagée par plusieurs pages |
| loading | UI de chargement automatique avec Suspense |
| error | Gestion des erreurs runtime |
| not-found | Page 404 personnalisée |
| route | API endpoint REST |
Une seule commande lance un wizard interactif qui configure tout : npx create-next-app
Le wizard pose les questions suivantes :
✅ À retenir : Next.js = React + (SSR/SSG/ISR/RSC) + routing + optimisations. C'est le framework full-stack qui couvre tous les besoins.
Inscrivez-vous pour accéder aux 4 autres leçons + le quiz final.
Créer mon compte