{"componentChunkName":"component---src-templates-docs-js","path":"/docs/release-channels.html","result":{"data":{"markdownRemark":{"html":"<div class=\"scary\">\n<blockquote>\n<p>These docs are old and won’t be updated. Go to <a href=\"https://react.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">react.dev</a> for the new React docs.</p>\n<p>See <a href=\"https://react.dev/community/versioning-policy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Versioning Policy</a> to learn about the React release channels.</p>\n</blockquote>\n</div>\n<p>React dépend d’une communauté open source florissante pour signaler des bugs, ouvrir des <em>pull requests</em> et <a href=\"https://github.com/reactjs/rfcs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">soumettre des RFC</a>. Afin d’encourager des retours efficaces nous partageons parfois des builds spéciaux de React qui comportent des fonctionnalités encore officieuses.</p>\n<blockquote>\n<p>Ce document sera surtout pertinent pour les développeur·se·s qui travaillent sur des frameworks, des bibliothèques ou de l’outillage de développement.  Les personnes qui utilisent React principalement pour construire des applications destinées à des utilisateurs finaux ne devraient pas avoir à se préoccuper de nos canaux de sortie.</p>\n</blockquote>\n<p>Chaque canal de sortie React est conçu pour des cas d’usages bien spécifiques :</p>\n<ul>\n<li><a href=\"#latest-channel\"><strong>Latest</strong></a> fournit les versions stables de React, conformes à semver.  C’est ce que vous obtenez en installant React depuis npm.  C’est le canal que vous utilisez déjà aujourd’hui. <strong>Utilisez ce canal pour toute application React visant des utilisateurs finaux.</strong></li>\n<li><a href=\"#next-channel\"><strong>Next</strong></a> est basée sur la branche <code class=\"gatsby-code-text\">master</code> du dépôt de code source de React.  Considérez-le comme des versions candidates de la prochaine version semver mineure.  Utilisez-le pour faire des tests d’intégration entre React et des projets tiers.</li>\n<li><a href=\"#experimental-channel\"><strong>Experimental</strong></a> comprend les API et fonctionnalités expérimentales qu’on ne trouve pas dans les versions stables.  C’est là aussi basé sur la branche <code class=\"gatsby-code-text\">master</code>, mais des drapeaux de fonctionnalités supplémentaires ont été activés.  Utilisez ce canal pour essayer des fonctionnalités à venir en amont de leur sortie officielle.</li>\n</ul>\n<p>Toutes ces versions sont publiées sur npm, mais seul <em>Latest</em> utilise <a href=\"/docs/faq-versioning.html\">une gestion sémantique des versions</a>. Les pré-versions (celles des canaux <em>Next</em> et <em>Experimental</em>) ont des versions dont l’identifiant est un hash basé sur leur contenu, par exemple <code class=\"gatsby-code-text\">0.0.0-1022ee0ec</code> pour <em>Next</em> et <code class=\"gatsby-code-text\">0.0.0-experimental-1022ee0ec</code> pour <em>Experimental</em>.</p>\n<p><strong>Latest est le seul canal de sortie officiellement autorisé pour des applications visant les utilisateurs finaux.</strong>  Les sorties des canaux <em>Next</em> et <em>Experimental</em> sont fournies dans une optique de tests uniquement, et leur comportement est susceptible de varier d’une sortie à l’autre.  Elles ne respectent pas le protocole semver que nous utilisons pour les sorties du canal <em>Latest</em>.</p>\n<p>En publiant les pré-versions sur le même référentiel que pour les versions stables, nous pouvons tirer parti des nombreux outils qui se basent sur npm pour fonctionner, tels que <a href=\"https://unpkg.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">unpkg</a> et <a href=\"https://codesandbox.io\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CodeSandbox</a>.</p>\n<h3 id=\"latest-channel\"><a href=\"#latest-channel\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Canal <em>Latest</em> </h3>\n<p>Le canal <em>Latest</em> est utilisé pour les versions stables de React.  Il correspond à l’étiquette <code class=\"gatsby-code-text\">latest</code> sur npm.  C’est le canal recommandé pour toute appli React proposée à de véritables utilisateurs.</p>\n<p><strong>Si vous n’êtes pas sûr·e du canal que vous devriez utiliser, alors c’est <em>Latest</em>.</strong>  Si vous développez avec React, c’est ce que vous utilisez déjà.</p>\n<p>Vous pouvez vous attendre à ce que les mises à jour sur <em>Latest</em> soient extrêmement stables.  On y suit un protocole sémantique de gestion des versions.  Vous pouvez en apprendre davantage sur nos engagements en termes de stabilité et de migration incrémentielle en consultant notre <a href=\"/docs/faq-versioning.html\">politique de gestion des versions</a>.</p>\n<h3 id=\"next-channel\"><a href=\"#next-channel\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Canal <em>Next</em> </h3>\n<p>Le canal <em>Next</em> est un canal de pré-version qui piste la branche <code class=\"gatsby-code-text\">master</code> du dépôt React.  Nous utilisons les pré-versions du canal <em>Next</em> comme des versions candidates pour le canal <em>Latest</em>.  Vous pouvez imaginer <em>Next</em> comme un sur-ensemble de <em>Latest</em>, mis à jour plus fréquemment.</p>\n<p>L’ampleur des changements entre la version <em>Next</em> la plus récente et la dernière version <em>Latest</em> est à peu près du même ordre que ce que vous trouveriez entre deux versions semver mineures.  En revanche, <strong>le canal <em>Next</em> ne respecte pas la gestion sémantique des versions.</strong>  Vous êtes susceptible d’y rencontrer des ruptures de compatibilité ascendante d’une version à la suivante.</p>\n<p><strong>N’utilisez pas les pré-versions dans des applications pour utilisateurs finaux.</strong></p>\n<p>Les sorties de <em>Next</em> sont publiées avec l’étiquette <code class=\"gatsby-code-text\">next</code> sur npm.  Les numéros de versions sont générés sur la base d’un hash de leur contenu, par exemple <code class=\"gatsby-code-text\">0.0.0-1022ee0ec</code>.</p>\n<h4 id=\"using-the-next-channel-for-integration-testing\"><a href=\"#using-the-next-channel-for-integration-testing\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Utiliser le canal <em>Next</em> pour des tests d’intégration </h4>\n<p>Le canal <em>Next</em> est conçu pour permettre des tests d’intégration entre React et d’autres projets qui se basent dessus.</p>\n<p>Toutes les modifications apportées à React passent par une phase poussée de tests internes avant d’être publiées.  Cependant, l’écosystème React recèle une myriade d’environnements et de configurations, et il nous est parfaitement impossible de tester chaque combinaison.</p>\n<p>Si vous êtes l’auteur·e d’une solution tierce pour React (framework, bibliothèque, outil de développement ou d’autres projets de type infrastructurel), vous pouvez nous aider à préserver la stabilité de React pour vos utilisateurs et la communauté React toute entière en exécutant régulièrement votre suite de tests avec les dernières modifications en date.  Si cela vous intéresse, suivez ces étapes :</p>\n<ul>\n<li>Mettez en place une tâche périodique au sein de votre plate-forme préférée d’intégration continue.  On trouve ce type d’exécutions périodiques tant dans <a href=\"https://circleci.com/docs/2.0/triggers/#scheduled-builds\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CircleCI</a> que dans <a href=\"https://docs.travis-ci.com/user/cron-jobs/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Travis CI</a>.</li>\n<li>\n<p>Dans la tâche, mettez à jour les modules React à partir de la version la plus récente du canal <em>Next</em>, grâce à l’étiquette <code class=\"gatsby-code-text\">next</code> sur npm.  Avec la CLI de npm :</p>\n<div class=\"gatsby-highlight\" data-language=\"console\"><pre class=\"gatsby-code-console\"><code class=\"gatsby-code-console\">npm update react@next react-dom@next</code></pre></div>\n<p>Ou avec Yarn :</p>\n<div class=\"gatsby-highlight\" data-language=\"console\"><pre class=\"gatsby-code-console\"><code class=\"gatsby-code-console\">yarn upgrade react@next react-dom@next</code></pre></div>\n</li>\n<li>Exécutez votre suite de tests avec les modules ainsi mis à jour.</li>\n<li>Si tout fonctione, super !  Vous pouvez vous attendre à ce que votre projet continue à fonctionner avec la prochaine version mineure de React.</li>\n<li>Si quelque chose casse de façon inattendue, merci de nous le signaler en <a href=\"https://github.com/facebook/react/issues\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">créant un ticket</a>.</li>\n</ul>\n<p>Le projet Next.js (promis, on n’a pas fait exprès !) utilise cette approche.  Vous pouvez consulter leur <a href=\"https://github.com/zeit/next.js/blob/c0a1c0f93966fe33edd93fb53e5fafb0dcd80a9e/.circleci/config.yml\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">configuration CircleCI</a> à titre d’exemple.</p>\n<h3 id=\"experimental-channel\"><a href=\"#experimental-channel\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Canal <em>Experimental</em> </h3>\n<p>Like Next, the Experimental channel is a prerelease channel that tracks the master branch of the React repository. Unlike Next, Experimental releases include additional features and APIs that are not ready for wider release.</p>\n<p>Tout comme <em>Next</em>, le canal <em>Experimental</em> est un canal de pré-versions qui piste la branche <code class=\"gatsby-code-text\">master</code> du dépôt React.  Mais contrairement à <em>Next</em>, les sorties sur <em>Experimental</em> comportent des fonctionnalités et API qui ne sont pas encore prêtes à être diffusées plus largement.</p>\n<p>En général, une mise à jour sur <em>Next</em> est accompagnée par une mise à jour correspondante sur <em>Experimental</em>.  Elles sont basées sur la même révision de source, mais sont construites avec des jeux distincts de drapeaux de fonctionnalités.</p>\n<p>Les versions sur <em>Experimental</em> peuvent différer considérablement de celles sur <em>Next</em> et <em>Latest</em>. <strong>N’utilisez pas les pré-versions <em>Experimental</em> dans les applications pour utilisateurs finaux.</strong>  Vous pouvez vous attendre à des ruptures fréquentes de compatibilité ascendante dans les sorties du canal <em>Experimental</em>.</p>\n<p>Les sorties de <em>Experimental</em> sont publiées avec l’étiquette <code class=\"gatsby-code-text\">experimental</code> sur npm.  Les numéros de versions sont générés sur la base d’un hash de leur contenu, par exemple <code class=\"gatsby-code-text\">0.0.0-experimental-1022ee0ec</code>.</p>\n<h4 id=\"what-goes-into-an-experimental-release\"><a href=\"#what-goes-into-an-experimental-release\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Que trouve-t-on dans une sortie <em>Experimental</em> ? </h4>\n<p>Les fonctionnalités expérimentales ne sont pas encore prêtes à être livrées à un large public, et sont susceptibles de changer radicalement d’ici leur finalisation.  Certaines expériences n’aboutiront peut-être même jamais—c’est justement pour tester la viabilité de changements proposés que nous avons ces expériences.</p>\n<p>Par exemple, si le canal <em>Experimental</em> avait existé quand nous avons annoncé les Hooks, nous aurions sorti les Hooks sur le canal <em>Experimental</em> plusieurs semaines avant qu’ils deviennent disponibles dans <em>Latest</em>.</p>\n<p>Vous trouverez peut-être utile de lancer des tests d‘intégration avec <em>Experimental</em>.  Libre à vous.  Ceci dit, gardez bien à l’esprit que <em>Experimental</em> est encore moins stable que <em>Next</em>. <strong>Nous ne garantissons aucune stabilité d’une version de <em>Experimental</em> à une autre.</strong></p>\n<h4 id=\"how-can-i-learn-more-about-experimental-features\"><a href=\"#how-can-i-learn-more-about-experimental-features\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Comment en apprendre davantage sur les fonctionnalités expérimentales ? </h4>\n<p>Les fonctionnalités expérimentales ne sont pas nécessairement documentées.  Le plus souvent, les expériences ne sont documentées qu’une fois qu’elles sont sur le point d’être livrées dans <em>Next</em> ou <em>Latest</em>.</p>\n<p>Si une fonctionnalité n’est pas documentée, elle peut toutefois être accompagnée d’une <a href=\"https://github.com/reactjs/rfcs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">RFC</a>.</p>\n<p>Lorsque nous sommes prêts à annoncer de nouvelles expériences, nous en parlons sur le <a href=\"/blog\">blog React</a>, mais ça ne veut pas dire que nous annonçons chaque expérience.</p>\n<p>Vous pouvez toujours vous référer à l’<a href=\"https://github.com/facebook/react/commits/main\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">historique</a> de notre dépôt public sur GitHub pour une liste exhaustive des modifications.</p>","frontmatter":{"title":"Canaux de sortie","next":"hello-world.html","prev":"cdn-links.html"},"fields":{"path":"content/docs/release-channels.md","slug":"docs/release-channels.html"}}},"pageContext":{"slug":"docs/release-channels.html"}},"staticQueryHashes":[]}