Skip to content

nicolasvauchenet/cours_react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Développer des interfaces modernes avec React

Présentation générale

Ce cours initie à la conception d’interfaces web dynamiques, modulaires et performantes à l’aide de la bibliothèque React.
L’objectif est de comprendre les fondements de cette approche déclarative, centrée sur la composition de composants et la gestion d’état.

Au fil du parcours, l’apprenant découvrira comment penser une interface comme une fonction du state,
structurer son code, organiser son projet et préparer la transition vers Next.js ou React Native.


Objectifs pédagogiques

À l’issue du cours, vous serez capable de :

  • Comprendre les principes fondateurs de React et sa philosophie fonctionnelle.
  • Créer et structurer des composants réutilisables et maintenables.
  • Gérer l’état local et global d’une application avec hooks et contextes.
  • Mettre en place une navigation, des interactions asynchrones et une intégration API.
  • Adopter une architecture claire et modulaire pour des projets front-end professionnels.
  • Explorer les prolongements naturels : Next.js (web) et React Native (mobile).

Compétences visées

  • Concevoir des interfaces front-end à base de composants.
  • Manipuler efficacement le state, les props et les hooks.
  • Organiser et documenter un projet React.
  • Gérer les flux de données (API, stores, contextes).
  • Mettre en œuvre de bonnes pratiques d’architecture et de performance.
  • Déployer une application sur un environnement moderne (Vite, Vercel, Netlify).

Progression du cours

1. Introduction et historique

Objectif : comprendre les origines et la philosophie de React.

Contenus :

  • Le contexte du développement front-end avant React.
  • Virtual DOM et approche déclarative.
  • React comme bibliothèque, non framework.
  • Écosystème et communauté.

Activités :

  • Installation de l’environnement avec Vite.
  • Création d’un premier composant “Hello World”.

2. Les bases techniques

Objectif : maîtriser les fondamentaux de la syntaxe et du rendu.

Contenus :

  • JSX et intégration du JavaScript dans le HTML.
  • Props, state et événements.
  • Rendu conditionnel, listes et clés.
  • Cycle de vie avec les hooks de base (useState, useEffect).

Activités :

  • Mini-projet : un compteur ou une to-do list interactive.

3. Hooks et logique réactive

Objectif : comprendre la logique fonctionnelle et le cycle de rendu.

Contenus :

  • Hooks intégrés (useRef, useMemo, useCallback).
  • Hooks personnalisés : mutualiser la logique réutilisable.
  • Gestion fine des dépendances et des re-renders.
  • Performances et outils

Activités :

  • Refonte du mini-projet avec hooks personnalisés.
  • Analyse de performance avec React DevTools.

4. Architecture et bonnes pratiques

Objectif : organiser proprement le code et les composants.

Contenus :

  • Architecture de projet (dossiers, modules, features).
  • Patterns de composition et Atomic Design.
  • Gestion du style : CSS Modules, Styled Components, Tailwind.
  • Composants d’erreur, loaders, layout global.
  • Introduction à TypeScript dans React.

Activités :

  • Refonte du projet avec architecture modulaire et typage.

5. Navigation et routing

Objectif : structurer l’application en plusieurs vues.

Contenus :

  • Introduction à React Router.
  • Routes imbriquées, paramètres et liens dynamiques.
  • Redirections et garde de routes (authentification).

Activités :

  • Création d’une mini-app avec pages et navigation.

6. Context et gestion d’état

Objectif : comprendre et maîtriser le partage d’état global.

Contenus :

  • Context API : création, provider, consumer.
  • useReducer et architecture “state + actions”.
  • Introduction à Redux Toolkit, Zustand ou Recoil.

Activités :

  • Implémentation d’un store global pour l’application.

7. Communication avec le backend

Objectif : intégrer des données dynamiques.

Contenus :

  • Appels d’API avec fetch ou axios.
  • Gestion du chargement, des erreurs et de la mise à jour.
  • Data fetching avancé (React Query, SWR).

Activités :

  • Consommation d’une API publique.
  • Création d’un tableau de bord interactif.

8. Vers Next.js et React Native

Objectif : ouvrir la pratique vers les frameworks complémentaires.

Contenus :

  • SSR, SSG, ISR : les rendus dans Next.js.
  • Structure d’un projet Next.
  • Introduction à React Native : composants natifs, navigation, APIs.

Activités :

  • Découverte guidée : mini-projet “Hello World” en Next et en React Native.

Livrables attendus

  • Application React complète et fonctionnelle.
  • Dossier de projet structuré et documenté (README, architecture).
  • Mini-projet d’expérimentation avec Next.js ou React Native.
  • Documentation des hooks personnalisés et des choix techniques.

Évaluation du cours

Domaine évalué Critère principal Pondération
Conception d’interface Modularité, clarté et respect des bonnes pratiques 25 %
Gestion d’état Maîtrise du state et des hooks 25 %
Intégration API Fonctionnalité et robustesse des interactions 20 %
Architecture & qualité Organisation, lisibilité, performance 15 %
Documentation Clarté du README et pertinence des choix 15 %

Modalités pédagogiques

  • Alternance de cours illustrés et ateliers pratiques.
  • Mise en situation progressive sur un projet fil rouge.
  • Accompagnement personnalisé sur la structuration du code.
  • Utilisation d’outils professionnels (Vite, ESLint, React DevTools, GitHub).

Publics et finalité

  • Apprenants : découvrir et maîtriser React pour des projets web modernes.
  • Formateurs : accompagner la montée en compétence sur le front-end moderne.
  • Responsables pédagogiques : intégrer le module dans une progression vers Next.js et React Native.

Philosophie du cours

Ce cours enseigne la pensée réactive : décrire le comportement d’une interface
plutôt que de la contrôler.
L’apprenant apprend à construire des composants autonomes, clairs,
et à penser le front-end comme un système vivant, évolutif et collaboratif.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published