Module 1 : Approche avancée de la conception en React
- Pensée déclarative vs impérative
- L'interface comme fonction du state et des props
- Arborescence de composants, Virtual DOM, arbre hôte
- Mise en place et propagation du state
- Flux de données unidirectionnel
- Composition de composants
- Utilisation des outils de développement React
Module 2 : JavaScript moderne au service de React
- Syntaxes avancées : destructuring, spread/rest operators
- Modules ES6+, let/const, template literals
- Fonctions fléchées, itérateurs
- Babel et les évolutions ECMAScript utiles à React
Module 3 : Routage et chargement de données
- Utiliser React Router efficacement
- Routage dynamique et déclaratif
- Création de layout (page maître)
- Effets de cycle de vie avec useEffect
- Chargement et gestion de données distantes
Module 4 : Formulaires et authentification
- Composants contrôlés et non contrôlés
- Gestion avancée des formulaires
- Mise en place de l'authentification (JWT, rôles, permissions)
- Navigation conditionnelle : pages publiques / privées
Module 5 : Gestion de l'état avec Redux
- Concepts fondamentaux de la programmation fonctionnelle
- Mutations, fonctions pures, reducers
- Architecture Redux : store, actions, middleware
- Intégration React-Redux : provider et connect
- Mise en œuvre d'un mini-Redux avec TDD
- Synchronisation des données serveur / Redux
Module 6 : Programmation fonctionnelle appliquée à React
- Concepts de closure, mémoïsation
- Bonnes pratiques de codage fonctionnel dans un contexte React
Module 7 : Utilisation avancée des Hooks
- useState, useEffect, useReducer, useMemo, useContext
- Personnalisation et composition de hooks
- Comparaison avec Redux : quand utiliser l'un ou l'autre
Module 8 : Patterns avancés
- Higher-Order Components (HOC)
- Migration de patterns HOC vers des hooks personnalisés
- Refactoring et optimisation du code legacy
Module 9 : Optimisation et profilage
- Réduction des re-render inutiles
- Utilisation de React.memo, useMemo, useCallback
- Immuabilité et performance
Module 10 : Rendu côté serveur (SSR)
- Limitations du rendu client
- Mise en place d'un SSR avec React
- Conciliation rendu client / serveur
Module 11 : Stylisation et design UI
- Approches de stylisation : CSS-in-JS vs CSS classique
- Bibliothèques UI : Material UI, Semantic UI, React Bootstrap, etc.
- Composants stylisés (Styled Components, Emotion)
- Utilisation de Storybook pour l'UI design
Module 12 : UI patterns avancés et design system
- Systèmes de thème et de design unifiés
- Définition de constantes de style (espacements, couleurs, typographie)
- Gestion du responsive via les props
- Création de composants adaptatifs et accessibles
- Mise en place d'un système de design basé sur des variantes