React (aussi appelé React.js ou ReactJS) est une bibliothèque open source JavaScript pour créer des interfaces utilisateurs. Elle est maintenue par Meta (anciennement Facebook) ainsi que par une communauté de développeurs individuels et d'entreprises depuis 2013.
| Créateur | Meta |
|---|---|
| Développé par | Meta et la communauté |
| Première version | 29 mai 2013 (13 ans, 18 jours) |
| Dernière version | 19.2.7 (1er juin 2026)[1] |
| Version avancée | 19.0-beta |
| Dépôt | https://github.com/facebook/react |
| Écrit en | JavaScript |
| Système d'exploitation | Multiplateforme (d) |
| Type | Bibliothèque JavaScript |
| Licence | Licence MIT |
| Documentation | reactjs.org/docs/getting-started.html, ru.reactjs.org/docs/getting-started.html, ar.reactjs.org/docs/getting-started.html et react.dev |
| Site web | react.dev |
Le but principal de cette bibliothèque est de faciliter la création d'application web monopage, via la création de composants dépendant d'un état et générant une page (ou portion) HTML à chaque changement d'état.
React est une bibliothèque qui ne gère que l'interface de l'application, cette interface étant considérée comme la vue dans le modèle MVC. Elle peut ainsi être utilisée avec une autre bibliothèque ou un framework MVC comme AngularJS. La bibliothèque se démarque de ses concurrents par sa flexibilité et ses performances, en travaillant avec un DOM virtuel et en ne mettant à jour le rendu dans le navigateur qu'en cas de nécessité[2].
Historique
modifierReact a été créé par Jordan Walke, un ingénieur chez Meta. Jordan Walke a d'abord développé un prototype nommé « FaxJS »[3],[4]. Il a été déployé pour la première fois sur le fil d'actualité de Facebook en 2011.
React s'inspire de XHP (en), une bibliothèque également développée par Meta, permettant l'inclusion de HTML au sein de PHP[5],[6].
Pete Hunt, ingénieur travaillant sur Instagram est intéressé par la bibliothèque et assiste Walke afin de retirer les portions dépendantes de Facebook. Ceci permet à React d'être publié sous licence Apache 2.0 le 29 mai 2013.
En octobre 2014, la version 0.12.0 est publiée sous licence BSD modifiée, avec une note associée PATENTS permettant l'utilisation des brevets de Facebook associé à React[7]. Cependant, la licence BSD est mise à jour en avril 2015, avec la version 0.13.1, pour éviter les confusions[8].
React Native est annoncé en Février 2015 et disponible en version open source en Mars 2015. Ce framework est basé sur React et permet de créer, toujours en Javascript, des applications multi-plateformes Android et iOS[9].
Le 26 septembre 2017, React 16.0 a été publié sous la licence MIT[10]. Ce changement porte aussi sur la version 15.x avec React 15.6.2[11].
La version 17.0 est publiée le 20 octobre 2020, première version majeure sans nouvelle fonctionnalité majeure[12].
La React 18 est publié le 29 mars 2022, introduisant un nouveau moteur de rendu concurrent, le traitement par lots côté serveur, le rendu streamé côté serveur prenant pleinement en charge Suspense[13].
La version 19 est publiée le 5 décembre 2024 [14],[15]. Elle propose des améliorations[16] importantes comme le rendu côté serveur, déjà utilisé par NextJS.
En octobre 2025, Meta a annoncé la création de la React Foundation, une organisation indépendante, placée sous l'égide de la Fondation Linux. Cette dernière sera chargée de superviser le développement de React, React Native et JSX[17].
Le 29 novembre 2025, la vulnérabilité CVE-2025-55182, également connue sous le nom de React2shell, a été signalée. Elle permet l'exécution de code à distance. Elle a reçu la note maximale de 10 et serait exploitée par des cybercriminels[18]. Un correctif a été introduit dans les versions 19.0.1, 19.1.2 et 19.2.1[19].
Fonctionnalités
modifierReact a été conçu comme étant une bibliothèque et non un framework MVC, comme peuvent l'être ses concurrents[20]. Ainsi, React encourage la création de composants réutilisables, avec en entrée des données, pouvant changer au cours du temps[20].
Par ailleurs, React n'utilise pas de système de templates et ne fonctionne qu'avec du JavaScript, permettant une insertion complète du composant au sein d'une unique classe[20]. Pour faciliter l'écriture de la vue, l'équipe initiale chez Facebook a développé un langage, JSX, qui permet de générer des objets Javascript avec une notation similaire à HTML[21].
DOM virtuel
modifierUn DOM Virtuel est une représentation du DOM en JavaScript. Au lieu de générer le DOM lui-même comme avec un langage de templating, c'est-à-dire au lieu de dialoguer avec les API du navigateur pour construire le DOM, on ne génère qu'une arborescence d'objets JavaScript en mémoire[22], répercutée auprès du navigateur quand opportun.
Adoption et utilisation
modifierLa bibliothèque est utilisée par Netflix[23] (depuis le 25 octobre 2017, une migration de la partie client vers du JavaScript pur a permis d'augmenter les performances de 50 %[24]), Yahoo[25], Airbnb[26], Sony[27], Atlassian[28].
Les équipes de Meta pratiquent l'autoéquipement sur les réseaux sociaux Facebook, Instagram ou encore WhatsApp[2].
À la fin de 2015, WordPress.com annonce Gutenberg, une interface pour les éditeurs de sites WordPress, développée en JavaScript avec Node.js et React[29],[30].
Notes et références
modifier- ↑ « Release 19.2.7 », 1er juin 2026 (consulté le 2 juin 2026)
- (en) Eric Baer, « Using React is a Business Decision, Not a Technology Choice », sur Medium, 4 décembre 2015 (consulté le 21 décembre 2015).
- ↑ (en) Jordan Walke, « Page GitHub de FaxJs », 19 septembre 2011 (consulté le 16 novembre 2023).
- ↑ (en-US) Ferenc Hámori, « The History of React.js on a Timeline », sur RisingStack Engineering, 4 avril 2018 (consulté le 16 novembre 2023).
- ↑ (en) Paul Krill, « React: Making faster, smoother UIs for data-driven Web apps », 15 mai 2014 (consulté le 6 avril 2015).
- ↑ « Releases - facebook/react », sur github.com (consulté le 6 avril 2015).
- ↑ « README.md », 28 octobre 2014.
- ↑ (en) « Updating Our Open Source Patent Grant », 10 avril 2015 (consulté le 21 décembre 2015).
- ↑ (en) « React Native Learn once, write anywhere. », sur React Native (consulté le 14 janvier 2024).
- ↑ « React v16.0 », React Blog, 26 septembre 2017 (lire en ligne, consulté le 28 septembre 2017).
- ↑ « React v15.6.2 », React Blog, 25 septembre 2017 (lire en ligne, consulté le 28 septembre 2017).
- ↑ (en) « React v17.0 – React Blog », sur legacy.reactjs.org (consulté le 6 août 2024)
- ↑ « React v18.0 – React », sur fr.react.dev (consulté le 6 août 2024)
- ↑ (en) « React 19 RC – React », sur react.dev (consulté le 6 août 2024)
- ↑ (en) « React v19 – React », sur react.dev (consulté le 15 décembre 2025)
- ↑ Louis-Nicolas Leuillet, « Les nouveautés de React 19 », sur believemy.com, 20 mai 2024 (consulté le 13 juillet 2024)
- ↑ (en) « Linux Foundation Announces Intent to Launch the React Foundation », sur www.linuxfoundation.org (consulté le 15 décembre 2025)
- ↑ « La faille React2Shell exploitée activement par des cybercriminels - Le Monde Informatique », sur LeMondeInformatique, 8 décembre 2025 (consulté le 15 décembre 2025)
- ↑ (en) « Critical Security Vulnerability in React Server Components – React », sur react.dev (consulté le 15 décembre 2025)
- (en) Pete Hunt, « Why did we build React? », sur facebook.github.io, 5 juin 2013 (consulté le 6 avril 2015).
- ↑ (en) « JSX in Depth », sur facebook.github.io (consulté le 6 avril 2015).
- ↑ Christophe Combelles, « Une brève histoire du DOM (jusqu’à React et Redux) », sur gorfou.fr, 25 août 2016 (consulté le 27 juillet 2020).
- ↑ « React.js Conf 2015 », sur Youtube, 4 février 2015.
- ↑ « Netflix UI Engineers on Twitter », sur Twitter (consulté le 27 juillet 2020).
- ↑ « Yahoo Mail moving to React », sur Slideshare.
- ↑ (en) « Dev Chats: Spike Brehm of Airbnb - JavaScript development without a "greenfield app" », sur Medium, 2 septembre 2014.
- ↑ « Mikael Brassman on Twitter: "Sony's Lifelog newly released web interface is using #refluxjs and #reactjs on the client-side" », sur Twitter, 7 janvier 2015.
- ↑ « Wesley Walser on Twitter: "React.js is now driving @atlassian OnDemand billing pages. Small project to start adoption, positive experiences thus far." », sur Twitter, 19 juin 2014.
- ↑ « La nouvelle expérience d'édition Gutenberg », sur La nouvelle expérience d'édition Gutenberg (consulté le 15 avril 2020).
- ↑ (en-US) « WordPress 5.0 “Bebo” », sur WordPress News, 6 décembre 2018 (consulté le 15 avril 2020).