diff --git a/.github/ISSUE_TEMPLATE/0-bug.yml b/.github/ISSUE_TEMPLATE/0-bug.yml index 56d2e8540..4bb06d0f0 100644 --- a/.github/ISSUE_TEMPLATE/0-bug.yml +++ b/.github/ISSUE_TEMPLATE/0-bug.yml @@ -1,34 +1,34 @@ -name: "🐛 Report a bug" -description: "Report a problem on the website." +name: "🐛 Signaler un bug" +description: "Signale un bug sur le site web." title: "[Bug]: " labels: ["bug: unconfirmed"] body: - type: textarea attributes: - label: Summary + label: RĂ©sumĂ© description: | - A clear and concise summary of what the bug is. + Un rĂ©sumĂ© clair et concis du bug. placeholder: | - Example bug report: - When I click the "Submit" button on "Feedback", nothing happens. + Exemple de rapport de bug : + Lorsque je clique sur le bouton « Envoyer » des retours, rien ne se passe. validations: required: true - type: input attributes: label: Page description: | - What page(s) did you encounter this bug on? + Sur quelle page avez-vous constatĂ© le bug ? placeholder: | - https://react.dev/ + https://fr.react.dev/ validations: required: true - type: textarea attributes: - label: Details + label: DĂ©tails description: | - Please provide any additional details about the bug. + Veuillez fournir tout dĂ©tail complĂ©mentaire utile sur ce bug. placeholder: | - Example details: - The "Submit" button is unresponsive. I've tried refreshing the page and using a different browser, but the issue persists. + Exemples de dĂ©tails : + Le bouton « Envoyer » ne rĂ©agit pas. J'ai tentĂ© de rafraĂźchir la page et d'utiliser un autre navigateur, mais le problĂšme persiste. validations: required: false diff --git a/.github/ISSUE_TEMPLATE/1-typo.yml b/.github/ISSUE_TEMPLATE/1-typo.yml index c86557a11..c376a78f5 100644 --- a/.github/ISSUE_TEMPLATE/1-typo.yml +++ b/.github/ISSUE_TEMPLATE/1-typo.yml @@ -1,34 +1,34 @@ -name: "đŸ€Š Typo or mistake" -description: "Report a typo or mistake in the docs." +name: "đŸ€Š Typo ou erreur" +description: "Signale une typo ou une erreur dans les docs." title: "[Typo]: " labels: ["type: typos"] body: - type: textarea attributes: - label: Summary + label: RĂ©sumĂ© description: | - A clear and concise summary of what the mistake is. + Un rĂ©sumĂ© clair et concis du bug. placeholder: | - Example: - The code example on the "useReducer" page includes an unused variable `nextId`. + Exemple : + L'exemple de code sur la page "useReducer" comporte une variable `nextId` inutilisĂ©e. validations: required: true - type: input attributes: label: Page description: | - What page is the typo on? + Sur quelle page avez-vous constatĂ© la typo ? placeholder: | - https://react.dev/ + https://fr.react.dev/ validations: required: true - type: textarea attributes: - label: Details + label: DĂ©tails description: | - Please provide a explanation for why this is a mistake. + Veuillez fournir tout dĂ©tail complĂ©mentaire utile pour comprendre la nature de l'erreur. placeholder: | - Example mistake: - In the "useReducer" section of the "API Reference" page, the code example under "Writing a reducer function" includes an unused variable `nextId` that should be removed. + Exemple d'erreur : + Dans la section « useReducer » de la page « RĂ©fĂ©rence de l'API », l'exemple de code pour la partie « Écrire la fonction de rĂ©duction » comporte une variable `nextId` qui devrait ĂȘtre retirĂ©e. validations: required: false diff --git a/.github/ISSUE_TEMPLATE/2-suggestion.yml b/.github/ISSUE_TEMPLATE/2-suggestion.yml index ac0b480fe..80e141ad6 100644 --- a/.github/ISSUE_TEMPLATE/2-suggestion.yml +++ b/.github/ISSUE_TEMPLATE/2-suggestion.yml @@ -1,34 +1,34 @@ name: "💡 Suggestions" -description: "Suggest a new page, section, or edit for an existing page." +description: "SuggĂšre une nouvelle page, section ou mise Ă  jour d'une page existante." title: "[Suggestion]: " labels: ["type: documentation"] body: - type: textarea attributes: - label: Summary + label: RĂ©sumĂ© description: | - A clear and concise summary of what we should add. + Un rĂ©sumĂ© clair et concis de ce que nous devrions ajouter. placeholder: | - Example: - Add a new page for how to use React with TypeScript. + Exemple : + Ajouter une page dĂ©crivant l'utilisation de React avec TypeScript. validations: required: true - type: input attributes: label: Page description: | - What page is this about? + De quelle page s'agit-il ? placeholder: | - https://react.dev/ + https://fr.react.dev/ validations: required: false - type: textarea attributes: - label: Details + label: DĂ©tails description: | - Please provide a explanation for what you're suggesting. + Veuillez nous expliquer ce que vous suggĂ©rez. placeholder: | - Example: - I think it would be helpful to have a page that explains how to use React with TypeScript. This could include a basic example of a component written in TypeScript, and a link to the TypeScript documentation. + Exemple : + Je pense qu'il serait utile d'avoir une page expliquant comment utiliser React avec TypeScript. Elle pourrait inclure un exemple simple de composant Ă©crit en TypeScript, et faire les liens adĂ©quats vers la documentation de TypeScript. validations: required: true diff --git a/.github/ISSUE_TEMPLATE/3-framework.yml b/.github/ISSUE_TEMPLATE/3-framework.yml index a47295e1e..b16a38fbc 100644 --- a/.github/ISSUE_TEMPLATE/3-framework.yml +++ b/.github/ISSUE_TEMPLATE/3-framework.yml @@ -1,116 +1,116 @@ -name: "📄 Suggest new framework" -description: "I am a framework author applying to be included as a recommended framework." +name: "📄 SuggĂ©rer un nouveau framework" +description: "Je suis l'auteur·e d'unframework et j'aimerais qu'il fasse partie des frameworks recommandĂ©s." title: "[Framework]: " labels: ["type: framework"] body: - type: markdown attributes: value: | - ## Apply to be included as a recommended React framework + ## Candidature pour l'inclusion d'un framework React recommandĂ© - _This form is for framework authors to apply to be included as a recommended [React framework](https://react.dev/learn/start-a-new-react-project). If you are not a framework author, please contact the authors before submitting._ - - Our goal when recommending a framework is to start developers with a React project that solves common problems like code splitting, data fetching, routing, and HTML generation without any extra work later. We believe this will allow users to get started quickly with React, and scale their app to production. - - While we understand that many frameworks may want to be featured, this page is not a place to advertise every possible React framework or all frameworks that you can add React to. There are many great frameworks that offer support for React that are not listed in our guides. The frameworks we recommend have invested significantly in the React ecosystem, and collaborated with the React team to be compatible with our [full-stack React architecture vision](https://react.dev/learn/start-a-new-react-project#which-features-make-up-the-react-teams-full-stack-architecture-vision). - - To be included, frameworks must meet the following criteria: - - - **Free & open-source**: must be open source and free to use. - - **Well maintained**. must be actively maintained, providing bug fixes and improvements. - - **Active community**: must have a sufficiently large and active community to support users. - - **Clear onboarding**: must have clear install steps to install the React version of the framework. - - **Ecosystem compatibility**: must support using the full range of libraries and tools in the React ecosystem. - - **Self-hosting option**: must support an option to self-host applications without losing access to features. - - **Developer experience**. must allow developers to be productive by supporting features like Fast Refresh. - - **User experience**. must provide built-in support for common problems like routing and data-fetching. - - **Compatible with our future vision for React**. React evolves over time, and frameworks that do not align with React’s direction risk isolating their users from the main React ecosystem over time. To be included on this page we must feel confident that the framework is setting its users up for success with React over time. + _Ce formulaire s'adresse aux auteur·es de framework qui souhaitent candidater pour qu'il fasse partie de la liste des [frameworks React](https://react.dev/learn/start-a-new-react-project) recommandĂ©s. Si vous n'ĂȘtes pas l'auteur·e du framework, contactez ses auteur·es pour leur suggĂ©rer de candidater._ + + Lorsque nous recommandons un framework, nous le faisons afin que les dĂ©veloppeur·ses puissent dĂ©marrer avec un projet React qui s'occupe d'entrĂ©e de jeu de sujets rĂ©currents tels que la dĂ©coupe de code, le chargement de donnĂ©es, le routage et la gĂ©nĂ©ration du HTML, sans avoir Ă  fournir un travail complĂ©mentaire. Nous estimons que ça permettra aux gens de dĂ©marrer plus vite avec React, et de faire monter leur application Ă  l'Ă©chelle en production. + + MĂȘme si nous comprenons bien que de nombreux frameworks aimeraient ĂȘtre inclus dans la liste, cette page n'est pas lĂ  pour faire la publicitĂ© de tous les frameworks React potentiels, ou de tous les frameworks auxquels React peut ĂȘtre intĂ©grĂ©. Il existe de nombreux superbes frameworks capables d'intĂ©grer React mais que nous ne listons pas dans nos guides. Les frameworks que nous recommandons ont investi de façon significative dans l'Ă©cosystĂšme React, et collaborĂ© avec l'Ă©quipe React pour ĂȘtre compatible avec notre [vision d'une architecture React full-stack](https://fr.react.dev/learn/start-a-new-react-project#which-features-make-up-the-react-teams-full-stack-architecture-vision). - Please note, we have reviewed most of the popular frameworks available today, so it is unlikely we have not considered your framework already. But if you think we missed something, please complete the application below. + Pour ĂȘtre inclus dans la liste, un framework doit satisfaire les critĂšres suivants : + + - **Open-source et gratuit** : il doit ĂȘtre en logiciel libre et son utilisation gratuite. + - **Bonne maintenance** : il doit ĂȘtre activement maintenu, avec correctifs et amĂ©liorations. + - **CommunautĂ© active** : il doit disposer d'une communautĂ© suffisamment large et vivante pour aider ses utilisateurs. + - **Adoption facile** : il doit disposer d'Ă©tapes claires pour l'installation de la version React du framework. + - **Compatible avec l'Ă©cosystĂšme** : il doit prendre en charge l'ensemble des bibliothĂšques et outils de l'Ă©cosystĂšme React. + - **Auto-hĂ©bergement possible** : il doit permettre l'auto-hĂ©bergement d'applications sans que cela en limite les fonctionnalitĂ©s. + - **ExpĂ©rience de dĂ©veloppement (DX)** : il doit permettre aux dĂ©veloppeur·ses d'ĂȘtre productif·ves grĂące Ă  des fonctionnalitĂ©s telles que _Fast Refresh_. + - **ExpĂ©rience utilisateur (UX)** : il doit fournir des solutions intĂ©grĂ©es aux problĂ©matiques usuelles telles que le routage et le chargement de donnĂ©es. + - **Compatible avec notre vision de l'avenir de React**. React Ă©volue avec le temps, et les frameworks qui ne s'alignent pas avec la direction que prend React risquent au fil du temps d'isoler leurs utilisateurs de l'Ă©cosystĂšme React principal. Pour vous inclure sur cette page, nous devons ĂȘtre confiants dans la capacitĂ© du framework Ă  placer ses utilisateurs durablement sur le chemin du succĂšs avec React. + + Notez bien que nous avons dĂ©jĂ  passĂ© en revue la plupart des frameworks populaires disponibles pour le moment, il est donc peu probable que nous n'ayons pas encore examinĂ© votre framework. Mais si vous pensez que nous avons loupĂ© quelque chose, veuillez remplir le formulaire ci-dessous. - type: input attributes: - label: Name + label: Nom description: | - What is the name of your framework? + Quel est le nom de votre framework ? validations: required: true - type: input attributes: - label: Homepage + label: Page d'accueil description: | - What is the URL of your homepage? + Quelle est l'URL de votre page d'accueil ? validations: required: true - type: input attributes: - label: Install instructions + label: Instructions d'installation description: | - What is the URL of your getting started guide? + Quelle est l'URL de votre guide de dĂ©marrage ? validations: required: true - type: dropdown attributes: - label: Is your framework open source? + label: Votre framework est-il open source ? description: | - We only recommend free and open source frameworks. + Nous ne recommandons que les frameworks open source et gratuits. options: - - 'No' - - 'Yes' + - 'Non' + - 'Oui' validations: required: true - type: textarea attributes: - label: Well maintained + label: Maintenance active description: | - Please describe how your framework is actively maintained. Include recent releases, bug fixes, and improvements as examples. + Veuillez dĂ©crire (en anglais) en quoi votre framework est activement maintenu. Fournissez des exemples rĂ©cents de versions publiĂ©es, correctifs et amĂ©liorations. validations: required: true - type: textarea attributes: - label: Active community + label: CommunautĂ© active description: | - Please describe your community. Include the size of your community, and links to community resources. + Veuillez dĂ©crire (en anglais) votre communautĂ©. Indiquez-en la taille et fournissez des liens sur les ressoures communautaires. validations: required: true - type: textarea attributes: - label: Clear onboarding + label: Adoption facile description: | - Please describe how a user can install your framework with React. Include links to any relevant documentation. + Veuillez dĂ©crire (en anglais) comment une personne peut installer votre framework avec React. Fournissez les liens adĂ©quats vers votre documentation. validations: required: true - type: textarea attributes: - label: Ecosystem compatibility + label: CompatibilitĂ© avec l'Ă©cosystĂšme description: | - Please describe any limitations your framework has with the React ecosystem. Include any libraries or tools that are not compatible with your framework. + Veuillez dĂ©crire (en anglais) toute limite connue que votre framework aurait vis-Ă -vis de l'Ă©cosystĂšme React. Indiquez toute bibliothĂšque ou tout outil dont vous savez qu'il n'est pas compatible avec votre framework. validations: required: true - type: textarea attributes: - label: Self-hosting option + label: Auto-hĂ©bergement description: | - Please describe how your framework supports self-hosting. Include any limitations to features when self-hosting. Also include whether you require a server to deploy your framework. + Veuillez dĂ©crire (en anglais) en quoi votre framework permet l'auto-hĂ©bergement. Indiquez toute limitation connue de fonctionnalitĂ©s dans le cadre de l'auto-hĂ©bergement. Indiquez aussi s'il faut un serveur pour dĂ©ployer votre framework. validations: required: true - type: textarea attributes: - label: Developer Experience + label: ExpĂ©rience de dĂ©veloppement (DX) description: | - Please describe how your framework provides a great developer experience. Include any limitations to React features like React DevTools, Chrome DevTools, and Fast Refresh. + Veuillez dĂ©crire (en anglais) en quoi votre framework permet une super expĂ©rience de dĂ©veloppeemnt. Indiquez toute limite connue aux fonctionnalitĂ©s telles que les outils de dĂ©veloppement React, ceux de Chrome ou encore le Fast Refresh. validations: required: true - type: textarea attributes: - label: User Experience + label: ExpĂ©rience utilisateur (UX) description: | - Please describe how your framework helps developers create high quality user experiences by solving common use-cases. Include specifics for how your framework offers built-in support for code-splitting, routing, HTML generation, and data-fetching in a way that avoids client/server waterfalls by default. Include details on how you offer features such as SSG and SSR. + Veuillez dĂ©crire (en anglais) en quoi votre framework aide les gens Ă  crĂ©er une expĂ©rience utilisateur de grande qualitĂ©, en s'occupant directement des problĂ©matiques courantes. Indiquez par exemple en quoi vous gĂ©rez nativement la dĂ©coupe de code, le routage, la gĂ©nĂ©ration de HTML ou le chargement de donnĂ©es d'une façon qui Ă©vite par dĂ©faut les cascades de requĂȘtes client/serveur. DĂ©taillez la façon dont vous permettez des approches telles que SSG ou SSR. validations: required: true - type: textarea attributes: - label: Compatible with our future vision for React + label: Compatible avec notre vision de l'avenir de React description: | - Please describe how your framework aligns with our future vision for React. Include how your framework will evolve with React over time, and your plans to support future React features like React Server Components. + Veuillez dĂ©crire (en anglais) en quoi votre framework est alignĂ© avec notre vision de l'avenir de React. Indiquez comment votre framework Ă©voluera avec React, et quels sont vos plans pour prendre en charge les fonctionnalitĂ©s Ă  venir de React telles que les React Server Components. validations: required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 63e310e0b..b8d428c56 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,7 +1,7 @@ contact_links: - - name: 📃 Bugs in React + - name: 📃 Bugs dans React url: https://github.com/facebook/react/issues/new/choose - about: This issue tracker is not for bugs in React. Please file React issues here. - - name: đŸ€” Questions and Help - url: https://reactjs.org/community/support.html - about: This issue tracker is not for support questions. Please refer to the React community's help and discussion forums. + about: Ce suivi de tickets ne sert pas aux bugs dans React. DĂ©posez vos tickets React plutĂŽt lĂ -bas. + - name: đŸ€” Questions et Aide + url: https://react.dev/community + about: Ce suivi de tickets ne sert pas au support technique. Consultez plutĂŽt l'aide communautaire de React et les forums de discussion. diff --git a/src/components/MDX/Sandpack/Preview.tsx b/src/components/MDX/Sandpack/Preview.tsx index 9669e5f4f..94fb50e90 100644 --- a/src/components/MDX/Sandpack/Preview.tsx +++ b/src/components/MDX/Sandpack/Preview.tsx @@ -188,7 +188,7 @@ export function Preview({ ? 'absolute opacity-0 pointer-events-none duration-75' : 'opacity-100 duration-150' )} - title="Sandbox Preview" + title="PrĂ©visualisation de la sandbox" style={{ height: iframeComputedHeight || '15px', zIndex: isExpanded ? 'initial' : -1, diff --git a/src/components/MDX/SandpackWithHTMLOutput.tsx b/src/components/MDX/SandpackWithHTMLOutput.tsx index 134da6589..971610a9c 100644 --- a/src/components/MDX/SandpackWithHTMLOutput.tsx +++ b/src/components/MDX/SandpackWithHTMLOutput.tsx @@ -15,7 +15,7 @@ export default function ShowRenderedHTML({children}) { ); return ( <> -

Rendered HTML:

+

HTML produit :

         {formatHTML(markup)}
       
@@ -27,9 +27,9 @@ const formatHTML = ` import format from 'html-format'; export default function formatHTML(markup) { - // Cheap tricks to format the HTML readably -- haven't been able to - // find a package that runs in browser and prettifies the HTML if it - // lacks line-breaks. + // Bidouilles pour formatter lisiblement le HTML -- je n'ai pas + // rĂ©ussi Ă  trouver un module tournant cĂŽtĂ© navigateur qui nettoie + // le HTML s'il n'a pas de retours-chariot. return format(markup .replace('', '\\n') .replace('', '\\n') diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 65c52a238..fff712fb2 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -10,27 +10,11 @@ Vous connaissez une confĂ©rence React.js locale ? Ajoutez-la ! (Merci de conse ## ConfĂ©rences Ă  venir {/*upcoming-conferences*/} -<<<<<<< HEAD -### React Summit 2024 {/*react-summit-2024*/} -June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event) - -[Site web](https://reactsummit.com/) - [Twitter](https://twitter.com/reactsummit) - [VidĂ©os](https://portal.gitnation.org/) - -======= ->>>>>>> 2372ecf920ac4cda7c900f9ac7f9c0cd4284f281 ### React Paris 2024 {/*react-paris-2024*/} March 22, 2024. In-person in Paris, France + Remote (hybrid) [Site web](https://react.paris/) - [Twitter](https://twitter.com/BeJS_) - [LinkedIn](https://www.linkedin.com/events/7150816372074192900/comments/) -<<<<<<< HEAD -### React Miami 2024 {/*react-miami-2024*/} -April 19 - 20, 2024. In-person in Miami, FL, USA - -[Site web](https://reactmiami.com/) - [Twitter](https://twitter.com/ReactMiamiConf) - -======= ->>>>>>> 2372ecf920ac4cda7c900f9ac7f9c0cd4284f281 ### Epic Web Conf 2024 {/*epic-web-2024*/} April 10 - 11, 2024. In-person in Park City, UT, USA @@ -39,23 +23,18 @@ April 10 - 11, 2024. In-person in Park City, UT, USA ### React Miami 2024 {/*react-miami-2024*/} April 19 - 20, 2024. In-person in Miami, FL, USA -[Website](https://reactmiami.com/) - [Twitter](https://twitter.com/ReactMiamiConf) +[Site web](https://reactmiami.com/) - [Twitter](https://twitter.com/ReactMiamiConf) ### React Conf 2024 {/*react-conf-2024*/} May 15 - 16, 2024. In-person in Henderson, NV, USA + remote -[Website](https://conf.react.dev) - [Twitter](https://twitter.com/reactjs) +[Site web](https://conf.react.dev) - [Twitter](https://twitter.com/reactjs) ### App.js Conf 2024 {/*appjs-conf-2024*/} May 22 - 24, 2024. In-person in KrakĂłw, Poland + remote [Site web](https://appjs.co) - [Twitter](https://twitter.com/appjsconf) -### React Summit 2024 {/*react-summit-2024*/} -June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event) - -[Website](https://reactsummit.com/) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://portal.gitnation.org/) - ### Render(ATL) 2024 🍑 {/*renderatl-2024-*/} June 12 - June 14, 2024. Atlanta, GA, USA @@ -64,7 +43,12 @@ June 12 - June 14, 2024. Atlanta, GA, USA ### React Norway 2024 {/*react-norway-2024*/} June 14, 2024. In-person at Farris Bad Hotel in Larvik, Norway and online (hybrid event). -[Website](https://reactnorway.com/) - [Twitter](https://twitter.com/ReactNorway) +[Site web](https://reactnorway.com/) - [Twitter](https://twitter.com/ReactNorway) + +### React Summit 2024 {/*react-summit-2024*/} +June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event) + +[Site web](https://reactsummit.com/) - [Twitter](https://twitter.com/reactsummit) - [VidĂ©os](https://portal.gitnation.org/) ### React Nexus 2024 {/*react-nexus-2024*/} July 04 & 05, 2024. Bangalore, India (In-person event) diff --git a/src/content/learn/start-a-new-react-project.md b/src/content/learn/start-a-new-react-project.md index 8df27d63c..dfc2518e9 100644 --- a/src/content/learn/start-a-new-react-project.md +++ b/src/content/learn/start-a-new-react-project.md @@ -4,52 +4,40 @@ title: CrĂ©er un nouveau projet React -<<<<<<< HEAD -Si vous voulez crĂ©er une nouvelle appli ou un nouveau site web avec React, nous recommandons de choisir un des frameworks React populaires auprĂšs de la communautĂ©. Les frameworks offrent des fonctionnalitĂ©s dont la plupart des applis et sites ont besoin, notamment la gestion des routes, le chargement de donnĂ©es et la gĂ©nĂ©ration du code HTML. -======= -If you want to build a new app or a new website fully with React, we recommend picking one of the React-powered frameworks popular in the community. ->>>>>>> 2372ecf920ac4cda7c900f9ac7f9c0cd4284f281 +Si vous voulez crĂ©er une nouvelle appli ou un nouveau site web avec React, nous recommandons de choisir un des frameworks React populaires auprĂšs de la communautĂ©. +Vous pouvez utiliser React sans framework, ceci dit nous avons constatĂ© que la grande majoritĂ© des applis et site finissent par implĂ©menter des solutions Ă  des problĂ©matiques courantes telles que la dĂ©coupe de code, le routage, le chargement de donnĂ©es ou la gĂ©nĂ©ration de HTML. Ces problĂ©matiques se retrouvent dans toutes les bibliothĂšques d'interface utilisateur, pas seulement dans React. -<<<<<<< HEAD -**Vous aurez besoin d'installer [Node.js](https://nodejs.org/fr/) pour le dĂ©veloppement local.** Vous pouvez *aussi* choisir d'utiliser Node.js en production, mais rien ne vous y oblige. Plusieurs frameworks React permettent une exportation vers un dossier HTML/CSS/JS statique. -======= -You can use React without a framework, however we’ve found that most apps and sites eventually build solutions to common problems such as code-splitting, routing, data fetching, and generating HTML. These problems are common to all UI libraries, not just React. ->>>>>>> 2372ecf920ac4cda7c900f9ac7f9c0cd4284f281 - -By starting with a framework, you can get started with React quickly, and avoid essentially building your own framework later. +En commençant avec un framework, vous pouvez dĂ©marrer plus vite avec React et vous Ă©pargner ce qui revient Ă  construire votre propre framework par la suite. -#### Can I use React without a framework? {/*can-i-use-react-without-a-framework*/} +#### Puis-je utiliser React sans framework ? {/*can-i-use-react-without-a-framework*/} + +Vous pouvez tout Ă  fait utiliser React sans framework ; c’est d'ailleurs ainsi qu'on [utilise React pour une partie de votre page](/learn/add-react-to-an-existing-project#using-react-for-a-part-of-your-existing-page). **Cependant, si vous crĂ©ez une nouvelle appli ou un site entiĂšrement avec React, nous recommandons l’utilisation d’un framework.** -You can definitely use React without a framework--that's how you'd [use React for a part of your page.](/learn/add-react-to-an-existing-project#using-react-for-a-part-of-your-existing-page) **However, if you're building a new app or a site fully with React, we recommend using a framework.** +En voici les raisons. -Here's why. +MĂȘme si, au dĂ©part, vous n’avez pas besoin d’un gestionnaire de routes ou de charger des donnĂ©es, vous finirez sans doute par ajouter des bibliothĂšques pour ça. Au fur et Ă  mesure que votre bundle JavaScript grandit avec chaque nouvelle fonctionnalitĂ©, vous devrez peut-ĂȘtre trouver un moyen de dĂ©couper le code pour chaque route individuellement. Lorsque vos besoins en matiĂšre de chargement de donnĂ©es se complexifieront, vous risquez de rencontrer des cascades de chargements rĂ©seau client-serveur qui ralentiront considĂ©rablement votre appli. Lorsque votre public comprendra davantage d’utilisateurs avec de faibles bandes passantes et des appareils bas de gamme, vous aurez probablement besoin de gĂ©nĂ©rer du HTML Ă  partir de vos composants pour afficher le contenu plus tĂŽt (soit sur le serveur, soit en amont lors du *build*). Modifier votre configuration pour exĂ©cuter une partie de votre code sur le serveur ou au *build peut s'avĂ©rer trĂšs dĂ©licat. -Even if you don't need routing or data fetching at first, you'll likely want to add some libraries for them. As your JavaScript bundle grows with every new feature, you might have to figure out how to split code for every route individually. As your data fetching needs get more complex, you are likely to encounter server-client network waterfalls that make your app feel very slow. As your audience includes more users with poor network conditions and low-end devices, you might need to generate HTML from your components to display content early--either on the server, or during the build time. Changing your setup to run some of your code on the server or during the build can be very tricky. +**Ces problĂšmes ne sont pas spĂ©cifiques Ă  React. C’est pourquoi Svelte a SvelteKit, Vue a Nuxt, etc**. Pour rĂ©soudre ces problĂšmes par vous-mĂȘme, il vous faudrait intĂ©grer votre *bundler* Ă  votre gestionnaire de routes et Ă  votre bibliothĂšque de chargement de donnĂ©es. Il n’est pas difficile d'obtenir un premier jet, mais la crĂ©ation d’une appli qui se charge rapidement mĂȘme lorsqu'elle grandit fortement au fil du temps, c'est une affaire pleine de subtilitĂ©s. Vous voudrez envoyer le minimum de code applicatif, mais en un seul aller-retour client-serveur, en parallĂšle avec toutes les donnĂ©es requises pour la page. Vous souhaiterez probablement que la page soit interactive avant mĂȘme que votre code JavaScript ne soit exĂ©cutĂ©, afin de prendre en charge l’amĂ©lioration progressive. Vous souhaiterez peut-ĂȘtre gĂ©nĂ©rer un dossier de fichiers HTML entiĂšrement statiques pour vos pages de marketing, qui pourront ĂȘtre hĂ©bergĂ©s n’importe oĂč et fonctionneront mĂȘme avec JavaScript dĂ©sactivĂ©. La mise en place de ces possibilitĂ©s demande Ă©normĂ©ment de travail. -**These problems are not React-specific. This is why Svelte has SvelteKit, Vue has Nuxt, and so on.** To solve these problems on your own, you'll need to integrate your bundler with your router and with your data fetching library. It's not hard to get an initial setup working, but there are a lot of subtleties involved in making an app that loads quickly even as it grows over time. You'll want to send down the minimal amount of app code but do so in a single client–server roundtrip, in parallel with any data required for the page. You'll likely want the page to be interactive before your JavaScript code even runs, to support progressive enhancement. You may want to generate a folder of fully static HTML files for your marketing pages that can be hosted anywhere and still work with JavaScript disabled. Building these capabilities yourself takes real work. +**Les frameworks React prĂ©sentĂ©s sur cette page rĂ©solvent les problĂšmes de ce type par dĂ©faut, sans travail supplĂ©mentaire de votre part.** Ils vous permettent de commencer de maniĂšre trĂšs lĂ©gĂšre et de faire Ă©voluer votre appli en fonction de vos besoins. Chaque framework React dispose d’une communautĂ©, ce qui facilite la recherche de rĂ©ponses aux questions et la mise Ă  jour des outils. Les frameworks donnent Ă©galement une structure Ă  votre code, ce qui vous aide, vous et les autres, Ă  conserver le contexte et vos compĂ©tences d'un projet Ă  l'autre. Inversement, avec votre propre systĂšme, il est plus facile de rester bloquĂ©s sur des dĂ©pendances obsolĂštes, et vous finirez essentiellement par crĂ©er votre propre framework--mais un framework sans communautĂ© ni processus de mise Ă  niveau (et s’il ressemble Ă  ceux que nous avons construits par le passĂ©, il est conçu de maniĂšre plus alĂ©atoire). -**React frameworks on this page solve problems like these by default, with no extra work from your side.** They let you start very lean and then scale your app with your needs. Each React framework has a community, so finding answers to questions and upgrading tooling is easier. Frameworks also give structure to your code, helping you and others retain context and skills between different projects. Conversely, with a custom setup it's easier to get stuck on unsupported dependency versions, and you'll essentially end up creating your own framework—albeit one with no community or upgrade path (and if it's anything like the ones we've made in the past, more haphazardly designed). -If your app has unusual constraints not served well by these frameworks, or you prefer to solve these problems yourself, you can roll your own custom setup with React. Grab `react` and `react-dom` from npm, set up your custom build process with a bundler like [Vite](https://vitejs.dev/) or [Parcel](https://parceljs.org/), and add other tools as you need them for routing, static generation or server-side rendering, and more. +Si votre appli a des contraintes inhabituelles qui ne sont pas bien traitĂ©es par ces frameworks, ou si vous prĂ©fĂ©rer rĂ©pondre Ă  ces problĂ©matiques vous-mĂȘmes, vous pouvez mettre en place votre propre configuration personnalisĂ©e autour de React. Prenez `react` et `react-dom` sur npm, mettez en place votre processus de *build* sur-mesure avec un bundler comme [Vite](https://vitejs.dev/) ou [Parcel](https://parceljs.org/), et ajoutez d’autres outils lorsque vous en aurez besoin pour la gestion des routes, l’exportation statique ou le rendu cĂŽtĂ© serveur, et plus encore. ## Frameworks React de qualitĂ© reconnue {/*production-grade-react-frameworks*/} -These frameworks support all the features you need to deploy and scale your app in production and are working towards supporting our [full-stack architecture vision](#which-features-make-up-the-react-teams-full-stack-architecture-vision). All of the frameworks we recommend are open source with active communities for support, and can be deployed to your own server or a hosting provider. If you’re a framework author interested in being included on this list, [please let us know](https://github.com/reactjs/react.dev/issues/new?assignees=&labels=type%3A+framework&projects=&template=3-framework.yml&title=%5BFramework%5D%3A+). +Ces frameworks prennent en charge toutes les fonctionnalitĂ©s dont vous aurez besoin pour dĂ©ployer et faire monter Ă  l'Ă©chelle votre application en production, tout en travaillant Ă  s'aligner sur notre [vision d'une architecture full-stack](#which-features-make-up-the-react-teams-full-stack-architecture-vision). Tous les frameworks que nous recommandons sont _open source_, on des communautĂ©s actives pour vous aider, et peuvent ĂȘtre dĂ©ployĂ©es sur votre propre serveur ou chez un hĂ©bergeur. Si vous ĂȘtes l'auteur·e d'un framework qui voudrait faire partie de cette liste[faites-nous signe](https://github.com/reactjs/fr.react.dev/issues/new?assignees=&labels=type%3A+framework&projects=&template=3-framework.yml&title=%5BFramework%5D%3A+). -<<<<<<< HEAD -**[Next.js](https://nextjs.org/) est un framework React full-stack**. Il est flexible et vous permet de crĂ©er des applis React de toute taille--d’un blog essentiellement statique Ă  une appli complexe et dynamique. Pour crĂ©er un nouveau projet avec Next.js, exĂ©cutez cette commande dans votre terminal : -======= ### Next.js {/*nextjs-pages-router*/} -**[Next.js' Pages Router](https://nextjs.org/) is a full-stack React framework.** It's versatile and lets you create React apps of any size--from a mostly static blog to a complex dynamic application. To create a new Next.js project, run in your terminal: ->>>>>>> 2372ecf920ac4cda7c900f9ac7f9c0cd4284f281 +**[Next.js (Pages Router)](https://nextjs.org/) est un framework React full-stack**. Il est flexible et vous permet de crĂ©er des applis React de toute taille--d’un blog essentiellement statique Ă  une appli complexe et dynamique. Pour crĂ©er un nouveau projet avec Next.js, exĂ©cutez cette commande dans votre terminal : npx create-next-app@latest @@ -95,28 +83,7 @@ Si Expo est nouveau pour vous, consultez le [tutoriel d’Expo](https://docs.exp Expo est maintenu par [Expo (la sociĂ©tĂ©)](https://expo.dev/about). Construire des applis avec Expo est gratuit, et vous pouvez les publier sur les plateformes Google Play et Apple Store sans restrictions. Expo propose des services cloud optionnels payants. -<<<<<<< HEAD - - -#### Puis-je utiliser React sans framework ? {/*can-i-use-react-without-a-framework*/} - -Vous pouvez tout Ă  fait utiliser React sans framework ; c’est d'ailleurs ainsi qu'on [utilise React pour une partie de votre page](/learn/add-react-to-an-existing-project#using-react-for-a-part-of-your-existing-page). **Cependant, si vous crĂ©ez une nouvelle appli ou un site entiĂšrement avec React, nous recommandons l’utilisation d’un framework.** - -En voici les raisons. - -MĂȘme si, au dĂ©part, vous n’avez pas besoin d’un gestionnaire de routes ou de charger des donnĂ©es, vous finirez sans doute par ajouter des bibliothĂšques pour ça. Au fur et Ă  mesure que votre bundle JavaScript grandit avec chaque nouvelle fonctionnalitĂ©, vous devrez peut-ĂȘtre trouver un moyen de dĂ©couper le code pour chaque route individuellement. Lorsque vos besoins en matiĂšre de chargement de donnĂ©es se complexifieront, vous risquez de rencontrer des cascades de chargements rĂ©seau client-serveur qui ralentiront considĂ©rablement votre appli. Lorsque votre public comprendra davantage d’utilisateurs avec de faibles bandes passantes et des appareils bas de gamme, vous aurez probablement besoin de gĂ©nĂ©rer du HTML Ă  partir de vos composants pour afficher le contenu plus tĂŽt (soit sur le serveur, soit en amont lors du *build*). Modifier votre configuration pour exĂ©cuter une partie de votre code sur le serveur ou au *build peut s'avĂ©rer trĂšs dĂ©licat. - -**Ces problĂšmes ne sont pas spĂ©cifiques Ă  React. C’est pourquoi Svelte a SvelteKit, Vue a Nuxt, etc**. Pour rĂ©soudre ces problĂšmes par vous-mĂȘme, il vous faudrait intĂ©grer votre *bundler* Ă  votre gestionnaire de routes et Ă  votre bibliothĂšque de chargement de donnĂ©es. Il n’est pas difficile d'obtenir un premier jet, mais la crĂ©ation d’une appli qui se charge rapidement mĂȘme lorsqu'elle grandit fortement au fil du temps, c'est une affaire pleine de subtilitĂ©s. Vous voudrez envoyer le minimum de code applicatif, mais en un seul aller-retour client-serveur, en parallĂšle avec toutes les donnĂ©es requises pour la page. Vous souhaiterez probablement que la page soit interactive avant mĂȘme que votre code JavaScript ne soit exĂ©cutĂ©, afin de prendre en charge l’amĂ©lioration progressive. Vous souhaiterez peut-ĂȘtre gĂ©nĂ©rer un dossier de fichiers HTML entiĂšrement statiques pour vos pages de marketing, qui pourront ĂȘtre hĂ©bergĂ©s n’importe oĂč et fonctionneront mĂȘme avec JavaScript dĂ©sactivĂ©. La mise en place de ces possibilitĂ©s demande Ă©normĂ©ment de travail. - -**Les frameworks React prĂ©sentĂ©s sur cette page rĂ©solvent les problĂšmes de ce type par dĂ©faut, sans travail supplĂ©mentaire de votre part.** Ils vous permettent de commencer de maniĂšre trĂšs lĂ©gĂšre et de faire Ă©voluer votre appli en fonction de vos besoins. Chaque framework React dispose d’une communautĂ©, ce qui facilite la recherche de rĂ©ponses aux questions et la mise Ă  jour des outils. Les frameworks donnent Ă©galement une structure Ă  votre code, ce qui vous aide, vous et les autres, Ă  conserver le contexte et vos compĂ©tences d'un projet Ă  l'autre. Inversement, avec votre propre systĂšme, il est plus facile de rester bloquĂ©s sur des dĂ©pendances obsolĂštes, et vous finirez essentiellement par crĂ©er votre propre framework--mais un framework sans communautĂ© ni processus de mise Ă  niveau (et s’il ressemble Ă  ceux que nous avons construits par le passĂ©, il est conçu de maniĂšre plus alĂ©atoire). - -Si vous n’ĂȘtes toujours pas convaincu·e, ou si votre appli a des contraintes inhabituelles qui ne sont pas bien traitĂ©es par ces frameworks et que vous souhaitez mettre en place votre propre configuration personnalisĂ©e, nous ne pouvons pas vous arrĂȘter : allez-y ! Prenez `react` et `react-dom` sur npm, mettez en place votre processus de *build* sur-mesure avec un bundler comme [Vite](https://vitejs.dev/) ou [Parcel](https://parceljs.org/), et ajoutez d’autres outils lorsque vous en aurez besoin pour la gestion des routes, l’exportation statique ou le rendu cĂŽtĂ© serveur, et plus encore. - - ## Frameworks React expĂ©rimentaux {/*bleeding-edge-react-frameworks*/} -======= -## Bleeding-edge React frameworks {/*bleeding-edge-react-frameworks*/} ->>>>>>> 2372ecf920ac4cda7c900f9ac7f9c0cd4284f281 Alors que nous cherchions comment continuer Ă  amĂ©liorer React, nous avons rĂ©alisĂ© que l’intĂ©gration plus Ă©troite de React avec les frameworks (en particulier avec la gestion de routes, le *bundling* et les traitements cĂŽtĂ© serveur) constitue notre plus grande opportunitĂ© d’aider les utilisateurs de React Ă  construire de meilleures applis. L’équipe Next.js a acceptĂ© de collaborer avec nous sur la recherche, le dĂ©veloppement, l’intĂ©gration et les tests de fonctionnalitĂ©s React de pointe, indĂ©pendantes toutefois d'un framework spĂ©cifique, comme les [Composants Serveur React](/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components). diff --git a/src/content/learn/tutorial-tic-tac-toe.md b/src/content/learn/tutorial-tic-tac-toe.md index f56e4c2ba..183a649a4 100644 --- a/src/content/learn/tutorial-tic-tac-toe.md +++ b/src/content/learn/tutorial-tic-tac-toe.md @@ -265,19 +265,11 @@ body { Vous pouvez aussi suivre ce tutoriel dans votre environnement de dĂ©veloppement local. Pour cela, suivez ces Ă©tapes : -<<<<<<< HEAD 1. Installez [Node.js](https://nodejs.org/fr/) -2. Dans l'onglet CodeSandbox ouvert plus tĂŽt, appuyez sur le bouton en haut Ă  gauche pour ouvrir le menu, puis choisissez **File â€ș Export to ZIP** dans ce menu pour tĂ©lĂ©charger localement une archive des fichiers du projet +2. Dans l'onglet CodeSandbox ouvert plus tĂŽt, appuyez sur le bouton en haut Ă  gauche pour ouvrir le menu, puis choisissez **TĂ©lĂ©charger la sandbox** dans ce menu pour tĂ©lĂ©charger localement une archive des fichiers du projet 3. DĂ©compressez le fichier d'archive puis ouvrez un terminal et faites un `cd` dans le dossier que vous venez de dĂ©compresser 4. Installez les dĂ©pendances avec `npm install` 5. Lancer `npm start` pour dĂ©marrer un serveur local et suivez les invites affichĂ©es pour voir le code s'exĂ©cuter dans le navigateur. -======= -1. Install [Node.js](https://nodejs.org/en/) -1. In the CodeSandbox tab you opened earlier, press the top-left corner button to open the menu, and then choose **Download Sandbox** in that menu to download an archive of the files locally -1. Unzip the archive, then open a terminal and `cd` to the directory you unzipped -1. Install the dependencies with `npm install` -1. Run `npm start` to start a local server and follow the prompts to view the code running in a browser ->>>>>>> 2372ecf920ac4cda7c900f9ac7f9c0cd4284f281 Si vous ĂȘtes bloqué·e, ne vous laissez pas dĂ©courager ! Suivez ce tutoriel en ligne et retentez une mise en place locale plus tard. diff --git a/src/content/reference/react-dom/components/index.md b/src/content/reference/react-dom/components/index.md index f1c810f1e..dd0a767a8 100644 --- a/src/content/reference/react-dom/components/index.md +++ b/src/content/reference/react-dom/components/index.md @@ -32,12 +32,9 @@ React leur rĂ©serve un traitement particulier parce que leur passer la prop `val --- -<<<<<<< HEAD -## Tous les composants HTML {/*all-html-components*/} -======= -## Resource and Metadata Components {/*resource-and-metadata-components*/} +## Composants de ressources et mĂ©tadonnĂ©es {/*resource-and-metadata-components*/} -These bulit-in browser components let you load external resources or annotate the document with metadata: +Ces composants natifs du navigateur vous permettent de charger des ressources externes ou d'annoter le document avec des mĂ©tadonnĂ©es : * [``](/reference/react-dom/components/link) * [``](/reference/react-dom/components/meta) @@ -45,12 +42,11 @@ These bulit-in browser components let you load external resources or annotate th * [`