Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

16 chapitres5 h 30 minIntermédiaire

React

Cours React gratuit pour le BTS SIO SLAM, à jour de React 19 : composants, hooks, formulaires, API, React Router, tests, déploiement et exercices corrigés.

Par Josselyn C., prof de BTS SIO. Mis à jour le .

L'essentiel

React est la bibliothèque JavaScript la plus utilisée pour construire l'interface des applications web : on décrit l'écran avec des composants, des fonctions qui transforment des données en éléments d'interface, et React met la page à jour quand les données changent. Au BTS SIO, React sert de front à une application métier qui appelle une API REST : il illustre la compétence du bloc 2 SLAM « Exploiter les technologies Web pour mettre en œuvre les échanges entre applications », et c'est souvent l'une des deux réalisations que tu présentes à l'E6.

À la fin de ce cours, tu sauras :

  • écrire des composants en JSX et en TypeScript, leur passer des props et leur donner un état ;
  • afficher des listes et des contenus conditionnels sans les pièges classiques ;
  • construire des formulaires avec les Actions de React 19 (useActionState, useOptimistic) ;
  • charger les données d'une API avec fetch, puis avec TanStack Query et son cache ;
  • organiser une application monopage avec React Router, un contexte d'authentification et des routes protégées ;
  • tester tes composants avec Vitest et Testing Library, les rendre accessibles, et déployer l'application ;
  • traiter les évolutions et les questions de l'épreuve E6 sur un front React.

Avant ce cours. Tu dois être à l'aise avec le JavaScript moderne : const et let, fonctions fléchées, déstructuration, décomposition ..., map et filter, promesses et async/await, modules. Tout est dans le cours JavaScript. Les bases du HTML et du CSS, dont les formulaires et l'accessibilité, sont dans le cours HTML et CSS. Le fonctionnement d'une API (HTTP, codes de statut, JSON) est expliqué dans le cours API REST ; l'API qu'appelle ce front se construit dans le cours Node.js et Express. Aucune connaissance de TypeScript n'est demandée : il est introduit au fil des chapitres.

Le fil rouge. Tout le cours construit une seule application : le front web d'AppliFrais, l'application de gestion des frais des visiteurs médicaux du laboratoire GSB, un contexte que tu retrouves dans beaucoup d'ateliers de professionnalisation. Le visiteur se connecte, consulte ses fiches de frais mensuelles, ajoute et supprime des frais hors forfait ; le comptable valide les fiches clôturées. Chaque chapitre ajoute une brique à l'application, du premier composant au déploiement.

Les versions du cours. React 19.3, Vite 8, TypeScript 7, React Router 8, TanStack Query 5, Vitest 5, sur Node.js 24 LTS. Tout le code a été exécuté : les composants dans le navigateur contre une API de démonstration (donnée au chapitre 16), et les exemples de comportement par des tests automatisés. Les encadrés signalent ce qui a changé par rapport aux versions précédentes, que tu croiseras dans des tutoriels plus anciens.

Comment travailler. Crée le projet au chapitre 1, garde la console du navigateur ouverte, et tape chaque exemple toi-même. Chaque chapitre se termine par des exercices dont la réponse est masquée : cherche d'abord, ouvre ensuite.

Ton objectifChapitres à travailler en priorité
Découvrir React1 à 5
Relier un front à ton API6 à 9
Construire une application complète10 à 12
Rendre ton projet solide (tests, accessibilité, mise en ligne)13 à 15
Préparer l'E6 SLAM12, 13 et 16

Sommaire

0%

React

0 chapitre sur 16

  1. Chapitre 1 : C'est quoi React ? Créer un projet avec Vite18 min
  2. Chapitre 2 : JSX et composants React16 min
  3. Chapitre 3 : Les props : passer des données à un composant19 min
  4. Chapitre 4 : useState et événements : rendre l'interface interactive18 min
  5. Chapitre 5 : Listes, clés et rendu conditionnel15 min
  6. Chapitre 6 : useEffect : les effets de bord, et quand s'en passer17 min
  7. Chapitre 7 : Appeler une API REST en React avec fetch29 min
  8. Chapitre 8 : Formulaires React : champs contrôlés, Actions et useActionState26 min
  9. Chapitre 9 : TanStack Query (React Query) : charger et mettre en cache les données20 min
  10. Chapitre 10 : React Router : navigation, routes et paramètres d'URL19 min
  11. Chapitre 11 : Partager l'état : remonter l'état, Context et hooks personnalisés16 min
  12. Chapitre 12 : Authentification en React : connexion, routes protégées, jetons et cookies27 min
  13. Chapitre 13 : Tester des composants React avec Vitest et Testing Library21 min
  14. Chapitre 14 : Accessibilité des composants React18 min
  15. Chapitre 15 : Build et déploiement d'une application React (Vite)16 min
  16. Chapitre 16 : React à l'E6 : bonnes pratiques et exercices corrigés35 min
Commencer le cours

Questions fréquentes

C'est quoi React et à quoi ça sert ?

React est une bibliothèque JavaScript, créée par Facebook (aujourd'hui Meta) en 2013, qui sert à construire l'interface d'une application web à partir de composants : des fonctions qui décrivent un morceau d'écran à partir de données. Quand les données changent, React met lui-même la page à jour, sans manipulation manuelle du DOM (le rendu déclaratif). On s'en sert surtout pour des applications monopages qui appellent une API.

React est-il un framework ou une bibliothèque ?

React se définit comme une bibliothèque : il ne s'occupe que de l'interface. Le routage, le chargement des données ou les formulaires complexes viennent d'autres bibliothèques que tu choisis, comme React Router et TanStack Query. Angular, à l'inverse, est un framework complet qui fournit tout. Dans le langage courant, on range souvent React parmi les « frameworks front » ; à l'oral, la nuance montre que tu sais de quoi tu parles.

Faut-il connaître JavaScript avant d'apprendre React ?

Oui. React, c'est du JavaScript : sans aisance avec les fonctions fléchées, la déstructuration, map, les promesses et async/await, chaque erreur devient incompréhensible. Commence par le cours JavaScript, puis reviens ici. TypeScript, en revanche, peut s'apprendre en même temps que React.

Quelle est la différence entre props et state en React ?

Les props sont les données qu'un composant reçoit de son parent, en lecture seule, comme les paramètres d'une fonction. Le state (l'état) est la mémoire propre du composant : il le modifie avec la fonction renvoyée par useState, ce qui provoque un nouveau rendu. L'état d'un parent devient souvent la prop d'un enfant (les props et useState).

Comment créer un projet React en 2026 ?

Avec Vite : npm create vite@latest mon-app -- --template react-ts, puis npm install et npm run dev. L'ancien outil create-react-app est officiellement déprécié depuis février 2025 et ne doit plus servir pour un nouveau projet. Pour un site qui a besoin de rendu côté serveur, la documentation de React oriente vers un framework comme Next.js ou React Router en mode framework (créer le projet).

À quoi sert useEffect, et quand ne faut-il pas l'utiliser ?

useEffect exécute du code après l'affichage d'un composant pour le synchroniser avec un système extérieur à React : le titre de l'onglet, un minuteur, un écouteur d'événement global, une connexion. Il ne sert pas à calculer une valeur à partir de l'état (un calcul pendant le rendu suffit), ni à réagir à un clic (le gestionnaire d'événement est fait pour ça). Pour charger des données d'une API, une bibliothèque comme TanStack Query est préférable (useEffect).

Faut-il utiliser TypeScript avec React ?

C'est fortement conseillé, et c'est le choix par défaut du modèle react-ts de Vite. TypeScript vérifie avant l'exécution que chaque composant reçoit les bonnes props et que les données de l'API sont utilisées correctement, ce qui évite une grande partie des bogues d'affichage. La plupart des types sont déduits automatiquement : tu écris surtout le type des props et des données (typer les props).

Où stocker un jeton JWT dans une application React ?

Pas dans localStorage, lisible par tout script de la page en cas de faille XSS. Garde-le en mémoire, dans une variable du module qui appelle l'API, comme le fait AppliFrais : il disparaît au rechargement de la page, et seul un jeton de rafraîchissement dans un cookie HttpOnly éviterait de redemander le mot de passe. Si l'API ne sert que ce front, une session par cookie HttpOnly, Secure, SameSite, que le JavaScript ne voit jamais, est l'autre bonne solution (authentification en React).

Quelle est la différence entre React et React Native ?

React construit des interfaces web, affichées par le navigateur avec du HTML. React Native utilise les mêmes composants, props, états et hooks pour construire des applications mobiles Android et iOS, affichées avec les composants natifs du téléphone (View, Text au lieu de div, p). Ce que tu apprends dans ce cours se réutilise donc directement pour le mobile.

React tombe-t-il à l'examen du BTS SIO ?

Aucune épreuve n'impose une technologie : à l'E6 SLAM, tu présentes tes propres réalisations, et beaucoup d'étudiants en construisent une avec un front React et une API. La commission te demande alors de la faire évoluer en une heure et t'interroge sur tes choix ; l'écrit E7 peut te faire analyser la sécurité d'un front, comme le stockage d'un jeton ou une faille XSS (React à l'E6).