-
-
Notifications
You must be signed in to change notification settings - Fork 9.5k
đ Update translations for fr (update-outdated) #14723
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weâll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,55 +1,55 @@ | ||
| # Réponses supplémentaires dans OpenAPI | ||
| # Réponses supplémentaires dans OpenAPI { #additional-responses-in-openapi } | ||
|
|
||
| /// warning | Attention | ||
| /// warning | Alertes | ||
|
|
||
| Ceci concerne un sujet plutÎt avancé. | ||
|
|
||
| Si vous dĂ©butez avec **FastAPI**, vous n'en aurez peut-ĂȘtre pas besoin. | ||
|
|
||
| /// | ||
|
|
||
| Vous pouvez déclarer des réponses supplémentaires, avec des codes HTTP, des types de médias, des descriptions, etc. | ||
| Vous pouvez déclarer des réponses supplémentaires, avec des codes de statut supplémentaires, des types de médias, des descriptions, etc. | ||
|
|
||
| Ces réponses supplémentaires seront incluses dans le schéma OpenAPI, elles apparaßtront donc également dans la documentation de l'API. | ||
|
|
||
| Mais pour ces réponses supplémentaires, vous devez vous assurer de renvoyer directement une `Response` comme `JSONResponse`, avec votre code HTTP et votre contenu. | ||
| Mais pour ces réponses supplémentaires, vous devez vous assurer de renvoyer directement une `Response` comme `JSONResponse`, avec votre code de statut et votre contenu. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "codes HTTP" is straight enough. New update wasn't specifically needed, both work. |
||
|
|
||
| ## Réponse supplémentaire avec `model` | ||
| ## Réponse supplémentaire avec `model` { #additional-response-with-model } | ||
|
|
||
| Vous pouvez ajouter à votre décorateur de *paramÚtre de chemin* un paramÚtre `responses`. | ||
| Vous pouvez passer à vos *décorateurs de chemin d'accÚs* un paramÚtre `responses`. | ||
|
|
||
| Il prend comme valeur un `dict` dont les clés sont des codes HTTP pour chaque réponse, comme `200`, et la valeur de ces clés sont d'autres `dict` avec des informations pour chacun d'eux. | ||
| Il reçoit un `dict` : les clés sont des codes de statut pour chaque réponse (comme `200`), et les valeurs sont d'autres `dict` avec les informations pour chacune d'elles. | ||
|
|
||
| Chacun de ces `dict` de réponse peut avoir une clé `model`, contenant un modÚle Pydantic, tout comme `response_model`. | ||
|
|
||
| **FastAPI** prendra ce modÚle, générera son schéma JSON et l'inclura au bon endroit dans OpenAPI. | ||
| **FastAPI** prendra ce modÚle, générera son JSON Schema et l'inclura au bon endroit dans OpenAPI. | ||
|
|
||
| Par exemple, pour déclarer une autre réponse avec un code HTTP `404` et un modÚle Pydantic `Message`, vous pouvez écrire : | ||
| Par exemple, pour déclarer une autre réponse avec un code de statut `404` et un modÚle Pydantic `Message`, vous pouvez écrire : | ||
|
|
||
| {* ../../docs_src/additional_responses/tutorial001.py hl[18,22] *} | ||
| {* ../../docs_src/additional_responses/tutorial001_py39.py hl[18,22] *} | ||
|
|
||
| /// note | Remarque | ||
|
|
||
| Gardez Ă l'esprit que vous devez renvoyer directement `JSONResponse`. | ||
| Gardez Ă l'esprit que vous devez renvoyer directement le `JSONResponse`. | ||
|
|
||
| /// | ||
|
|
||
| /// info | ||
|
|
||
| La clé `model` ne fait pas partie d'OpenAPI. | ||
|
|
||
| **FastAPI** prendra le modÚle Pydantic à partir de là , générera le `JSON Schema` et le placera au bon endroit. | ||
| **FastAPI** prendra le modÚle Pydantic à partir de là , générera le JSON Schema et le placera au bon endroit. | ||
|
|
||
| Le bon endroit est : | ||
|
|
||
| * Dans la clé `content`, qui a pour valeur un autre objet JSON (`dict`) qui contient : | ||
| * Une clé avec le type de support, par ex. `application/json`, qui contient comme valeur un autre objet JSON, qui contient : | ||
| * Une clé `schema`, qui a pour valeur le schéma JSON du modÚle, voici le bon endroit. | ||
| * **FastAPI** ajoute ici une référence aux schémas JSON globaux à un autre endroit de votre OpenAPI au lieu de l'inclure directement. De cette façon, d'autres applications et clients peuvent utiliser ces schémas JSON directement, fournir de meilleurs outils de génération de code, etc. | ||
| * Dans la clé `content`, qui a pour valeur un autre objet JSON (`dict`) qui contient : | ||
| * Une clé avec le type de média, par ex. `application/json`, qui contient comme valeur un autre objet JSON, qui contient : | ||
| * Une clé `schema`, qui a pour valeur le JSON Schema du modÚle, voici le bon endroit. | ||
| * **FastAPI** ajoute ici une référence aux JSON Schemas globaux à un autre endroit de votre OpenAPI au lieu de l'inclure directement. De cette façon, d'autres applications et clients peuvent utiliser ces JSON Schemas directement, fournir de meilleurs outils de génération de code, etc. | ||
|
|
||
| /// | ||
|
|
||
| Les réponses générées au format OpenAPI pour cette *opération de chemin* seront : | ||
| Les réponses générées dans OpenAPI pour cette *opération de chemin d'accÚs* seront : | ||
|
|
||
| ```JSON hl_lines="3-12" | ||
| { | ||
|
|
@@ -88,7 +88,7 @@ Les réponses générées au format OpenAPI pour cette *opération de chemin* se | |
| } | ||
| ``` | ||
|
|
||
| Les schémas sont référencés à un autre endroit du modÚle OpenAPI : | ||
| Les schémas sont référencés à un autre endroit dans le schéma OpenAPI : | ||
|
|
||
| ```JSON hl_lines="4-16" | ||
| { | ||
|
|
@@ -169,13 +169,13 @@ Les schémas sont référencés à un autre endroit du modÚle OpenAPI : | |
| } | ||
| ``` | ||
|
|
||
| ## Types de médias supplémentaires pour la réponse principale | ||
| ## Types de médias supplémentaires pour la réponse principale { #additional-media-types-for-the-main-response } | ||
|
|
||
| Vous pouvez utiliser ce mĂȘme paramĂštre `responses` pour ajouter diffĂ©rents types de mĂ©dias pour la mĂȘme rĂ©ponse principale. | ||
|
|
||
| Par exemple, vous pouvez ajouter un type de média supplémentaire `image/png`, en déclarant que votre *opération de chemin* peut renvoyer un objet JSON (avec le type de média `application/json`) ou une image PNG : | ||
| Par exemple, vous pouvez ajouter un type de média supplémentaire `image/png`, en déclarant que votre *opération de chemin d'accÚs* peut renvoyer un objet JSON (avec le type de média `application/json`) ou une image PNG : | ||
|
|
||
| {* ../../docs_src/additional_responses/tutorial002.py hl[19:24,28] *} | ||
| {* ../../docs_src/additional_responses/tutorial002_py310.py hl[17:22,26] *} | ||
|
|
||
| /// note | Remarque | ||
|
|
||
|
|
@@ -191,29 +191,29 @@ Mais si vous avez spécifié une classe de réponse personnalisée avec `None` c | |
|
|
||
| /// | ||
|
|
||
| ## Combinaison d'informations | ||
| ## Combinaison d'informations { #combining-information } | ||
|
|
||
| Vous pouvez également combiner des informations de réponse provenant de plusieurs endroits, y compris les paramÚtres `response_model`, `status_code` et `responses`. | ||
|
|
||
| Vous pouvez dĂ©clarer un `response_model`, en utilisant le code HTTP par dĂ©faut `200` (ou un code personnalisĂ© si vous en avez besoin), puis dĂ©clarer des informations supplĂ©mentaires pour cette mĂȘme rĂ©ponse dans `responses`, directement dans le schĂ©ma OpenAPI. | ||
| Vous pouvez dĂ©clarer un `response_model`, en utilisant le code de statut par dĂ©faut `200` (ou un code personnalisĂ© si vous en avez besoin), puis dĂ©clarer des informations supplĂ©mentaires pour cette mĂȘme rĂ©ponse dans `responses`, directement dans le schĂ©ma OpenAPI. | ||
|
|
||
| **FastAPI** conservera les informations supplémentaires des `responses` et les combinera avec le schéma JSON de votre modÚle. | ||
| **FastAPI** conservera les informations supplémentaires des `responses` et les combinera avec le JSON Schema de votre modÚle. | ||
|
|
||
| Par exemple, vous pouvez déclarer une réponse avec un code HTTP `404` qui utilise un modÚle Pydantic et a une `description` personnalisée. | ||
| Par exemple, vous pouvez déclarer une réponse avec un code de statut `404` qui utilise un modÚle Pydantic et a une `description` personnalisée. | ||
|
|
||
| Et une réponse avec un code HTTP `200` qui utilise votre `response_model`, mais inclut un `example` personnalisé : | ||
| Et une réponse avec un code de statut `200` qui utilise votre `response_model`, mais inclut un `example` personnalisé : | ||
|
|
||
| {* ../../docs_src/additional_responses/tutorial003.py hl[20:31] *} | ||
| {* ../../docs_src/additional_responses/tutorial003_py39.py hl[20:31] *} | ||
|
|
||
| Tout sera combiné et inclus dans votre OpenAPI, et affiché dans la documentation de l'API : | ||
| Tout sera combiné et inclus dans votre OpenAPI, et affiché dans la documentation de l'API : | ||
|
|
||
| <img src="/img/tutorial/additional-responses/image01.png"> | ||
|
|
||
| ## Combinez les réponses prédéfinies et les réponses personnalisées | ||
| ## Combiner des réponses prédéfinies et des réponses personnalisées { #combine-predefined-responses-and-custom-ones } | ||
|
|
||
| Vous voulez peut-ĂȘtre avoir des rĂ©ponses prĂ©dĂ©finies qui s'appliquent Ă de nombreux *paramĂštre de chemin*, mais vous souhaitez les combiner avec des rĂ©ponses personnalisĂ©es nĂ©cessaires Ă chaque *opĂ©ration de chemin*. | ||
| Vous voulez peut-ĂȘtre avoir des rĂ©ponses prĂ©dĂ©finies qui s'appliquent Ă de nombreuses *opĂ©rations de chemin d'accĂšs*, mais vous souhaitez les combiner avec des rĂ©ponses personnalisĂ©es nĂ©cessaires Ă chaque *opĂ©ration de chemin d'accĂšs*. | ||
|
|
||
| Dans ces cas, vous pouvez utiliser la technique Python "d'affection par décomposition" (appelé _unpacking_ en anglais) d'un `dict` avec `**dict_to_unpack` : | ||
| Dans ces cas, vous pouvez utiliser la technique Python de « unpacking » d'un `dict` avec `**dict_to_unpack` : | ||
|
|
||
| ```Python | ||
| old_dict = { | ||
|
|
@@ -223,7 +223,7 @@ old_dict = { | |
| new_dict = {**old_dict, "new key": "new value"} | ||
| ``` | ||
|
|
||
| Ici, `new_dict` contiendra toutes les paires clé-valeur de `old_dict` plus la nouvelle paire clé-valeur : | ||
| Ici, `new_dict` contiendra toutes les paires clé-valeur de `old_dict` plus la nouvelle paire clé-valeur : | ||
|
|
||
| ```Python | ||
| { | ||
|
|
@@ -233,15 +233,15 @@ Ici, `new_dict` contiendra toutes les paires clé-valeur de `old_dict` plus la n | |
| } | ||
| ``` | ||
|
|
||
| Vous pouvez utiliser cette technique pour réutiliser certaines réponses prédéfinies dans vos *paramÚtres de chemin* et les combiner avec des réponses personnalisées supplémentaires. | ||
| Vous pouvez utiliser cette technique pour réutiliser certaines réponses prédéfinies dans vos *opérations de chemin d'accÚs* et les combiner avec des réponses personnalisées supplémentaires. | ||
|
|
||
| Par exemple: | ||
| Par exemple : | ||
|
|
||
| {* ../../docs_src/additional_responses/tutorial004.py hl[13:17,26] *} | ||
| {* ../../docs_src/additional_responses/tutorial004_py310.py hl[11:15,24] *} | ||
|
|
||
| ## Plus d'informations sur les réponses OpenAPI | ||
| ## Plus d'informations sur les réponses OpenAPI { #more-information-about-openapi-responses } | ||
|
|
||
| Pour voir exactement ce que vous pouvez inclure dans les réponses, vous pouvez consulter ces sections dans la spécification OpenAPI : | ||
| Pour voir exactement ce que vous pouvez inclure dans les réponses, vous pouvez consulter ces sections dans la spécification OpenAPI : | ||
|
|
||
| * <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#responsesObject" class="external-link" target="_blank">Objet Responses de OpenAPI </a>, il inclut le `Response Object`. | ||
| * <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#responseObject" class="external-link" target="_blank">Objet Response de OpenAPI </a>, vous pouvez inclure n'importe quoi directement dans chaque réponse à l'intérieur de votre paramÚtre `responses`. Y compris `description`, `headers`, `content` (à l'intérieur de cela, vous déclarez différents types de médias et schémas JSON) et `links`. | ||
| * <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#responses-object" class="external-link" target="_blank">Objet Responses d'OpenAPI</a>, il inclut le `Response Object`. | ||
| * <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#response-object" class="external-link" target="_blank">Objet Response d'OpenAPI</a>, vous pouvez inclure n'importe quoi à partir de celui-ci directement dans chaque réponse à l'intérieur de votre paramÚtre `responses`. Y compris `description`, `headers`, `content` (à l'intérieur de cela, vous déclarez différents types de médias et JSON Schemas), et `links`. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,41 +1,41 @@ | ||
| # Codes HTTP supplémentaires | ||
| # Codes de statut supplémentaires { #additional-status-codes } | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "codes HTTP" is straight enough. New update wasn't specifically needed, both work. |
||
|
|
||
| Par défaut, **FastAPI** renverra les réponses à l'aide d'une structure de données `JSONResponse`, en plaçant la réponse de votre *chemin d'accÚs* à l'intérieur de cette `JSONResponse`. | ||
| Par défaut, **FastAPI** renverra les réponses en utilisant une `JSONResponse`, en plaçant le contenu que vous renvoyez depuis votre *chemin d'accÚs* à l'intérieur de cette `JSONResponse`. | ||
|
|
||
| Il utilisera le code HTTP par défaut ou celui que vous avez défini dans votre *chemin d'accÚs*. | ||
| Il utilisera le code de statut par défaut ou celui que vous définissez dans votre *chemin d'accÚs*. | ||
|
|
||
| ## Codes HTTP supplémentaires | ||
| ## Codes de statut supplémentaires { #additional-status-codes_1 } | ||
|
|
||
| Si vous souhaitez renvoyer des codes HTTP supplémentaires en plus du code principal, vous pouvez le faire en renvoyant directement une `Response`, comme une `JSONResponse`, et en définissant directement le code HTTP supplémentaire. | ||
| Si vous souhaitez renvoyer des codes de statut supplémentaires en plus du code principal, vous pouvez le faire en renvoyant directement une `Response`, comme une `JSONResponse`, et en définissant directement le code de statut supplémentaire. | ||
|
|
||
| Par exemple, disons que vous voulez avoir un *chemin d'accÚs* qui permet de mettre à jour les éléments et renvoie les codes HTTP 200 "OK" en cas de succÚs. | ||
| Par exemple, disons que vous voulez avoir un *chemin d'accÚs* qui permet de mettre à jour des éléments et renvoie des codes de statut HTTP 200 « OK » en cas de succÚs. | ||
|
|
||
| Mais vous voulez aussi qu'il accepte de nouveaux éléments. Et lorsque les éléments n'existaient pas auparavant, il les crée et renvoie un code HTTP de 201 "Créé". | ||
| Mais vous voulez aussi qu'il accepte de nouveaux éléments. Et lorsque les éléments n'existaient pas auparavant, il les crée et renvoie un code de statut HTTP de 201 « Created ». | ||
|
|
||
| Pour y parvenir, importez `JSONResponse` et renvoyez-y directement votre contenu, en définissant le `status_code` que vous souhaitez : | ||
| Pour y parvenir, importez `JSONResponse` et renvoyez-y directement votre contenu, en définissant le `status_code` que vous voulez : | ||
|
|
||
| {* ../../docs_src/additional_status_codes/tutorial001.py hl[4,25] *} | ||
| {* ../../docs_src/additional_status_codes/tutorial001_an_py310.py hl[4,25] *} | ||
|
|
||
| /// warning | Attention | ||
| /// warning | Alertes | ||
|
|
||
| Lorsque vous renvoyez une `Response` directement, comme dans l'exemple ci-dessus, elle sera renvoyée directement. | ||
|
|
||
| Elle ne sera pas sérialisée avec un modÚle. | ||
| Elle ne sera pas sérialisée avec un modÚle, etc. | ||
|
|
||
| Assurez-vous qu'il contient les données souhaitées et que les valeurs soient dans un format JSON valides (si vous utilisez une `JSONResponse`). | ||
| Vous devez vous assurer qu'elle contient les données que vous voulez qu'elle contienne, et que les valeurs sont du JSON valide (si vous utilisez `JSONResponse`). | ||
|
|
||
| /// | ||
|
|
||
| /// note | Détails techniques | ||
|
|
||
| Vous pouvez également utiliser `from starlette.responses import JSONResponse`. | ||
|
|
||
| Pour plus de commoditĂ©s, **FastAPI** fournit les objets `starlette.responses` sous forme d'un alias accessible par `fastapi.responses`. Mais la plupart des rĂ©ponses disponibles proviennent directement de Starlette. Il en est de mĂȘme avec l'objet `statut`. | ||
| **FastAPI** fournit les mĂȘmes `starlette.responses` que `fastapi.responses` uniquement par commoditĂ© pour vous, le dĂ©veloppeur. Mais la plupart des rĂ©ponses disponibles proviennent directement de Starlette. De mĂȘme pour `status`. | ||
|
|
||
| /// | ||
|
|
||
| ##Â Documents OpenAPI et API | ||
| ## Documents OpenAPI et API { #openapi-and-api-docs } | ||
|
|
||
| Si vous renvoyez directement des codes HTTP et des réponses supplémentaires, ils ne seront pas inclus dans le schéma OpenAPI (la documentation de l'API), car FastAPI n'a aucun moyen de savoir à l'avance ce que vous allez renvoyer. | ||
| Si vous renvoyez directement des codes de statut et des réponses supplémentaires, ils ne seront pas inclus dans le schéma OpenAPI (les documents de l'API), car FastAPI n'a aucun moyen de savoir à l'avance ce que vous allez renvoyer. | ||
|
|
||
| Mais vous pouvez documenter cela dans votre code, en utilisant : [Réponses supplémentaires dans OpenAPI](additional-responses.md){.internal-link target=_blank}. | ||
| Mais vous pouvez documenter cela dans votre code, en utilisant : [Réponses supplémentaires](additional-responses.md){.internal-link target=_blank}. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,27 +1,21 @@ | ||
| # Guide de l'utilisateur avancé | ||
| # Guide de l'utilisateur avancé { #advanced-user-guide } | ||
|
|
||
| ## Caractéristiques supplémentaires | ||
| ## Caractéristiques supplémentaires { #additional-features } | ||
|
|
||
| Le [Tutoriel - Guide de l'utilisateur](../tutorial/index.md){.internal-link target=_blank} devrait suffire à vous faire découvrir toutes les fonctionnalités principales de **FastAPI**. | ||
|
|
||
| Dans les sections suivantes, vous verrez des options, configurations et fonctionnalités supplémentaires. | ||
|
|
||
| /// note | Remarque | ||
| /// tip | Astuce | ||
|
|
||
| Les sections de ce chapitre ne sont **pas nécessairement "avancées"**. | ||
| Les sections suivantes ne sont **pas nécessairement « avancées »**. | ||
|
|
||
| Et il est possible que pour votre cas d'utilisation, la solution se trouve dans l'un d'entre eux. | ||
| Et il est possible que, pour votre cas d'utilisation, la solution se trouve dans l'une d'entre elles. | ||
|
|
||
| /// | ||
|
|
||
| ## Lisez d'abord le didacticiel | ||
| ## Lisez d'abord le didacticiel { #read-the-tutorial-first } | ||
|
|
||
| Vous pouvez utiliser la plupart des fonctionnalités de **FastAPI** grùce aux connaissances du [Tutoriel - Guide de l'utilisateur](../tutorial/index.md){.internal-link target=_blank}. | ||
| Vous pouvez toujours utiliser la plupart des fonctionnalités de **FastAPI** avec les connaissances du [Tutoriel - Guide de l'utilisateur](../tutorial/index.md){.internal-link target=_blank}. | ||
|
|
||
| Et les sections suivantes supposent que vous l'avez lu et que vous en connaissez les idées principales. | ||
|
|
||
| ## Cours TestDriven.io | ||
|
|
||
| Si vous souhaitez suivre un cours pour débutants avancés pour compléter cette section de la documentation, vous pouvez consulter : <a href="https://testdrive.io/courses/tdd-fastapi/" class="external- link" target="_blank">Développement piloté par les tests avec FastAPI et Docker</a> par **TestDriven.io**. | ||
|
|
||
| 10 % de tous les bĂ©nĂ©fices de ce cours sont reversĂ©s au dĂ©veloppement de **FastAPI**. đ đ | ||
| Et les sections suivantes supposent que vous l'avez déjà lu, et supposent que vous connaissez ces idées principales. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"codes HTTP" is straight enough. New update wasn't specifically needed, both work.