1. Livres & vidéos
  2. Next.js pour les développeurs React - Le guide complet pour des applications web professionnelles

Next.js pour les développeurs React Le guide complet pour des applications web professionnelles

Informations

Livraison possible dès le 27 avril 2026
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
  • Livres rédigés par des auteurs francophones et imprimés à Nantes

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
  • Livres rédigés par des auteurs francophones et imprimés à Nantes

Les points forts du livre :

  • Un apprentissage progressif de Next.js, depuis les fondations du framework et son architecture (Server et Client Components, App Router, stratégies de rendu) jusqu’à la création d’applications complètes,
  • Une mise en pratique complète du développement web moderne : routage avancé, gestion d’état, API Routes, intégration de bases de données, authentification et Server Actions,
  • Des bonnes pratiques professionnelles pour la production : optimisation des performances, SEO, accessibilité, tests, déploiement, automatisation et scalabilité, illustrées par des exemples concrets et des exercices pratiques
Consulter des extraits du livre en ligne Aperçu de la version papier
  • Niveau Confirmé à Expert
  • Nombre de pages 464 pages
  • Parution avril 2026
  • Niveau Confirmé à Expert
  • Parution avril 2026

Ce livre propose une progression claire et pédagogique pour découvrir puis maîtriser Next.js, le framework moderne basé sur React utilisé pour développer des applications web rapides, fiables et prêtes pour la production. Il s’adresse aux étudiants, aux développeurs débutants ou intermédiaires, ainsi qu’aux professionnels en reconversion souhaitant comprendre comment concevoir, structurer et déployer des applications complètes avec Next.js.

Après une introduction aux fondations du framework, à son architecture (Server et Client Components, App Router, cycle de rendu) et aux grandes évolutions du développement web, l’ouvrage accompagne le lecteur dans la construction d’une application étape par étape : structure du projet, routage avancé, pages et layouts, gestion d’état, stratégies de rendu et de récupération de données, Server Actions, formulaires, API Routes, intégration d’une base de données et authentification.

Les chapitres suivants abordent des aspects essentiels du développement professionnel : optimisation front-end, performance, SEO, accessibilité, bonnes pratiques UI, animation, tests, débogage, revue de code, déploiement, automatisation et scalabilité dans un contexte de production. Chaque chapitre est illustré par du code clair, des exemples concrets, des conseils pratiques et des exercices pour aider le lecteur à consolider ses acquis.

Ce livre se distingue par son approche résolument pratique : il ne se contente pas d’expliquer Next.js, il montre comment l’utiliser pour créer des applications modernes réellement exploitables en production.

 

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-409-05377-1
  • EAN : 9782409053771
  • Ref. ENI : EINEXT

Caractéristiques

  • HTML
  • ISBN : 978-2-409-05378-8
  • EAN : 9782409053788
  • Ref. ENI : LNEINEXT

Téléchargements

Évolution du Web et rôle de Next.js
  1. De l’ère statique à l’ère des applications hybrides
    1. 1. Les débuts : le Web statique
    2. 2. L’avènement du rendu dynamique
    3. 3. Le triomphe du JavaScript client
    4. 4. L’émergence des frameworks hybrides
    5. 5. Vers une architecture universelle : du document à l’application
  2. L’évolution des frameworks JavaScript
    1. 1. Des bibliothèques aux frameworks complets
    2. 2. L’émergence des meta-frameworks :Next.js, Nuxt.js, SvelteKit
    3. 3. Les promesses initiales de Next.js
    4. 4. Next.js aujourd’hui : une plateformecomplète et modulaire
    5. 5. En résumé : pourquoi Next.jss’impose
  3. React et Next.js : comprendre la complémentarité
    1. 1. React : une bibliothèque d’interfaceminimaliste
    2. 2. Next.js : une surcouche productive et structurante
    3. 3. Comparaison concrète : React seulvs Next.js
    4. 4. Pourquoi utiliser Next.js aujourd’hui ?
    5. 5. En synthèse : React pour la flexibilité,Next.js pour la productivité
  4. Next.js dans la pratique : une réponse à tous les niveaux de complexité
    1. 1. Un framework adaptable à chaque cas d’usage
    2. 2. Cas d’usage 1 : le blogstatique (SSG)
    3. 3. Cas d’usage 2 : le sitedynamique à contenu fréquent (ISR)
    4. 4. Cas d’usage 3 : applicationauthentifiée (SSR + client components)
    5. 5. Cas d’usage 4 : boutiquee-commerce (SSR + API + optimisations)
    6. 6. Cas d’usage 5 : produitSaaS (full-stack, API, base de données)
    7. 7. En résumé : une courbede montée en puissance maîtrisée
  5. À propos du livre
    1. 1. Pourquoi ce livre ?
    2. 2. À qui s’adresse cet ouvrage ?
    3. 3. Objectifs pédagogiques
    4. 4. Structure et logique de progression
    5. 5. Méthodologie choisie : pratiqueet fil conducteur
    6. 6. Derniers conseils au lecteur
Prise en main de Next.js
  1. Préparer l’environnement de développement
  2. Créer un nouveau projet Next.js
    1. 1. Initialisation avec create-next-app
    2. 2. Lancer le serveur de développement
    3. 3. Scripts essentiels
    4. 4. Configuration de base (next.config.js)
    5. 5. En résumé : un démarrageguidé et moderne
  3. Explorer la structure du projet
    1. 1. Arborescence générée
    2. 2. Convention plutôt que configuration
    3. 3. Vue d’ensemble des dossiers principaux
      1. a. app/ : le cœur de l’application
      2. b. public/ : fichiers statiques
      3. c. styles/ : gestion du CSS
      4. d. components/ : composants d’interface
      5. e. lib/ ou utils/ : logiqueapplicative
      6. f. types/ : typage centralisé
      7. g. Autres fichiers clés
  4. Comprendre l’App Router
    1. 1. Principe général du routage parfichiers
    2. 2. Fichiers spéciaux à connaître
    3. 3. Une architecture déclarative
    4. 4. Exemple : trois pages, un layout
    5. 5. En résumé : un modèleclair et prédictible
  5. L'architecture server et client components
    1. 1. Une évolution majeure du modèleReact
    2. 2. Le paradigme server-first
    3. 3. Une architecture hybride et granulaire
    4. 4. Une base pour le streaming et les Server Actions
      1. a. Composant Server (app/page.tsx)
      2. b. Composant client (components/Compteur.tsx)
      3. c. Points à retenir
    5. 5. Pourquoi cette séparation est essentielle
    6. 6. En résumé : un modèlemoderne et performant
    7. 7. components/ : les briques de l’interface
    8. 8. lib/ ou utils/ : la logiquemétier et les helpers
    9. 9. types/ : les contrats de données
  6. Créer et organiser ses pages
    1. 1. Créer une nouvelle page
    2. 2. Ajouter des composants réutilisables
    3. 3. Exemple : page de contact avec formulaire
    4. 4. Ajouter un layout global
    5. 5. En résumé : vers une applicationmodulaire
Routage et navigation avancée
  1. Comprendre l'évolution du routage dans Next.js
    1. 1. Pourquoi deux systèmes de routage ?
    2. 2. Le Pages Router : héritage et limites
    3. 3. L’App Router : l’architecture moderne
    4. 4. Tableau comparatif synthétique
    5. 5. En résumé : la transitionvers le modèle App Router
  2. Routage dynamique avec l’App Router
    1. 1. Introduction : routes dynamiques et segments
    2. 2. Créer une route dynamique : [param]
    3. 3. Accéder aux paramètres dynamiques
    4. 4. Cas d’usage typiques
    5. 5. Routes catch-all et optionnelles : [...param] et [[...param]]
    6. 6. Extraire les paramètres dans une route catch-all
    7. 7. Limitations et bonnes pratiques
    8. 8. Cas d’usage concrets
      1. a. Blog avec route dynamique
      2. b. Documentation à structure profonde
      3. c. En résumé : vers un routagesouple et cohérent
  3. Navigation côté client
    1. 1. Rappel : structure du routage dans l’AppRouter
    2. 2. Le composant <link> : navigation déclarative
      1. a. Le mécanisme de préchargement (prefetching)
      2. b. Utilisation dans une application
      3. c. Bonnes pratiques et pièges à éviter
      4. d. Options avancées (replace, scroll, shallow)
      5. e. Exemples concrets
    3. 3. Le hook useRouter : navigation programmatique
      1. a. Introduction et contexte
      2. b. Avantages de l’utilisation de useRouter
      3. c. Inconvénients et points de vigilance
      4. d. Dépendance à l’architectureNext.js
      5. e. Risques de comportements inattendus
      6. f. Complexification de la logique métier
      7. g. Exemple d’utilisation
      8. h. Usages avancés et bonnes pratiques
    4. 4. La fonction redirect() : redirections côté serveur
      1. a. Introduction à redirect
      2. b. Avantages de l’utilisation de redirect
      3. c. Inconvénients et points de vigilance
      4. d. Exemple d’utilisation
      5. e. Usages avancés et bonnes pratiques
    5. 5. Synthèse : comparer les trois outilsde navigation
  4. Cas pratique - Combiner les méthodes de navigation
    1. 1. Étude de cas : une application deblog sécurisée
      1. a. Navigation de base avec <link>
      2. b. Pagination et filtrage dynamique avec useRouter
      3. c. Sécurisation avec redirect côté serveur
      4. d. Explications et complémentarité
    2. 2. Conclusion : complémentarité desoutils
  5. Structurer l’interface avec les layouts
    1. 1. Pourquoi structurer l’interface avec deslayouts ?
    2. 2. Le rôle de layout.tsx
      1. a. Fichier clé du segment
      2. b. Exemple de structure
      3. c. Signature de layout.tsx
    3. 3. Layouts imbriqués et persistants
      1. a. Layouts imbriqués
      2. b. Layouts persistants entre pages
    4. 4. Exemple d’interface à layouts multiples
      1. a. Layout global (app/layout.tsx)
      2. b. Layout de section (app/dashboard/layout.tsx)
      3. c. Résultat
    5. 5. Layouts et accessibilité (UX)
    6. 6. Bonnes pratiques de conception
  6. Middleware et interception de requêtes
    1. 1. Pourquoi intercepter une requête ?
    2. 2. Créer un middleware
      1. a. Emplacement
      2. b. Signature de base
    3. 3. Fonctions principales d’un middleware
      1. a. Redirection conditionnelle
      2. b. Réécriture d’URL
      3. c. Ajout d’en-têtes personnalisés
      4. d. Blocage d’accès
    4. 4. Configuration du middleware et portée
      1. a. Fichier middleware.ts
      2. b. Limitation du scope via matcher
    5. 5. Middleware vs redirect() : comparaison descontextes
    6. 6. Bonnes pratiques d’utilisation
    7. 7. Cas concret : redirection d’un utilisateurnon connecté
      1. a. Middleware d’auth simplifié
      2. b. Résultat
    8. 8. En résumé : le middlewarecomme filtre global
Gestion d'état en React
  1. Comprendre la notion d’état
    1. 1. Pourquoi parler d’« état » ?
    2. 2. L’état local avec useState()
    3. 3. L’état dans un arbre de composants
    4. 4. Les limites de l’état local
  2. Les solutions natives de React
    1. 1. Les outils intégrés : useState,useReducer, useContext
    2. 2. useContext + useState : partage simple d’un état
    3. 3. useReducer + Context : structure plus rigoureuse
    4. 4. Quand ces solutions atteignent leurs limites
  3. Vers un état global et partageable
    1. 1. Pourquoi un état global devient nécessaire
    2. 2. Le besoin d’un store centralisé,léger et typé
    3. 3. En résumé : l’émergencedu besoin d’un gestionnaire d’état moderne
  4. Zustand : la solution simple et moderne
    1. 1. Présentation générale deZustand
    2. 2. Exemple minimal et principes de base
    3. 3. Pourquoi Zustand est parfait pour Next.js
    4. 4. Quand choisir Zustand ?
    5. 5. En résumé
  5. Structurer ses stores avec Zustand
    1. 1. Pourquoi structurer ses états en modules ?
    2. 2. Créer un store Zustand simple
      1. a. Définir le store
      2. b. Utiliser le store dans un composant
    3. 3. Séparer les états : approchemodulaire
      1. a. Arborescence recommandée
      2. b. Exemple : store auth.ts
      3. c. Exemple : store ui.ts
    4. 4. Bonnes pratiques d’architecture
      1. a. Utiliser un typage strict avec TypeScript
      2. b. Garder les stores « minces » etdécouplés
      3. c. Centraliser les exports (optionnel)
  6. Intégrer Zustand dans Next.js
    1. 1. Points d’attention principaux
      1. a. Zustand : usage interdit en Server Components
      2. b. Stores partagés entre pages
      3. c. Cas de l’hydratation (SSR)
    2. 2. Distinction entre server et client components
    3. 3. Implications pratiques : où utiliserZustand ?
    4. 4. Exemple : hydrater un store avec une donnéeserveur
      1. a. Composant serveur (page.tsx)
      2. b. Composant client (Counter.tsx)
    5. 5. Alternative : Zustand persisté
    6. 6. Pourquoi Zustand n’est pas Server Friendly(et pourquoi c’est cohérent)
    7. 7. En résumé
  7. Comparer Redux, Context et Zustand
    1. 1. Objectif de la comparaison
    2. 2. Rappels sur Redux et Context
      1. a. Redux
      2. b. React Context
    3. 3. Quand utiliser Redux ?
    4. 4. Quand utiliser React Context ?
    5. 5. Pourquoi Zustand est-il plus adapté dans90 % des cas Next.js ?
    6. 6. Exemple comparatif de syntaxe
      1. a. Redux (avec Redux Toolkit)
      2. b. React Context + useState
      3. c. Zustand
    7. 7. Tableau de synthèse comparatif
Gestion du rendu et des données
  1. Comprendre les stratégies de rendu
    1. 1. Contexte : le triptyque SSG/SSR/ISR
    2. 2. Static Site Generation (SSG)
      1. a. Avantages
      2. b. Limites
      3. c. Cas d’usage typiques
    3. 3. Server-Side Rendering (SSR)
      1. a. Avantages
      2. b. Limites
      3. c. Cas d’usage typiques
    4. 4. Comment choisir entre SSG et SSR ?
    5. 5. Incremental Static Regeneration (ISR)
    6. 6. Exemples pratiques avec l’App Router
      1. a. Exemple SSG (force-static)
      2. b. Exemple SSR (force-dynamic)
    7. 7. Synthèse comparative
  2. Maîtriser l’Incremental Static Regeneration (ISR)
    1. 1. Définition et objectif
    2. 2. Fonctionnement avec l’App Router
    3. 3. Exemple complet d’implémentation
    4. 4. Cycle de vie et comportement détaillé
    5. 5. Comparaison SSG/SSR/ISR
    6. 6. Avantages principaux
    7. 7. Limitations techniques
    8. 8. Bonnes pratiques de configuration
    9. 9. Résumé global du mode ISR
  3. Du Pages Router à l’App Router : évolution du modèle de données
    1. 1. Contexte historique : de getStaticProps à fetch()
    2. 2. Refonte du modèle avec l’App Router
      1. a. Activer un comportement SSG/ISR (revalidate)
      2. b. Forcer un comportement SSR (force-dynamic)
    3. 3. Migration depuis le Pages Router
    4. 4. Fetching client : rôle de useEffect()
    5. 5. fetch() intelligent dans Next.js
      1. a. Revalidation ciblée (tags et chemins)
      2. b. Points d’attention (mélange statique/dynamique)
    6. 6. Bonnes pratiques de fetching moderne
    7. 7. Synthèse : un modèle unifié derendu et de données
  4. Ajouter la réactivité côté client avec TanStack Query
    1. 1. Pourquoi combiner SSR et TanStack Query ?
    2. 2. Installation et configuration initiale
    3. 3. Mise en place du QueryClientProvider
      1. a. Création du provider
      2. b. Intégration dans layout.tsx
    4. 4. Utilisation de useQuery dans un client component
    5. 5. Préchargement des données côté serveur
      1. a. Côté serveur (App Router)
      2. b. Côté client
    6. 6. Combiner TanStack Query avec SSG, SSR et ISR
    7. 7. Résumé et avantages clés
  5. Simplifier les interactions serveur avec les Server Actions
    1. 1. Contexte : avant les Server Actions
    2. 2. Qu’est-ce qu’une Server Action ?
    3. 3. Exemple complet de mise en œuvre
      1. a. Définition côté serveur
      2. b. Utilisation dans un formulaire
    4. 4. Bonnes pratiques d’écriture
    5. 5. Gestion des erreurs
    6. 6. Cas d’usage typiques
    7. 7. Comparaison avec les API Routes
    8. 8. Limitations actuelles et évolutions prévues
    9. 9. Synthèse générale
Back-end intégré dans Next.js
  1. Comprendre le rôle des API Routes
    1. 1. Pourquoi des API Routes dans Next.js ?
    2. 2. Où créer une API Route ?
    3. 3. Exemple simple de route GET
    4. 4. Structure typique d’une route
    5. 5. Points d’entrée : Requestet NextResponse
      1. a. L’objet Request
      2. b. L’objet NextResponse
      3. c. Exemple pratique
    6. 6. Quand utiliser une API Route ?
  2. Comparer API Routes et Server Actions
    1. 1. API Routes vs Server Actions
    2. 2. Bonnes pratiques d’API Routes
  3. Interagir avec la base de données grâce à Prisma
    1. 1. Pourquoi choisir Prisma avec Next.js ?
    2. 2. Installer et configurer Prisma
    3. 3. Définir son modèle de données
    4. 4. Générer la base et les types associés
    5. 5. Utiliser Prisma dans une API Route
    6. 6. Structuration propre avec un client global
    7. 7. Cas pratique : création d’unutilisateur
    8. 8. Utilisation côté client
    9. 9. Bonnes pratiques à adopter avec Prisma
  4. Sécuriser l’application avec NextAuth.js
    1. 1. Pourquoi sécuriser son application ?
    2. 2. Choix de l’outil : NextAuth.js
    3. 3. Installation
    4. 4. Création du fichier d’authentification
    5. 5. Accès à la session côté serveur
    6. 6. Accès à la session côté client
    7. 7. Sécuriser une API Route
    8. 8. Sécuriser une Server Action
    9. 9. Stocker la session avec Prisma (optionnel)
      1. a. Modèles Prisma à ajouter
      2. b. Configuration de l’adapter Prisma
  5. Gérer des événements externes avec les webhooks
    1. 1. Qu’est-ce qu’un webhook ?
    2. 2. Où placer un webhook dans Next.js ?
    3. 3. Exemple : intégrer un webhook Stripe
      1. a. Installation des dépendances
      2. b. Création d’un handler sécurisé
    4. 4. Sécuriser son webhook Stripe
      1. a. Vérification de signature (indispensable)
      2. b. Protection de l’URL du webhook
    5. 5. Exemples d’intégration de webhooks
    6. 6. Tester les webhooks en local
    7. 7. Bonnes pratiques
    8. 8. En résumé
  6. Comprendre le modèle serverless
    1. 1. Pourquoi serverless ?
    2. 2. Les Serverless Functions dans Next.js
    3. 3. Exemple de Serverless Function
    4. 4. Les Edge Functions
    5. 5. Quand utiliser une Edge Function ?
    6. 6. Exemple d’Edge Middleware
    7. 7. Comparaison Serverless vs Edge
    8. 8. Bonnes pratiques
Optimisation, performances et référencement
  1. Optimiser les images avec Next.js
    1. 1. Pourquoi optimiser les images ?
    2. 2. Le composant <image ></image > natif
    3. 3. Propriétés essentielles du composant
    4. 4. Exemple d’image responsive
    5. 5. Optimisation des images distantes
    6. 6. Placeholder flouté
    7. 7. Limites et précautions
    8. 8. Bonnes pratiques à respecter
  2. Polices et scripts : performance et sécurité
    1. 1. Pourquoi s’en soucier ?
    2. 2. Gestion des polices avec next/font
      1. a. Exemple avec une police Google (Inter)
      2. b. Avantages : préchargement, confidentialité,fallback
    3. 3. Polices locales avec next/font/local
    4. 4. Gestion des scripts tiers avec <script></script>
    5. 5. Stratégies de chargement (strategy)
    6. 6. Sécurité et vigilance face aux scriptsexternes
    7. 7. Impact sur le SEO et la performance globale
  3. Maîtriser la mise en cache et la revalidation
    1. 1. Pourquoi mettre en cache ?
    2. 2. Types de cache dans Next.js
    3. 3. Mise en cache HTTP par en-têtes
    4. 4. Utilisation automatique du CDN Vercel
    5. 5. Cache et App Router
    6. 6. Stratégies fetch() et revalidation
    7. 7. Mise en cache côté client avec SWR/ReactQuery
    8. 8. Exemple de stratégie combinée
    9. 9. Bonnes pratiques de cache
  4. SEO et accessibilité dans Next.js
    1. 1. Pourquoi le SEO est-il crucial ?
    2. 2. Le SEO côté serveur : SSR,SSG, ISR
      1. a. SSR (Server-Side Rendering)
      2. b. SSG (Static Site Generation)
      3. c. ISR (Incremental Static Regeneration)
      4. d. CSR (Client-Side Rendering)
    3. 3. Métadonnées via metadata et generateMetadata
    4. 4. Liens internes et navigation optimisée
    5. 5. Plan de site (sitemap.xml)
    6. 6. Performance et SEO technique
    7. 7. Accessibilité et SEO
    8. 8. Balises structurées (schema.org)
  5. Mesure et audit de performance
    1. 1. Pourquoi mesurer les performances ?
    2. 2. Présentation de Lighthouse
    3. 3. Core Web Vitals à surveiller
    4. 4. Outils complémentaires de monitoring
    5. 5. Audit complet d’une application Next.js
    6. 6. Optimisations post-audit
    7. 7. Suivre les Web Vitals en production
    8. 8. Intégrer Lighthouse en CI/CD
    9. 9. Récapitulatif des bonnes pratiques
Approches de stylisation CSS
  1. Pourquoi le choix de la méthode de stylisation est-il stratégique ?
  2. CSS Modules (natif, sans dépendance)
    1. 1. Principe et fonctionnement
    2. 2. Avantages et limites
  3. Styled Components (CSS-in-JS)
    1. 1. Le paradigme CSS-in-JS
    2. 2. Avantages et compromis
  4. Tailwind CSS (utilitaires atomiques)
    1. 1. Une approche pragmatique du design
    2. 2. Avantages et apprentissage
  5. Comparaison rapide des trois méthodes
  6. Quelle solution choisir ?
  7. Exemples de combinaison possible
  8. En résumé
  9. Pourquoi thématiser son application ?
  10. Approche recommandée : Tailwind CSS, classes conditionnelles et variables CSS
  11. Activer le mode sombre dans Tailwind
  12. Définir les variables CSS pour chaque thème
  13. Créer un ThemeProvider dans l’application
  14. Utiliser next-themes pour gérer la classe dark
    1. 1. Installation
    2. 2. Intégration dans le layout
  15. Ajouter un bouton de bascule clair/sombre
  16. Cas d’usage avancés
    1. 1. Thème par défaut basé surles préférences système
    2. 2. Forcer un thème sur un layout ou une route
    3. 3. Thèmes multiples (multimarques)
  17. Bonnes pratiques
  18. Résumé
Accessibilité et bonnes pratiques UI
  1. Pourquoi l’accessibilité est-elle cruciale ?
  2. Bonnes pratiques fondamentales
  3. Gestion du focus et navigation clavier
    1. 1. Ordre naturel
    2. 2. Focus visible
    3. 3. Éviter le focus piège (modales,menus, overlays)
  4. Rôle des composants UI : privilégier les libs accessibles
    1. 1. Un problème courant dans les projets modernes
    2. 2. Une solution fiable : shadcn/ui + RadixUI
    3. 3. Exemple : modale accessible
  5. Responsive et ergonomie mobile
    1. 1. Layouts adaptatifs
    2. 2. Zones interactives suffisantes
    3. 3. Espacements et lisibilité
    4. 4. Contenu masqué et accessibilité
    5. 5. Comportement au clavier et aux gestes
  6. ARIA et HTML sémantique
    1. 1. Priorité à la sémantiquenative
    2. 2. Utiliser ARIA seulement si nécessaire
    3. 3. Vérifications essentielles
  7. Outils de test d’accessibilité
    1. 1. Tests automatisés
    2. 2. Tests manuels et réels
    3. 3. Intégration dans le processus de développement
  8. Cas concret : rendre un composant accessible
    1. 1. Exemple courant de mauvaise pratique
    2. 2. Correction accessible
    3. 3. Variante avec rôle ARIA (si usage d’uncomposant non-standard)
  9. Checklists d’accessibilité front-end
    1. 1. Structure HTML
    2. 2. Texte et couleurs
    3. 3. Interaction et navigation
    4. 4. Formulaires
    5. 5. Images et médias
Animations et interactions avancées
  1. Pourquoi animer une interface web ?
  2. Outils recommandés dans l’écosystème Next.js
  3. Intégration de Framer Motion dans Next.js
    1. 1. Installation
    2. 2. Utilisation simple dans un composant
  4. Animations de pages avec le layout.tsx et Framer Motion
  5. Animations avec Tailwind CSS
    1. 1. Animations intégrées
    2. 2. Personnaliser une animation avec @keyframes
  6. Animations accessibles : ce qu’il faut éviter
    1. 1. Principes fondamentaux
    2. 2. Bonnes pratiques à adopter
    3. 3. Exemple : désactiver les animationssi l’utilisateur le demande
    4. 4. En résumé
  7. Interactions complexes avec Framer Motion
    1. 1. Animation au scroll (effet parallaxe)
    2. 2. Drag & drop simple
    3. 3. Hover animations
  8. Animation des composants UI (Radix UI + shadcn/ui)
    1. 1. Composants concernés
    2. 2. Exemple d’animation avec Tailwind
    3. 3. Extension avec des animations personnalisées
  9. Résumé des meilleures pratiques
Internationalisation, formatage et accessibilité
  1. Introduction à l’internationalisation (i18n)
    1. 1. Pourquoi internationaliser son application ?
    2. 2. Configuration de base dans next.config.js
    3. 3. Organisation des fichiers de traduction
  2. Intégration de next-intl et architecture App Router
    1. 1. Ajout du provider global dans app/[locale]/layout.tsx
    2. 2. Utilisation des traductions dans les composants
    3. 3. Gestion des routes localisées et hook useLocale
  3. Redirections automatiques et expérience multilingue
    1. 1. Middleware pour la détection automatiquede langue
    2. 2. Tableau récapitulatif des outils d’i18n
  4. Localisation complète des routes et du contenu
    1. 1. Objectif : une expérience multilingue cohérente
    2. 2. Traduction des segments de routes
    3. 3. Routes dynamiques localisées
      1. a. Organisation d’une route dynamique localisée
      2. b. Exemple : chargement du contenu traduit
    4. 4. Traduction des liens internes
      1. a. Exemple avec locales explicites
      2. b. Exemple avec la locale active
      3. c. Avantages de cette approche
    5. 5. Localisation du contenu serveur
    6. 6. Gestion des slugs traduits (optionnel, SEO avancé)
      1. a. Comment procéder ?
      2. b. Avantages et limites
    7. 7. Synthèse et bonnes pratiques de structuration
  5. Formatage dynamique des données (dates, nombres, langues)
    1. 1. Pourquoi formater dynamiquement ?
    2. 2. Utilisation de next-intl pour le formatage
    3. 3. Formatage des dates
      1. a. Options de configuration
      2. b. Exemple avec fuseau horaire
    4. 4. Formatage des nombres et devises
      1. a. Options supplémentaires
      2. b. Exemple avec précision et compact notation
    5. 5. Formatage des langues
    6. 6. Formatage côté serveur
    7. 7. Bonnes pratiques
  6. Accessibilité universelle (a11y)
    1. 1. Pourquoi intégrer l’accessibilité ?
    2. 2. Principes fondamentaux
    3. 3. Accessibilité et Next.js
    4. 4. Tests manuels d’accessibilité
    5. 5. Outils automatiques
      1. a. @axe-core/react : audit dans lenavigateur
      2. b. jest-axe : tests automatisés côté CI
    6. 6. Cas particuliers : modals, menus, dialogues
    7. 7. Bonnes pratiques générales
    8. 8. En résumé
Stratégies de test, débogage et revue de code
  1. Introduction aux tests dans Next.js
    1. 1. Pourquoi écrire des tests ?
    2. 2. Typologie des tests
    3. 3. Périmètre des tests dans Next.js
  2. Tests unitaires et d’intégration avec Jest et React Testing Library
    1. 1. Pourquoi Jest + React Testing Library ?
    2. 2. Installation et configuration
      1. a. Installation dans un projet Next.js
      2. b. Structure des fichiers de test
    3. 3. Écriture de tests unitaires
      1. a. Premier test unitaire simple
      2. b. Tests de composants avec interactions
    4. 4. Tests de hooks et de stores Zustand
      1. a. Exemple de test unitaire d’un hook Zustand
      2. b. Tests de hooks et de stores Zustand
    5. 5. Tests asynchrones et mocks
      1. a. Tests asynchrones
      2. b. Tests avec mock d’API (fetch, Supabase…)
      3. c. Test d’intégration avec appel APIsimulé (Mocking)
    6. 6. Bonnes pratiques de tests unitaires et d’intégration
  3. Tests end-to-end (E2E)
    1. 1. Présentation et objectifs
      1. a. Pourquoi faire des tests end-to-end dans un projetNext.js ?
      2. b. Cypress : présentation
    2. 2. Installation et structure du projet Cypress
      1. a. Installation dans un projet Next.js
      2. b. Lancer Cypress
      3. c. Structure typique
    3. 3. Rédaction de tests E2E
      1. a. Exemple de test : formulaire de connexion
      2. b. Scénarios courants
      3. c. Commandes personnalisées
    4. 4. Configuration et intégration CI/CD
      1. a. Configuration recommandée
      2. b. Bonnes pratiques
      3. c. Exécution en CI
    5. 5. Alternatives et comparatif
  4. Debugging et Monitoring dans Next.js
    1. 1. Introduction
    2. 2. Debugging local
      1. a. Debugging côté client
      2. b. Debugging dans VSCode
      3. c. Debugging des Server Components
      4. d. Debugging des API Routes et Server Actions
    3. 3. Monitoring en production
      1. a. Outils et usages
      2. b. Web Vitals et performances
      3. c. Logs et dashboards
    4. 4. Bonnes pratiques de supervision
  5. Qualité, performances et bonnes pratiques
    1. 1. Pourquoi ces bonnes pratiques sont-elles essentielles ?
    2. 2. Bonnes pratiques générales de code
    3. 3. Bonnes pratiques spécifiques à Next.js
      1. a. Utiliser les Server Components par défaut
      2. b. Utiliser les Client Components uniquement lorsquenécessaire
      3. c. Séparer logique et présentation
    4. 4. Optimisation et audit des performances
      1. a. Optimisations intégrées
      2. b. Outils de revue et audit
    5. 5. Linting et conventions de code
    6. 6. Revue de code
Déploiement, automatisation, scalabilité
  1. Choisir la stratégie de déploiement adaptée
    1. 1. Les enjeux d’un bon choix d’environnement
    2. 2. Déployer sur Vercel : la voie native
    3. 3. Alternatives PaaS : Render, Railway, Netlify
    4. 4. Déploiement sur infrastructures cloud managées
    5. 5. Déploiement auto-hébergé viaDocker / VPS
    6. 6. Comparatif synthétique
    7. 7. Comment choisir ?
  2. Automatiser le cycle de vie avec GitHub Actions (CI/CD)
    1. 1. Pourquoi automatiser ?
    2. 2. Principe et structure des workflows
    3. 3. Mise en œuvre pratique
      1. a. Cas 1 - Intégration automatiqueavec Vercel
      2. b. Cas 2 - Pipeline CI/CD sur serveurou Docker
    4. 4. Sécuriser le pipeline
    5. 5. Déploiement via Docker Hub
    6. 6. Bonnes pratiques d’intégration continue
    7. 7. Optimisations avancées
      1. a. Monorepo et build ciblé
      2. b. Cache intelligent des dépendances
      3. c. Intégration Sentry dans le pipeline
      4. d. Notifications Slack et alertes
  3. Monitorer et observer en production
    1. 1. Pourquoi monitorer son application ?
    2. 2. Les trois piliers de l’observabilité
    3. 3. Outils recommandés
    4. 4. Mise en œuvre avec Sentry
      1. a. Configuration client / serveur
      2. b. Capture des erreurs serveur
      3. c. Capture des erreurs client
    5. 5. Suivi des performances
    6. 6. Bonnes pratiques et conformité
      1. a. Pratiques recommandées
      2. b. Pièges à éviter
    7. 7. Stack complète d’observabilité
  4. Optimiser les coûts et la scalabilité
    1. 1. Comprendre le lien entre performance, coûtet scalabilité
      1. a. De la performance perçue à la performanceréelle
      2. b. L’enjeu économique et stratégique
      3. c. La scalabilité comme levier de durabilité
      4. d. De l’efficience à la responsabilité
    2. 2. Cartographier les postes de coût
      1. a. Fonctions serverless
      2. b. Base de données
      3. c. Builds et déploiements
      4. d. Bande passante et stockage
      5. e. Monitoring et logs
      6. f. Synthèse des coûts applicatifs
    3. 3. Optimisations spécifiques à Next.js
      1. a. Rendu statique et ISR
      2. b. Server Components et réduction du JS client
      3. c. Rationaliser les API Routes
      4. d. Équilibrer statique / dynamique / incrémental
    4. 4. Appliquer la bonne stratégie selon le typede page
      1. a. Les pages statiques : performance maximale,coût minimal
      2. b. Les pages hybrides : flexibilité etpersonnalisation
      3. c. Les pages dynamiques : fraîcheuret contexte
    5. 5. Réduire les builds et les cold starts
      1. a. Limiter les builds inutiles
      2. b. Comprendre les cold starts
      3. c. Segmentation du code et lazy loading
      4. d. Vers des déploiements continus et efficaces
    6. 6. Optimiser la base de données
      1. a. Requêtes et indexation
      2. b. Répartition de la charge (read replicas)
      3. c. Cache applicatif et edge
      4. d. Pooling et connexions
      5. e. Synthèse et efficience globale
    7. 7. Réduire la bande passante et accélérerle rendu
      1. a. Coût réel du trafic sortant
      2. b. Optimisation des images
      3. c. Externalisation des assets
      4. d. Compression et cache API
      5. e. Scripts et polices
      6. f. Synthèse : rapidité, économie,durabilité
    8. 8. Assurer la scalabilité horizontale
      1. a. Serverless scaling automatique
      2. b. Docker, VPS et Kubernetes
      3. c. Monitoring et pilotage de la scalabilité
      4. d. Vers une scalabilité durable

Alexis MAISON

Alexis MAISON est développeur full-stack spécialisé dans l’écosystème TypeScript et Next.js depuis près de six ans. Il conçoit, développe et déploie des applications web pour des entreprises, des institutions et des projets internationaux, en intervenant sur l’ensemble de la chaîne : architecture, front-end, back-end et mise en production. Il accompagne également des étudiants et des développeurs en activité via des formations en ligne, des ateliers pratiques et des programmes pédagogiques centrés sur les technologies modernes du web. Passionné par la transmission de savoir, il privilégie une approche concrète, fondée sur des retours d’expérience réels, pour aider les développeurs à gagner en autonomie, en qualité de code et en professionnalisme dans leurs projets Next.js.

Nos nouveautés

voir plus