]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Update translations for fr (update-outdated) (#15761)
authorSebastiĂĄn RamĂ­rez <tiangolo@gmail.com>
Mon, 15 Jun 2026 22:10:59 +0000 (00:10 +0200)
committerGitHub <noreply@github.com>
Mon, 15 Jun 2026 22:10:59 +0000 (00:10 +0200)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
54 files changed:
docs/fr/docs/advanced/additional-responses.md
docs/fr/docs/advanced/advanced-dependencies.md
docs/fr/docs/advanced/custom-response.md
docs/fr/docs/advanced/dataclasses.md
docs/fr/docs/advanced/events.md
docs/fr/docs/advanced/generate-clients.md
docs/fr/docs/advanced/openapi-callbacks.md
docs/fr/docs/advanced/openapi-webhooks.md
docs/fr/docs/advanced/path-operation-advanced-configuration.md
docs/fr/docs/advanced/response-directly.md
docs/fr/docs/advanced/security/oauth2-scopes.md
docs/fr/docs/advanced/stream-data.md
docs/fr/docs/advanced/strict-content-type.md
docs/fr/docs/advanced/websockets.md
docs/fr/docs/advanced/wsgi.md
docs/fr/docs/deployment/docker.md
docs/fr/docs/deployment/fastapicloud.md
docs/fr/docs/deployment/manually.md
docs/fr/docs/deployment/server-workers.md
docs/fr/docs/how-to/extending-openapi.md
docs/fr/docs/how-to/separate-openapi-schemas.md
docs/fr/docs/index.md
docs/fr/docs/tutorial/bigger-applications.md
docs/fr/docs/tutorial/body-multiple-params.md
docs/fr/docs/tutorial/body-nested-models.md
docs/fr/docs/tutorial/body.md
docs/fr/docs/tutorial/cookie-param-models.md
docs/fr/docs/tutorial/cookie-params.md
docs/fr/docs/tutorial/debugging.md
docs/fr/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
docs/fr/docs/tutorial/dependencies/dependencies-with-yield.md
docs/fr/docs/tutorial/dependencies/index.md
docs/fr/docs/tutorial/dependencies/sub-dependencies.md
docs/fr/docs/tutorial/first-steps.md
docs/fr/docs/tutorial/metadata.md
docs/fr/docs/tutorial/path-operation-configuration.md
docs/fr/docs/tutorial/path-params-numeric-validations.md
docs/fr/docs/tutorial/path-params.md
docs/fr/docs/tutorial/query-params-str-validations.md
docs/fr/docs/tutorial/query-params.md
docs/fr/docs/tutorial/request-files.md
docs/fr/docs/tutorial/request-form-models.md
docs/fr/docs/tutorial/request-forms-and-files.md
docs/fr/docs/tutorial/request-forms.md
docs/fr/docs/tutorial/response-model.md
docs/fr/docs/tutorial/response-status-code.md
docs/fr/docs/tutorial/schema-extra-example.md
docs/fr/docs/tutorial/security/first-steps.md
docs/fr/docs/tutorial/security/get-current-user.md
docs/fr/docs/tutorial/security/oauth2-jwt.md
docs/fr/docs/tutorial/security/simple-oauth2.md
docs/fr/docs/tutorial/server-sent-events.md
docs/fr/docs/tutorial/stream-json-lines.md
docs/fr/docs/tutorial/testing.md

index e7b684e36c4f816563fa5f1fc73e433aec29023b..bcf562f30cc603e40b84a845639e50bbffb2500a 100644 (file)
@@ -34,7 +34,7 @@ Gardez Ă  l'esprit que vous devez renvoyer directement `JSONResponse`.
 
 ///
 
-/// info
+/// note | Remarque
 
 La clĂ© `model` ne fait pas partie d'OpenAPI.
 
@@ -183,7 +183,7 @@ Notez que vous devez retourner l'image en utilisant directement un `FileResponse
 
 ///
 
-/// info
+/// note | Remarque
 
 Ă€ moins que vous ne spĂ©cifiiez explicitement un type de mĂ©dia diffĂ©rent dans votre paramĂštre `responses`, FastAPI supposera que la rĂ©ponse a le mĂȘme type de mĂ©dia que la classe de rĂ©ponse principale (par dĂ©faut `application/json`).
 
index d5066ca25ab1d4baa306a6e118cf0b9837b69e5b..4ff72581c5cf23ed67e5a092fac562f2804355fb 100644 (file)
@@ -78,7 +78,7 @@ Les dĂ©pendances avec `yield` ont Ă©voluĂ© au fil du temps pour couvrir diffĂ©re
 
 ### DĂ©pendances avec `yield` et `scope` { #dependencies-with-yield-and-scope }
 
-Dans la version 0.121.0, **FastAPI** a ajoutĂ© la prise en charge de `Depends(scope="function")` pour les dĂ©pendances avec `yield`.
+Dans la version 0.121.0, FastAPI a ajoutĂ© la prise en charge de `Depends(scope="function")` pour les dĂ©pendances avec `yield`.
 
 Avec `Depends(scope="function")`, le code d’arrĂȘt aprĂšs `yield` s’exĂ©cute immĂ©diatement aprĂšs la fin de la *fonction de chemin d'accĂšs*, avant que la rĂ©ponse ne soit renvoyĂ©e au client.
 
@@ -98,7 +98,7 @@ Par exemple, si vous aviez une session de base de donnĂ©es dans une dĂ©pendance
 
 Ce comportement a Ă©tĂ© annulĂ© en 0.118.0, afin que le code d’arrĂȘt aprĂšs `yield` s’exĂ©cute aprĂšs l’envoi de la rĂ©ponse.
 
-/// info
+/// note | Remarque
 
 Comme vous le verrez ci‑dessous, c’est trĂšs similaire au comportement avant la version 0.106.0, mais avec plusieurs amĂ©liorations et corrections de bogues pour des cas limites.
 
index a1a60ebf64777f57b5dcf04056261682ab3b2d26..8fd2e627f9e5e12ad1edc1a7237b2b3ccb66b323 100644 (file)
@@ -41,7 +41,7 @@ Pour renvoyer une rĂ©ponse avec du HTML directement depuis **FastAPI**, utilisez
 
 {* ../../docs_src/custom_response/tutorial002_py310.py hl[2,7] *}
 
-/// info
+/// note | Remarque
 
 Le paramĂštre `response_class` sera aussi utilisĂ© pour dĂ©finir le Â« media type Â» de la rĂ©ponse.
 
@@ -65,7 +65,7 @@ Une `Response` renvoyĂ©e directement par votre *fonction de chemin d'accĂšs* ne
 
 ///
 
-/// info
+/// note | Remarque
 
 Bien sĂ»r, l'en-tĂȘte `Content-Type` rĂ©el, le code d'Ă©tat, etc., proviendront de l'objet `Response` que vous avez renvoyĂ©.
 
index b63a995d9f67e5f7021109c0acf3cc457ae4ed7a..057e49df28aaa288b4ff1b4805470d74575d466b 100644 (file)
@@ -18,7 +18,7 @@ Et bien sĂ»r, cela prend en charge la mĂȘme chose :
 
 Cela fonctionne de la mĂȘme maniĂšre qu'avec les modĂšles Pydantic. Et, en rĂ©alitĂ©, c'est mis en Ć“uvre de la mĂȘme façon en interne, en utilisant Pydantic.
 
-/// info
+/// note | Remarque
 
 Gardez Ă  l'esprit que les dataclasses ne peuvent pas tout ce que peuvent faire les modĂšles Pydantic.
 
index c585dd563c6c8473e56595857d7b8e8365209b08..5b90c7b2e8f8f812a605023d9014f277edf5793f 100644 (file)
@@ -120,7 +120,7 @@ Pour ajouter une fonction qui doit ĂȘtre exĂ©cutĂ©e lorsque l'application s'arr
 
 Ici, la fonction gestionnaire de l'Ă©vĂ©nement `shutdown` Ă©crira une ligne de texte Â« Application shutdown Â» dans un fichier `log.txt`.
 
-/// info
+/// note | Remarque
 
 Dans la fonction `open()`, le `mode="a"` signifie Â« append Â» (ajouter) ; la ligne sera donc ajoutĂ©e aprĂšs ce qui se trouve dĂ©jĂ  dans ce fichier, sans Ă©craser le contenu prĂ©cĂ©dent.
 
@@ -152,7 +152,7 @@ Juste un dĂ©tail technique pour les nerds curieux. đŸ€“
 
 Sous le capot, dans la spĂ©cification technique ASGI, cela fait partie du [protocole Lifespan](https://asgi.readthedocs.io/en/latest/specs/lifespan.html), et il y dĂ©finit des Ă©vĂ©nements appelĂ©s `startup` et `shutdown`.
 
-/// info
+/// note | Remarque
 
 Vous pouvez en lire plus sur les gestionnaires `lifespan` de Starlette dans la [documentation Â« Lifespan Â» de Starlette](https://www.starlette.dev/lifespan/).
 
index 69402aefe47a8152a48f0c8bc4e686cabe8d4e9f..5625b0648b147a8302bcf6c4c27ab021a1bb7a99 100644 (file)
@@ -1,4 +1,4 @@
-# GĂ©nĂ©rer des SDK { #generating-sdks }
+# GĂ©nĂ©rer des SDKs { #generating-sdks }
 
 Parce que **FastAPI** est basĂ© sur la spĂ©cification **OpenAPI**, ses API peuvent ĂȘtre dĂ©crites dans un format standard compris par de nombreux outils.
 
@@ -31,7 +31,6 @@ Leur sponsoring dĂ©montre Ă©galement un fort engagement envers la **communautĂ©*
 Par exemple, vous pourriez essayer :
 
 * [Stainless](https://www.stainless.com/?utm_source=fastapi&utm_medium=referral)
-* [liblab](https://developers.liblab.com/tutorials/sdk-for-fastapi?utm_source=fastapi)
 
 Certaines de ces solutions peuvent aussi ĂȘtre open source ou proposer des niveaux gratuits, afin que vous puissiez les essayer sans engagement financier. D’autres gĂ©nĂ©rateurs de SDK commerciaux existent et peuvent ĂȘtre trouvĂ©s en ligne. đŸ€“
 
index 369a638c8ffca72b9a2ba22918e7af5e7f6a0b5f..e21254bc1001684f664df1dd600b09f9e637c360 100644 (file)
@@ -167,13 +167,13 @@ Remarquez que l’URL de callback utilisĂ©e contient l’URL reçue en paramĂštr
 
 Ă€ ce stade, vous avez le(s) *chemin(s) d'accĂšs de callback* nĂ©cessaire(s) (celui/ceux que la *personne dĂ©veloppeuse externe* doit implĂ©menter dans l’*API externe*) dans le routeur de callback que vous avez créé ci-dessus.
 
-Utilisez maintenant le paramĂštre `callbacks` dans *le dĂ©corateur de chemin d'accĂšs de votre API* pour passer l’attribut `.routes` (qui est en fait juste une `list` de routes/*chemins d'accĂšs*) depuis ce routeur de callback :
+Utilisez maintenant le paramĂštre `callbacks` dans *le dĂ©corateur de chemin d'accĂšs de votre API* pour passer l’attribut `.routes` depuis ce routeur de callback :
 
 {* ../../docs_src/openapi_callbacks/tutorial001_py310.py hl[33] *}
 
 /// tip | Astuce
 
-Remarquez que vous ne passez pas le routeur lui-mĂȘme (`invoices_callback_router`) Ă  `callback=`, mais l’attribut `.routes`, comme dans `invoices_callback_router.routes`.
+Remarquez que vous ne passez pas le routeur lui-mĂȘme (`invoices_callback_router`) Ă  `callbacks=`, mais son attribut `.routes`, comme dans `invoices_callback_router.routes`. FastAPI utilisera ces routes pour gĂ©nĂ©rer la documentation OpenAPI du callback.
 
 ///
 
index c36c2f82bacf9c2c96d773c0c18baf2c4a74f231..72245506363f834cd33047715df6c438b9058215 100644 (file)
@@ -16,13 +16,13 @@ Et vos utilisateurs dĂ©finissent aussi, d'une maniĂšre ou d'une autre (par exemp
 
 Toute la logique de gestion des URL des webhooks et le code qui envoie effectivement ces requĂȘtes vous incombent. Vous l'implĂ©mentez comme vous le souhaitez dans votre propre code.
 
-## Documenter des webhooks avec FastAPI et OpenAPI { #documenting-webhooks-with-fastapi-and-openapi }
+## Documenter des webhooks avec **FastAPI** et OpenAPI { #documenting-webhooks-with-fastapi-and-openapi }
 
-Avec FastAPI, en utilisant OpenAPI, vous pouvez dĂ©finir les noms de ces webhooks, les types d'opĂ©rations HTTP que votre application peut envoyer (par exemple `POST`, `PUT`, etc.) et les corps des requĂȘtes que votre application enverra.
+Avec **FastAPI**, en utilisant OpenAPI, vous pouvez dĂ©finir les noms de ces webhooks, les types d'opĂ©rations HTTP que votre application peut envoyer (par exemple `POST`, `PUT`, etc.) et les **corps** des requĂȘtes que votre application enverra.
 
-Cela peut grandement faciliter la tĂąche de vos utilisateurs pour implĂ©menter leurs API afin de recevoir vos requĂȘtes de webhook ; ils pourront mĂȘme peut-ĂȘtre gĂ©nĂ©rer automatiquement une partie de leur propre code d'API.
+Cela peut grandement faciliter la tĂąche de vos utilisateurs pour **implĂ©menter leurs API** afin de recevoir vos requĂȘtes de **webhook** ; ils pourront mĂȘme peut-ĂȘtre gĂ©nĂ©rer automatiquement une partie de leur propre code d'API.
 
-/// info
+/// note | Remarque
 
 Les webhooks sont disponibles dans OpenAPI 3.1.0 et versions ultĂ©rieures, pris en charge par FastAPI `0.99.0` et versions ultĂ©rieures.
 
@@ -30,13 +30,13 @@ Les webhooks sont disponibles dans OpenAPI 3.1.0 et versions ultĂ©rieures, pris
 
 ## CrĂ©er une application avec des webhooks { #an-app-with-webhooks }
 
-Lorsque vous crĂ©ez une application FastAPI, il existe un attribut `webhooks` que vous pouvez utiliser pour dĂ©finir des webhooks, de la mĂȘme maniĂšre que vous dĂ©finiriez des chemins d'accĂšs, par exemple avec `@app.webhooks.post()`.
+Lorsque vous crĂ©ez une application **FastAPI**, il existe un attribut `webhooks` que vous pouvez utiliser pour dĂ©finir des webhooks, de la mĂȘme maniĂšre que vous dĂ©finiriez des chemins d'accĂšs, par exemple avec `@app.webhooks.post()`.
 
 {* ../../docs_src/openapi_webhooks/tutorial001_py310.py hl[9:12,15:20] *}
 
-Les webhooks que vous dĂ©finissez apparaĂźtront dans le schĂ©ma OpenAPI et dans l'interface de documentation automatique.
+Les webhooks que vous dĂ©finissez apparaĂźtront dans le schĂ©ma **OpenAPI** et dans l'**interface de documentation** automatique.
 
-/// info
+/// note | Remarque
 
 L'objet `app.webhooks` est en fait simplement un `APIRouter`, le mĂȘme type que vous utiliseriez pour structurer votre application en plusieurs fichiers.
 
@@ -50,6 +50,6 @@ C'est parce qu'on s'attend Ă  ce que vos utilisateurs dĂ©finissent, par un autre
 
 Vous pouvez maintenant dĂ©marrer votre application et aller sur [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs).
 
-Vous verrez que votre documentation contient les chemins d'accĂšs habituels et dĂ©sormais aussi des webhooks :
+Vous verrez que votre documentation contient les *chemins d'accĂšs* habituels et dĂ©sormais aussi des **webhooks** :
 
 <img src="/img/tutorial/openapi-webhooks/image01.png">
index 67a5d46d418937d0c718153e7f23cdb18ebf1ef5..0c56a1406bbbc9993a11e9b7028f1a9608b535f5 100644 (file)
@@ -16,17 +16,11 @@ Vous devez vous assurer qu’il est unique pour chaque opĂ©ration.
 
 ### Utiliser le nom de la fonction de chemin d’accĂšs comme operationId { #using-the-path-operation-function-name-as-the-operationid }
 
-Si vous souhaitez utiliser les noms de fonction de vos API comme `operationId`, vous pouvez les parcourir tous et remplacer l’`operation_id` de chaque chemin d’accĂšs en utilisant leur `APIRoute.name`.
+Si vous souhaitez utiliser les noms de fonction de vos API comme `operationId`, vous pouvez passer une fonction personnalisĂ©e `generate_unique_id_function` Ă  `FastAPI`.
 
-Vous devez le faire aprĂšs avoir ajoutĂ© tous vos chemins d’accĂšs.
+Cette fonction reçoit chaque `APIRoute` et renvoie l’`operationId` Ă  utiliser pour ce chemin d’accĂšs.
 
-{* ../../docs_src/path_operation_advanced_configuration/tutorial002_py310.py hl[2, 12:21, 24] *}
-
-/// tip | Astuce
-
-Si vous appelez manuellement `app.openapi()`, vous devez mettre Ă  jour les `operationId` avant cela.
-
-///
+{* ../../docs_src/path_operation_advanced_configuration/tutorial002_py310.py hl[2,5:6,9] *}
 
 /// warning | Alertes
 
index 5ef479584ead2ed6fea4fedbd302722602e01b85..3c3827d664621d7b8936232aa16256b473933413 100644 (file)
@@ -18,7 +18,7 @@ Vous aurez normalement une bien meilleure performance en utilisant un [ModĂšle d
 
 Vous pouvez renvoyer une `Response` ou n'importe laquelle de ses sous-classes.
 
-/// info
+/// note | Remarque
 
 `JSONResponse` est elle-mĂȘme une sous-classe de `Response`.
 
index f27b95b4b7fbd3d7599ead912c6683904ef26d23..af63ce55318dc754be78343f3c6e75fb6edea7bc 100644 (file)
@@ -46,7 +46,7 @@ Ils sont gĂ©nĂ©ralement utilisĂ©s pour dĂ©clarer des permissions de sĂ©curitĂ© s
 * `instagram_basic` est utilisĂ© par Facebook / Instagram.
 * `https://www.googleapis.com/auth/drive` est utilisĂ© par Google.
 
-/// info
+/// note | Remarque
 
 Dans OAuth2, un Â« scope Â» est simplement une chaĂźne qui dĂ©clare une permission spĂ©cifique requise.
 
@@ -126,7 +126,7 @@ Nous le faisons ici pour montrer comment **FastAPI** gĂšre des scopes dĂ©clarĂ©s
 
 {* ../../docs_src/security/tutorial005_an_py310.py hl[5,141,172] *}
 
-/// info | DĂ©tails techniques
+/// note | DĂ©tails techniques
 
 `Security` est en rĂ©alitĂ© une sous-classe de `Depends`, et elle n’a qu’un paramĂštre supplĂ©mentaire que nous verrons plus tard.
 
index 3b22910a1b917715e005d7f1a74d8715d8fc932f..e4939f2563c1bf08d759e01b7e5e7616155bd11c 100644 (file)
@@ -4,7 +4,7 @@ Si vous voulez diffuser des donnĂ©es pouvant ĂȘtre structurĂ©es en JSON, vous de
 
 Mais si vous voulez diffuser des donnĂ©es binaires pures ou des chaĂźnes, voici comment procĂ©der.
 
-/// info
+/// note | Remarque
 
 AjoutĂ© dans FastAPI 0.134.0.
 
@@ -90,7 +90,7 @@ Par exemple, ils n'ont pas de `await file.read()`, ni de `async for chunk in fil
 
 Et dans de nombreux cas, leur lecture serait une opĂ©ration bloquante (pouvant bloquer la boucle d'Ă©vĂ©nements), car ils sont lus depuis le disque ou le rĂ©seau.
 
-/// info
+/// note | Remarque
 
 L'exemple ci-dessus est en rĂ©alitĂ© une exception, car l'objet `io.BytesIO` est dĂ©jĂ  en mĂ©moire ; sa lecture ne bloquera donc rien.
 
index d5c749e9dfc7d35e49aca3c1fd66c19ab3fbdcfd..bd4ba3b80d59a09382cd010630d6625fbaf3463d 100644 (file)
@@ -81,7 +81,7 @@ Si vous devez prendre en charge des clients qui n’envoient pas d’en-tĂȘte `C
 
 Avec ce paramĂštre, les requĂȘtes sans en-tĂȘte `Content-Type` verront leur corps analysĂ© comme JSON, ce qui correspond au comportement des anciennes versions de FastAPI.
 
-/// info
+/// note | Remarque
 
 Ce comportement et cette configuration ont Ă©tĂ© ajoutĂ©s dans FastAPI 0.132.0.
 
index 737bbc72e3bd6a57b467e856eb0583b60084d5b6..b544c6d0659f5506457b79fb47a7f0ef66b8a2f6 100644 (file)
@@ -111,7 +111,7 @@ Ils fonctionnent de la mĂȘme maniĂšre que pour les autres endpoints/*chemins d'a
 
 {* ../../docs_src/websockets_/tutorial002_an_py310.py hl[68:69,82] *}
 
-/// info
+/// note | Remarque
 
 Comme il s'agit d'un WebSocket, il n'est pas vraiment logique de lever une `HTTPException`, nous levons plutĂŽt une `WebSocketException`.
 
index fe39729f7f4053fd8147e76360d53ca0d35b6000..a1e56a45d6fe6de4caaa602661e7d47896a48375 100644 (file)
@@ -6,7 +6,7 @@ Pour cela, vous pouvez utiliser `WSGIMiddleware` et l'utiliser pour envelopper v
 
 ## Utiliser `WSGIMiddleware` { #using-wsgimiddleware }
 
-/// info
+/// note | Remarque
 
 Cela nĂ©cessite l'installation de `a2wsgi`, par exemple avec `pip install a2wsgi`.
 
index 1567e1d582ac265f79c3944c936c5f3b28233b17..5184d51df6437cce62a24f7768e9e2b921555257 100644 (file)
@@ -132,7 +132,7 @@ Successfully installed fastapi pydantic
 
 </div>
 
-/// info
+/// note | Remarque
 
 Il existe d'autres formats et outils pour dĂ©finir et installer des dĂ©pendances de paquets.
 
@@ -556,7 +556,7 @@ Si vous utilisez des conteneurs (par ex. Docker, Kubernetes), alors il existe de
 
 Si vous avez **plusieurs conteneurs**, probablement chacun exĂ©cutant un **seul processus** (par exemple, dans un cluster **Kubernetes**), alors vous voudrez probablement avoir un **conteneur sĂ©parĂ©** effectuant le travail des **Ă©tapes prĂ©alables** dans un seul conteneur, exĂ©cutant un seul processus, **avant** d'exĂ©cuter les conteneurs worker rĂ©pliquĂ©s.
 
-/// info
+/// note | Remarque
 
 Si vous utilisez Kubernetes, ce sera probablement un [Init Container](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/).
 
index 836e9148937ab8b022e326f67f59fcb05e0a4a05..82c16330e74313acac61868ae1f9d17c028c7704 100644 (file)
@@ -1,26 +1,6 @@
 # FastAPI Cloud { #fastapi-cloud }
 
-Vous pouvez dĂ©ployer votre application FastAPI sur [FastAPI Cloud](https://fastapicloud.com) avec une **seule commande**, allez vous inscrire sur la liste d’attente si ce n’est pas dĂ©jĂ  fait. đŸš€
-
-## Se connecter { #login }
-
-Vous devez vous assurer que vous avez dĂ©jĂ  un compte **FastAPI Cloud** (nous vous avons invitĂ© depuis la liste d’attente đŸ˜‰).
-
-Connectez-vous ensuite :
-
-<div class="termy">
-
-```console
-$ fastapi login
-
-You are logged in to FastAPI Cloud đŸš€
-```
-
-</div>
-
-## DĂ©ployer { #deploy }
-
-DĂ©ployez maintenant votre application, avec une **seule commande** :
+Vous pouvez dĂ©ployer votre application FastAPI sur [FastAPI Cloud](https://fastapicloud.com) avec une **seule commande**. đŸš€
 
 <div class="termy">
 
@@ -36,6 +16,8 @@ Deploying to FastAPI Cloud...
 
 </div>
 
+La CLI dĂ©tecte automatiquement votre application FastAPI et la dĂ©ploie dans le cloud. Si vous n’ĂȘtes pas connectĂ©, votre navigateur s’ouvrira pour terminer le processus d’authentification.
+
 C’est tout ! Vous pouvez maintenant accĂ©der Ă  votre application Ă  cette URL. âœš
 
 ## Ă€ propos de FastAPI Cloud { #about-fastapi-cloud }
@@ -62,4 +44,4 @@ Suivez les guides de votre fournisseur cloud pour dĂ©ployer des applications Fas
 
 ## DĂ©ployer votre propre serveur { #deploy-your-own-server }
 
-Je vous expliquerai Ă©galement plus loin dans ce guide de **DĂ©ploiement** tous les dĂ©tails, afin que vous compreniez ce qui se passe, ce qui doit ĂȘtre fait, et comment dĂ©ployer des applications FastAPI par vous-mĂȘme, y compris sur vos propres serveurs. đŸ€“
+Je vous expliquerai Ă©galement plus loin dans ce guide de **DĂ©ploiement** tous les dĂ©tails, afin que vous compreniez ce qui se passe, ce qui doit ĂȘtre fait, ou comment dĂ©ployer des applications FastAPI par vous-mĂȘme, y compris sur vos propres serveurs. đŸ€“
index 4b87df9935dedcc264688c5f18e3b524aefb53b3..90dd31d854ef2dd16f7097720dec7ff27ef7432b 100644 (file)
@@ -56,7 +56,6 @@ Il existe plusieurs alternatives, notamment :
 * [Hypercorn](https://hypercorn.readthedocs.io/) : un serveur ASGI compatible avec HTTP/2 et Trio entre autres fonctionnalitĂ©s.
 * [Daphne](https://github.com/django/daphne) : le serveur ASGI conçu pour Django Channels.
 * [Granian](https://github.com/emmett-framework/granian) : un serveur HTTP Rust pour les applications Python.
-* [NGINX Unit](https://unit.nginx.org/howto/fastapi/) : NGINX Unit est un environnement d'exĂ©cution d'applications web lĂ©ger et polyvalent.
 
 ## Machine serveur et programme serveur { #server-machine-and-server-program }
 
index c0eca2dccbcf000ea991f8187d0aa7d951bbe613..4271621c89c9e91fc9fadd92b4a2631f87f32f53 100644 (file)
@@ -17,7 +17,7 @@ Comme vous l'avez vu dans le chapitre prĂ©cĂ©dent sur les [Concepts de dĂ©ploiem
 
 Ici, je vais vous montrer comment utiliser Uvicorn avec des processus workers en utilisant la commande `fastapi` ou directement la commande `uvicorn`.
 
-/// info | Info
+/// note | Remarque
 
 Si vous utilisez des conteneurs, par exemple avec Docker ou Kubernetes, je vous en dirai plus Ă  ce sujet dans le prochain chapitre : [FastAPI dans des conteneurs - Docker](docker.md).
 
index bdf4eeba93f19a73e032bdae262618377a15ea34..dab3e5868812beb8f103940dbbcff28ef6e7e9b6 100644 (file)
@@ -25,9 +25,17 @@ Et cette fonction `get_openapi()` reçoit comme paramĂštres :
 * `openapi_version` : La version de la spĂ©cification OpenAPI utilisĂ©e. Par dĂ©faut, la plus rĂ©cente : `3.1.0`.
 * `summary` : Un court rĂ©sumĂ© de l'API.
 * `description` : La description de votre API ; elle peut inclure du markdown et sera affichĂ©e dans la documentation.
-* `routes` : Une liste de routes ; chacune correspond Ă  un *chemin d'accĂšs* enregistrĂ©. Elles sont extraites de `app.routes`.
+* `routes` : Les routes de l'application, extraites de `app.routes`. FastAPI les utilise pour collecter les *chemins d'accĂšs* enregistrĂ©s, y compris ceux provenant des routeurs inclus.
 
-/// info
+/// tip | DĂ©tails techniques
+
+`app.routes` est un arbre de routes de plus bas niveau. Il peut inclure des routes candidates que FastAPI utilise en interne pour les routeurs inclus, et pas uniquement des objets `APIRoute` finaux.
+
+Vous pouvez nĂ©anmoins passer `app.routes` Ă  `get_openapi()`. FastAPI parcourra cet arbre de routes pour collecter les chemins d'accĂšs effectifs.
+
+///
+
+/// note | Remarque
 
 Le paramĂštre `summary` est disponible Ă  partir d'OpenAPI 3.1.0, pris en charge par FastAPI 0.99.0 et versions ultĂ©rieures.
 
index fd767d7388ae67c54a74002284b3df9c626531a3..aef467ed67fddefb017c5649c8135bc765037793 100644 (file)
@@ -85,7 +85,7 @@ Le cas d'usage principal est probablement que vous avez dĂ©jĂ  du code client/SD
 
 Dans ce cas, vous pouvez dĂ©sactiver cette fonctionnalitĂ© dans **FastAPI**, avec le paramĂštre `separate_input_output_schemas=False`.
 
-/// info | info
+/// note | Remarque
 
 La prise en charge de `separate_input_output_schemas` a Ă©tĂ© ajoutĂ©e dans FastAPI `0.102.0`. đŸ€“
 
index 4c5bea3e4c37a9c6badcb1cb933d510b70e08a78..3cfcdfd291bf7586c82f1134f5390d128d954700 100644 (file)
@@ -143,7 +143,7 @@ Les principales fonctionnalitĂ©s sont :
 
 ---
 
-« _Si quelqu’un cherche Ă  construire une API Python de production, je recommande vivement **FastAPI**. Il est **magnifiquement conçu**, **simple Ă  utiliser** et **hautement scalable** â€” il est devenu un **composant clĂ©** de notre stratĂ©gie de dĂ©veloppement API-first._ Â»
+« _Si quelqu’un cherche Ă  construire une API Python de production, je recommande vivement **FastAPI**. Il est **magnifiquement conçu**, **simple Ă  utiliser** et **hautement scalable**, il est devenu un **composant clĂ©** de notre stratĂ©gie de dĂ©veloppement API-first et alimente de nombreuses automatisations et services tels que notre Virtual TAC Engineer._ Â»
 
 <div style="text-align: right; margin-right: 10%;">Deon Pillsbury - <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/"><small>(ref)</small></a></div>
 
@@ -492,9 +492,7 @@ Pour un exemple plus complet comprenant plus de fonctionnalitĂ©s, voir le <a hre
 
 ### DĂ©ployer votre application (optionnel) { #deploy-your-app-optional }
 
-Vous pouvez, si vous le souhaitez, dĂ©ployer votre application FastAPI sur [FastAPI Cloud](https://fastapicloud.com), allez vous inscrire sur la liste d'attente si ce n'est pas dĂ©jĂ  fait. đŸš€
-
-Si vous avez dĂ©jĂ  un compte **FastAPI Cloud** (nous vous avons invitĂ© depuis la liste d'attente đŸ˜‰), vous pouvez dĂ©ployer votre application avec une seule commande.
+Vous pouvez, si vous le souhaitez, dĂ©ployer votre application FastAPI sur [FastAPI Cloud](https://fastapicloud.com) avec une seule commande. đŸš€
 
 <div class="termy">
 
@@ -510,6 +508,8 @@ Deploying to FastAPI Cloud...
 
 </div>
 
+La CLI dĂ©tectera automatiquement votre application FastAPI et la dĂ©ploiera dans le cloud. Si vous n'ĂȘtes pas connectĂ©, votre navigateur s'ouvrira pour terminer le processus d'authentification.
+
 C'est tout ! Vous pouvez maintenant accĂ©der Ă  votre application Ă  cette URL. âœš
 
 #### Ă€ propos de FastAPI Cloud { #about-fastapi-cloud }
index d5e1bb5673ce968fb4ff44a4f791db38a4acead4..0e331e13962d58f4b9eebdb911f8354891594ea9 100644 (file)
@@ -396,9 +396,9 @@ Cela inclura toutes les routes de ce routeur comme faisant partie de l'applicati
 
 /// note | DĂ©tails techniques
 
-En interne, cela crĂ©era en fait un *chemin d'accĂšs* pour chaque *chemin d'accĂšs* qui a Ă©tĂ© dĂ©clarĂ© dans le `APIRouter`.
+FastAPI conserve le `APIRouter` original et ses `APIRoute` actifs lorsque le routeur est inclus dans l'application principale.
 
-Donc, en coulisses, cela fonctionnera comme si tout faisait partie d'une seule et mĂȘme application.
+Cela signifie que des sous-classes personnalisĂ©es de `APIRouter` et `APIRoute` peuvent toujours intervenir aprĂšs l'inclusion du routeur.
 
 ///
 
@@ -406,7 +406,7 @@ Donc, en coulisses, cela fonctionnera comme si tout faisait partie d'une seule e
 
 Vous n'avez pas Ă  vous soucier de la performance lors de l'inclusion de routeurs.
 
-Cela prendra des microsecondes et ne se produira qu'au dĂ©marrage.
+C'est conçu pour ĂȘtre lĂ©ger et pour Ă©viter d'ajouter une surcharge Ă  chaque requĂȘte.
 
 Donc cela n'affectera pas la performance. âšĄ
 
@@ -461,7 +461,7 @@ Les `APIRouter` ne sont pas Â« montĂ©s Â», ils ne sont pas isolĂ©s du reste de l
 
 C'est parce que nous voulons inclure leurs *chemins d'accĂšs* dans le schĂ©ma OpenAPI et les interfaces utilisateur.
 
-Comme nous ne pouvons pas simplement les isoler et les Â« monter Â» indĂ©pendamment du reste, les *chemins d'accĂšs* sont Â« clonĂ©s Â» (recréés), pas inclus directement.
+FastAPI conserve les routeurs et chemins d'accĂšs originaux actifs, et combine les prĂ©fixes de routeur, dĂ©pendances, tags, rĂ©ponses et autres mĂ©tadonnĂ©es lors du traitement des requĂȘtes et de la gĂ©nĂ©ration d'OpenAPI.
 
 ///
 
@@ -482,7 +482,7 @@ from app.main import app
 
 De cette façon, la commande `fastapi` saura oĂč trouver votre app.
 
-/// note | Remarque
+/// Note | Remarque
 
 Vous pourriez aussi passer le chemin Ă  la commande, comme :
 
@@ -532,4 +532,16 @@ De la mĂȘme maniĂšre que vous pouvez inclure un `APIRouter` dans une application
 router.include_router(other_router)
 ```
 
-Vous devez vous assurer de le faire avant d'inclure `router` dans l'application `FastAPI`, afin que les *chemins d'accĂšs* de `other_router` soient Ă©galement inclus.
+Vous pouvez le faire avant ou aprĂšs avoir inclus `router` dans l'application `FastAPI`. FastAPI inclura quand mĂȘme les *chemins d'accĂšs* de `other_router` dans le routage et dans OpenAPI.
+
+Il en va de mĂȘme pour les *chemins d'accĂšs* ajoutĂ©s plus tard aux routeurs. Ils seront visibles via l'inclusion antĂ©rieure Ă©galement.
+
+/// warning | DĂ©tails techniques
+
+Évitez de modifier directement `router.routes` aprĂšs avoir inclus un routeur. FastAPI considĂšre l'inclusion d'un routeur comme Â« en direct Â», de sorte que le routeur original et ses routes restent utilisĂ©s pour le routage et la gĂ©nĂ©ration d'OpenAPI.
+
+Utilisez les API documentĂ©es comme les dĂ©corateurs de *chemin d'accĂšs* et `.include_router()` pour ajouter des routes et des routeurs.
+
+ConsidĂ©rez `router.routes` comme un arbre de routes de plus bas niveau pouvant contenir des dĂ©finitions de routes et des routeurs inclus, et Ă©vitez de vous y fier comme Ă  une liste plate de *chemins d'accĂšs* finaux.
+
+///
index 1c1ab0fcac56bf8105db87450154fe59c208ce98..d8d1af94f5b5222d565d1643bf844609dd7bd357 100644 (file)
@@ -108,7 +108,7 @@ Par exemple :
 
 {* ../../docs_src/body_multiple_params/tutorial004_an_py310.py hl[28] *}
 
-/// info
+/// note | Remarque
 
 `Body` possĂšde Ă©galement les mĂȘmes paramĂštres supplĂ©mentaires de validation et de mĂ©tadonnĂ©es que `Query`, `Path` et d'autres que vous verrez plus tard.
 
@@ -123,7 +123,7 @@ Par dĂ©faut, **FastAPI** attendra alors son contenu directement.
 Mais si vous voulez qu'il attende un JSON avec une clĂ© `item` contenant le contenu du modĂšle, comme lorsqu'on dĂ©clare des paramĂštres supplĂ©mentaires du corps de la requĂȘte, vous pouvez utiliser le paramĂštre spĂ©cial `embed` de `Body` :
 
 ```Python
-item: Item = Body(embed=True)
+item: Annotated[Item, Body(embed=True)]
 ```
 
 comme dans :
index 2d4064310dad99bf6ebc07fdb32e992db60452ae..014551bc7d0e2e6f9e69eb3c7736e66148749886 100644 (file)
@@ -135,7 +135,7 @@ Cela attendra (convertira, validera, documentera, etc.) un corps JSON comme :
     ]
 }
 ```
-/// info
+/// note | Remarque
 
 Remarquez que la clĂ© `images` contient maintenant une liste d'objets image.
 
@@ -147,7 +147,7 @@ Vous pouvez dĂ©finir des modĂšles imbriquĂ©s Ă  une profondeur arbitraire :
 
 {* ../../docs_src/body_nested_models/tutorial007_py310.py hl[7,12,18,21,25] *}
 
-/// info
+/// note | Remarque
 
 Remarquez que `Offer` a une liste d’`Item`, qui Ă  leur tour ont une liste optionnelle d’`Image`.
 
index 6a94667982061897fab7f710627ed866ac20d4f1..55d184259a97fa2d66932a0ff2fa25ef62ac94ef 100644 (file)
@@ -8,7 +8,7 @@ Votre API aura presque toujours Ă  envoyer un corps de **rĂ©ponse**. Mais un cli
 
 Pour dĂ©clarer un corps de **requĂȘte**, on utilise les modĂšles de [Pydantic](https://docs.pydantic.dev/) en profitant de tous leurs avantages et fonctionnalitĂ©s.
 
-/// info
+/// note | Remarque
 
 Pour envoyer de la donnĂ©e, vous devez utiliser : `POST` (le plus populaire), `PUT`, `DELETE` ou `PATCH`.
 
index c6fc2f82627c4b7febc2648beec0b483810f40ef..2b8edbab7e5e1df4ca7b645fcea10fa5b4303ff5 100644 (file)
@@ -32,7 +32,7 @@ Vous pouvez voir les cookies dĂ©finis dans l'interface de la documentation Ă  `/
 <img src="/img/tutorial/cookie-param-models/image01.png">
 </div>
 
-/// info
+/// note | Remarque
 
 Gardez Ă  l'esprit que, comme les **navigateurs gĂšrent les cookies** de maniĂšre particuliĂšre et en arriĂšre-plan, ils **n'autorisent pas** facilement **JavaScript** Ă  y accĂ©der.
 
index 8f77d35dca2e92cd517332d2d6d679617be6fa0b..1d38012197a147cc7bdcd67bbc0a9ff7a1e44fd1 100644 (file)
@@ -24,13 +24,13 @@ Mais rappelez-vous que lorsque vous importez `Query`, `Path`, `Cookie` et d'autr
 
 ///
 
-/// info
+/// note | Remarque
 
 Pour dĂ©clarer des cookies, vous devez utiliser `Cookie`, sinon les paramĂštres seraient interprĂ©tĂ©s comme des paramĂštres de requĂȘte.
 
 ///
 
-/// info
+/// note | Remarque
 
 Gardez Ă  l'esprit que, comme **les navigateurs gĂšrent les cookies** de maniĂšre particuliĂšre et en coulisses, ils **n'autorisent pas** facilement **JavaScript** Ă  y accĂ©der.
 
index 6452b43fae7cc965a2e2f26ff32ea05b371e425d..1a3e9c5090cf662faf24938c80eba3af9ce00b38 100644 (file)
@@ -72,7 +72,7 @@ Ainsi, la ligne :
 
 ne sera pas exĂ©cutĂ©e.
 
-/// info
+/// note | Remarque
 
 Pour plus d'informations, consultez [la documentation officielle de Python](https://docs.python.org/3/library/__main__.html).
 
index b32728a304bfc65b791ca590f2233aa3b36e1a81..ce3c7923e87a5afa1516b8a203fc4d095da78988 100644 (file)
@@ -28,7 +28,7 @@ Cela peut Ă©galement Ă©viter toute confusion pour les nouveaux dĂ©veloppeurs qui
 
 ///
 
-/// info | Info
+/// note | Remarque
 
 Dans cet exemple, nous utilisons des en-tĂȘtes personnalisĂ©s fictifs `X-Key` et `X-Token`.
 
index 53d4ae4cf3a352dd124f7227759d333faa5e545c..8da931d11618166f1027870818b1b4ff4c303a14 100644 (file)
@@ -170,7 +170,7 @@ participant tasks as Background tasks
     end
 ```
 
-/// info
+/// note | Remarque
 
 Une **seule rĂ©ponse** sera envoyĂ©e au client. Il peut s'agir d'une des rĂ©ponses d'erreur ou de la rĂ©ponse provenant du *chemin d'accĂšs*.
 
index 03eea57e326e75ed7009a7d3a2d703ce9ec70d9e..84b4b70b60a1a690de9df7ac61d630f3ff1d0986 100644 (file)
@@ -6,7 +6,7 @@ Il est conçu pour ĂȘtre trĂšs simple Ă  utiliser, et pour faciliter l’intĂ©gr
 
 ## Qu’est-ce que Â« l’injection de dĂ©pendances Â» { #what-is-dependency-injection }
 
-L’**« injection de dĂ©pendances Â»** signifie, en programmation, qu’il existe un moyen pour votre code (dans ce cas, vos fonctions de chemins d’accĂšs) de dĂ©clarer ce dont il a besoin pour fonctionner et utiliser : Â« dĂ©pendances Â».
+L’**« injection de dĂ©pendances Â»** signifie, en programmation, qu’il existe un moyen pour votre code (dans ce cas, vos fonctions de chemin d’accĂšs) de dĂ©clarer ce dont il a besoin pour fonctionner et utiliser : Â« dĂ©pendances Â».
 
 Ensuite, ce systĂšme (dans ce cas **FastAPI**) se charge de faire tout le nĂ©cessaire pour fournir Ă  votre code ces dĂ©pendances requises (« injecter Â» les dĂ©pendances).
 
@@ -37,7 +37,7 @@ C’est tout.
 
 **2 lignes**.
 
-Et elle a la mĂȘme forme et structure que toutes vos fonctions de chemins d’accĂšs.
+Et elle a la mĂȘme forme et structure que toutes vos fonctions de chemin d’accĂšs.
 
 Vous pouvez la considĂ©rer comme une fonction de chemin d’accĂšs sans le Â« dĂ©corateur Â» (sans le `@app.get("/some-path")`).
 
@@ -51,7 +51,7 @@ Dans ce cas, cette dĂ©pendance attend :
 
 Puis elle retourne simplement un `dict` contenant ces valeurs.
 
-/// info
+/// note | Remarque
 
 FastAPI a ajoutĂ© la prise en charge de `Annotated` (et a commencĂ© Ă  le recommander) dans la version 0.95.0.
 
@@ -79,7 +79,7 @@ Ce paramĂštre doit ĂȘtre quelque chose comme une fonction.
 
 Vous ne l’appelez pas directement (n’ajoutez pas de parenthĂšses Ă  la fin), vous le passez simplement en paramĂštre Ă  `Depends()`.
 
-Et cette fonction prend des paramĂštres de la mĂȘme maniĂšre que les fonctions de chemins d’accĂšs.
+Et cette fonction prend des paramĂštres de la mĂȘme maniĂšre que les fonctions de chemin d’accĂšs.
 
 /// tip | Astuce
 
@@ -106,7 +106,7 @@ common_parameters --> read_users
 
 De cette façon vous Ă©crivez le code partagĂ© une seule fois et **FastAPI** se charge de l’appeler pour vos chemins d’accĂšs.
 
-/// check | VĂ©rifications
+/// tip | Astuce
 
 Notez que vous n’avez pas Ă  crĂ©er une classe spĂ©ciale et Ă  la passer quelque part Ă  **FastAPI** pour l’« enregistrer Â» ou quoi que ce soit de similaire.
 
@@ -142,11 +142,11 @@ Cela sera particuliĂšrement utile lorsque vous l’utiliserez dans une **grande
 
 ## Utiliser `async` ou non { #to-async-or-not-to-async }
 
-Comme les dĂ©pendances seront aussi appelĂ©es par **FastAPI** (tout comme vos fonctions de chemins d’accĂšs), les mĂȘmes rĂšgles s’appliquent lors de la dĂ©finition de vos fonctions.
+Comme les dĂ©pendances seront aussi appelĂ©es par **FastAPI** (tout comme vos fonctions de chemin d’accĂšs), les mĂȘmes rĂšgles s’appliquent lors de la dĂ©finition de vos fonctions.
 
 Vous pouvez utiliser `async def` ou un `def` normal.
 
-Et vous pouvez dĂ©clarer des dĂ©pendances avec `async def` Ă  l’intĂ©rieur de fonctions de chemins d’accĂšs `def` normales, ou des dĂ©pendances `def` Ă  l’intĂ©rieur de fonctions de chemins d’accĂšs `async def`, etc.
+Et vous pouvez dĂ©clarer des dĂ©pendances avec `async def` Ă  l’intĂ©rieur de fonctions de chemin d’accĂšs `def` normales, ou des dĂ©pendances `def` Ă  l’intĂ©rieur de fonctions de chemin d’accĂšs `async def`, etc.
 
 Peu importe. **FastAPI** saura quoi faire.
 
@@ -166,7 +166,7 @@ Ainsi, la documentation interactive contiendra aussi toutes les informations iss
 
 ## Utilisation simple { #simple-usage }
 
-Si vous y regardez de prĂšs, les fonctions de chemins d’accĂšs sont dĂ©clarĂ©es pour ĂȘtre utilisĂ©es chaque fois qu’un Â« chemin Â» et une Â« opĂ©ration Â» correspondent, puis **FastAPI** se charge d’appeler la fonction avec les bons paramĂštres, en extrayant les donnĂ©es de la requĂȘte.
+Si vous y regardez de prĂšs, les fonctions de chemin d’accĂšs sont dĂ©clarĂ©es pour ĂȘtre utilisĂ©es chaque fois qu’un Â« chemin Â» et une Â« opĂ©ration Â» correspondent, puis **FastAPI** se charge d’appeler la fonction avec les bons paramĂštres, en extrayant les donnĂ©es de la requĂȘte.
 
 En rĂ©alitĂ©, tous (ou la plupart) des frameworks web fonctionnent de cette maniĂšre.
 
@@ -184,7 +184,7 @@ D’autres termes courants pour cette mĂȘme idĂ©e Â« d’injection de dĂ©pendanc
 
 ## Plug-ins **FastAPI** { #fastapi-plug-ins }
 
-Les intĂ©grations et Â« plug-ins Â» peuvent ĂȘtre construits en utilisant le systĂšme d’**injection de dĂ©pendances**. Mais en rĂ©alitĂ©, il n’y a **pas besoin de crĂ©er des Â« plug-ins Â»**, car en utilisant des dĂ©pendances il est possible de dĂ©clarer un nombre infini d’intĂ©grations et d’interactions qui deviennent disponibles pour vos fonctions de chemins d’accĂšs.
+Les intĂ©grations et Â« plug-ins Â» peuvent ĂȘtre construits en utilisant le systĂšme d’**injection de dĂ©pendances**. Mais en rĂ©alitĂ©, il n’y a **pas besoin de crĂ©er des Â« plug-ins Â»**, car en utilisant des dĂ©pendances il est possible de dĂ©clarer un nombre infini d’intĂ©grations et d’interactions qui deviennent disponibles pour vos fonctions de chemin d’accĂšs.
 
 Et les dĂ©pendances peuvent ĂȘtre créées de maniĂšre trĂšs simple et intuitive, ce qui vous permet d’importer juste les packages Python dont vous avez besoin, et de les intĂ©grer Ă  vos fonctions d’API en quelques lignes de code, *littĂ©ralement*.
 
index 473ff02ba8cc12fa5fb313915c50f4034a27ee74..c1ba81630d3034d8d081799f88c26140ca9049ec 100644 (file)
@@ -1,8 +1,8 @@
 # Sous-dĂ©pendances { #sub-dependencies }
 
-Vous pouvez crĂ©er des dĂ©pendances qui ont des sous-dĂ©pendances.
+Vous pouvez crĂ©er des dĂ©pendances qui ont des **sous-dĂ©pendances**.
 
-Elles peuvent ĂȘtre aussi profondes que nĂ©cessaire.
+Elles peuvent ĂȘtre aussi **profondes** que nĂ©cessaire.
 
 **FastAPI** se chargera de les rĂ©soudre.
 
@@ -35,7 +35,7 @@ Nous pouvons ensuite utiliser la dĂ©pendance avec :
 
 {* ../../docs_src/dependencies/tutorial005_an_py310.py hl[23] *}
 
-/// info
+/// note | Remarque
 
 Notez que nous ne dĂ©clarons qu'une seule dĂ©pendance dans la *fonction de chemin d'accĂšs*, `query_or_cookie_extractor`.
 
index 0a82004d2c2fa23f15a182f8302cb2b78b32f2a8..3d88fe5a9ea85c0b9bdad75a809615459f75b344 100644 (file)
@@ -180,7 +180,7 @@ ce qui Ă©quivaudrait Ă â€Ż:
 from backend.main import app
 ```
 
-### `fastapi dev` avec un chemin { #fastapi-dev-with-path }
+### `fastapi dev` avec un chemin ou avec l’option CLI `--entrypoint` { #fastapi-dev-with-path-or-with-entrypoint-cli-option }
 
 Vous pouvez Ă©galement passer le chemin du fichier Ă  la commande `fastapi dev`, et elle devinera l’objet d’application FastAPI Ă  utiliser :
 
@@ -188,29 +188,19 @@ Vous pouvez Ă©galement passer le chemin du fichier Ă  la commande `fastapi dev`,
 $ fastapi dev main.py
 ```
 
-Mais vous devrez vous souvenir de passer le chemin correct Ă  chaque exĂ©cution de la commande `fastapi`.
-
-De plus, d’autres outils pourraient ne pas ĂȘtre capables de le trouver, par exemple l’[Extension VS Code](../editor-support.md) ou [FastAPI Cloud](https://fastapicloud.com), il est donc recommandĂ© d’utiliser le `entrypoint` dans `pyproject.toml`.
-
-### DĂ©ployer votre application (optionnel) { #deploy-your-app-optional }
-
-Vous pouvez, si vous le souhaitez, dĂ©ployer votre application FastAPI sur [FastAPI Cloud](https://fastapicloud.com), allez rejoindre la liste d’attente si ce n’est pas dĂ©jĂ  fait. đŸš€
-
-Si vous avez dĂ©jĂ  un compte **FastAPI Cloud** (nous vous avons invitĂ© depuis la liste d’attente đŸ˜‰), vous pouvez dĂ©ployer votre application avec une seule commande.
-
-Avant de dĂ©ployer, vous devez vous assurer que vous ĂȘtes connectĂ© :
-
-<div class="termy">
+Ou bien, vous pouvez aussi passer l’option `--entrypoint` Ă  la commande `fastapi dev` :
 
 ```console
-$ fastapi login
-
-You are logged in to FastAPI Cloud đŸš€
+$ fastapi dev --entrypoint main:app
 ```
 
-</div>
+Mais vous devrez vous souvenir de passer le chemin\entrypoint correct Ă  chaque exĂ©cution de la commande `fastapi`.
+
+De plus, d’autres outils pourraient ne pas ĂȘtre capables de le trouver, par exemple l’[Extension VS Code](../editor-support.md) ou [FastAPI Cloud](https://fastapicloud.com), il est donc recommandĂ© d’utiliser le `entrypoint` dans `pyproject.toml`.
 
-Puis dĂ©ployez votre application :
+### DĂ©ployer votre application (optionnel) { #deploy-your-app-optional }
+
+Vous pouvez Ă©ventuellement dĂ©ployer votre application FastAPI sur [FastAPI Cloud](https://fastapicloud.com) avec une seule commande. đŸš€
 
 <div class="termy">
 
@@ -226,6 +216,8 @@ Deploying to FastAPI Cloud...
 
 </div>
 
+Le CLI dĂ©tectera automatiquement votre application FastAPI et la dĂ©ploiera dans le cloud. Si vous n’ĂȘtes pas connectĂ©, votre navigateur s’ouvrira pour terminer le processus d’authentification.
+
 C’est tout ! Vous pouvez maintenant accĂ©der Ă  votre application Ă  cette URL. âœš
 
 ## RĂ©capitulatif, Ă©tape par Ă©tape { #recap-step-by-step }
@@ -270,7 +262,7 @@ https://example.com/items/foo
 /items/foo
 ```
 
-/// info
+/// note | Remarque
 
 Un Â« chemin Â» est aussi couramment appelĂ© Â« endpoint Â» ou Â« route Â».
 
@@ -322,7 +314,7 @@ Le `@app.get("/")` indique Ă  **FastAPI** que la fonction juste en dessous est c
 * le chemin `/`
 * en utilisant une <dfn title="une mĂ©thode HTTP GET"><code>get</code> opĂ©ration</dfn>
 
-/// info | `@decorator` Info
+/// note | Informations sur `@decorator`
 
 Cette syntaxe `@something` en Python est appelĂ©e un Â« dĂ©corateur Â».
 
index 87f72fefa057e178f9997365b969011924f88ea9..75a8542f85565e43cb3ebbbf04230d03ca3bb1c2 100644 (file)
@@ -74,7 +74,7 @@ Utilisez le paramĂštre `tags` avec vos *chemins d'accĂšs* (et `APIRouter`s) pour
 
 {* ../../docs_src/metadata/tutorial004_py310.py hl[21,26] *}
 
-/// info
+/// note | Remarque
 
 En savoir plus sur les tags dans [Configuration de chemins d'accĂšs](path-operation-configuration.md#tags).
 
index 185adb6dd92336a7572a5eab0b0901a7d9a315e7..572d38e0179808012894deabe5d83402190d54da 100644 (file)
@@ -72,13 +72,13 @@ Vous pouvez spĂ©cifier la description de la rĂ©ponse avec le paramĂštre `respons
 
 {* ../../docs_src/path_operation_configuration/tutorial005_py310.py hl[18] *}
 
-/// info
+/// note | Remarque
 
 Notez que `response_description` se rĂ©fĂšre spĂ©cifiquement Ă  la rĂ©ponse, tandis que `description` se rĂ©fĂšre au *chemin d'accĂšs* en gĂ©nĂ©ral.
 
 ///
 
-/// check | VĂ©rifications
+/// tip | Astuce
 
 OpenAPI spĂ©cifie que chaque *chemin d'accĂšs* requiert une description de rĂ©ponse.
 
index b61b42ef78f0cf8b5010089902f564ae6589083d..c308541a1ea82046e449a7eb925630ab43c46d31 100644 (file)
@@ -8,7 +8,7 @@ Tout d'abord, importez `Path` de `fastapi`, et importez `Annotated` :
 
 {* ../../docs_src/path_params_numeric_validations/tutorial001_an_py310.py hl[1,3] *}
 
-/// info
+/// note | Remarque
 
 FastAPI a ajoutĂ© le support pour `Annotated` (et a commencĂ© Ă  le recommander) dans la version 0.95.0.
 
@@ -131,7 +131,7 @@ Et vous pouvez Ă©galement dĂ©clarer des validations numĂ©riques :
 * `lt` : `l`ess `t`han
 * `le` : `l`ess than or `e`qual
 
-/// info
+/// note | Remarque
 
 `Query`, `Path`, et d'autres classes que vous verrez plus tard sont des sous-classes d'une classe commune `Param`.
 
index f84c4c035715cf243d806e58c34e44620376fd82..e8d20bb74e519d0c25a018a485d9fd31898e232b 100644 (file)
@@ -20,7 +20,7 @@ Vous pouvez dĂ©clarer le type d'un paramĂštre de chemin dans la fonction, en uti
 
 Ici, `item_id` est dĂ©clarĂ© comme `int`.
 
-/// check | VĂ©rifications
+/// tip | Astuce
 
 Cela vous apporte la prise en charge par l'Ă©diteur dans votre fonction, avec vĂ©rifications d'erreurs, autocomplĂ©tion, etc.
 
@@ -34,7 +34,7 @@ Si vous exĂ©cutez cet exemple et ouvrez votre navigateur sur [http://127.0.0.1:8
 {"item_id":3}
 ```
 
-/// check | VĂ©rifications
+/// tip | Astuce
 
 Remarquez que la valeur reçue par votre fonction (et renvoyĂ©e) est `3`, en tant qu'entier (`int`) Python, pas la chaĂźne de caractĂšres Â« 3 Â».
 
@@ -66,7 +66,7 @@ car le paramĂštre de chemin `item_id` a pour valeur Â« foo Â», qui n'est pas un
 
 La mĂȘme erreur apparaĂźtrait si vous fournissiez un `float` au lieu d'un `int`, comme ici : [http://127.0.0.1:8000/items/4.2](http://127.0.0.1:8000/items/4.2)
 
-/// check | VĂ©rifications
+/// tip | Astuce
 
 Ainsi, avec la mĂȘme dĂ©claration de type Python, **FastAPI** vous fournit la validation de donnĂ©es.
 
@@ -82,7 +82,7 @@ Et lorsque vous ouvrez votre navigateur sur [http://127.0.0.1:8000/docs](http://
 
 <img src="/img/tutorial/path-params/image01.png">
 
-/// check | VĂ©rifications
+/// tip | Astuce
 
 Ă€ nouveau, simplement avec cette mĂȘme dĂ©claration de type Python, **FastAPI** vous fournit une documentation interactive automatique (intĂ©grant Swagger UI).
 
index 57d3587581db77710e89ed21c6c41885dd4e94e1..fc979334e4ff9085285abf2b9360d1ccbb671427 100644 (file)
@@ -29,7 +29,7 @@ Pour ce faire, importez d’abord :
 
 {* ../../docs_src/query_params_str_validations/tutorial002_an_py310.py hl[1,3] *}
 
-/// info
+/// note | Remarque
 
 FastAPI a ajoutĂ© la prise en charge de `Annotated` (et a commencĂ© Ă  le recommander) dans la version 0.95.0.
 
@@ -381,7 +381,7 @@ Par exemple, ce validateur personnalisĂ© vĂ©rifie que l’ID d’item commence p
 
 {* ../../docs_src/query_params_str_validations/tutorial015_an_py310.py hl[5,16:19,24] *}
 
-/// info
+/// note | Remarque
 
 C’est disponible avec Pydantic version 2 ou supĂ©rieure. đŸ˜Ž
 
index 8ecbc2853653a2337d0fe9087e6d0841a5f68f03..cf84741629203dca0f59c6fa35974c342eed58b4 100644 (file)
@@ -65,7 +65,7 @@ De la mĂȘme façon, vous pouvez dĂ©clarer des paramĂštres de requĂȘte optionnels
 
 Dans ce cas, le paramĂštre de fonction `q` sera optionnel et vaudra `None` par dĂ©faut.
 
-/// check | VĂ©rifications
+/// tip | Astuce
 
 Notez Ă©galement que **FastAPI** est suffisamment intelligent pour remarquer que le paramĂštre de chemin `item_id` est un paramĂštre de chemin et que `q` ne l'est pas, c'est donc un paramĂštre de requĂȘte.
 
index e55f8e57fede6b4aff287dd5bfaa831932159273..591a4e2e9e7af74cd0f0275a672b87a161987820 100644 (file)
@@ -2,7 +2,7 @@
 
 Vous pouvez dĂ©finir des fichiers Ă  tĂ©lĂ©verser par le client en utilisant `File`.
 
-/// info
+/// note | Remarque
 
 Pour recevoir des fichiers tĂ©lĂ©versĂ©s, installez d'abord [`python-multipart`](https://github.com/Kludex/python-multipart).
 
@@ -28,7 +28,7 @@ CrĂ©ez des paramĂštres de fichier de la mĂȘme maniĂšre que pour `Body` ou `Form`
 
 {* ../../docs_src/request_files/tutorial001_an_py310.py hl[9] *}
 
-/// info
+/// note | Remarque
 
 `File` est une classe qui hĂ©rite directement de `Form`.
 
@@ -44,7 +44,7 @@ Pour dĂ©clarer des fichiers dans le corps de la requĂȘte, vous devez utiliser `F
 
 Les fichiers seront tĂ©lĂ©versĂ©s en Â« donnĂ©es de formulaire Â».
 
-Si vous dĂ©clarez le type de votre paramĂštre de *fonction de chemin d'accĂšs* comme `bytes`, **FastAPI** lira le fichier pour vous et vous recevrez le contenu sous forme de `bytes`.
+Si vous dĂ©clarez le type de votre *fonction de chemin d'accĂšs* comme `bytes`, **FastAPI** lira le fichier pour vous et vous recevrez le contenu sous forme de `bytes`.
 
 Gardez Ă  l'esprit que cela signifie que tout le contenu sera stockĂ© en mĂ©moire. Cela fonctionnera bien pour de petits fichiers.
 
index 0f1e6dcfd178bb4a7fdc4d4978875c5cb3160b56..ae1da248d7ed4b8034540760312d96d272207554 100644 (file)
@@ -2,7 +2,7 @@
 
 Vous pouvez utiliser des **modĂšles Pydantic** pour dĂ©clarer des **champs de formulaire** dans FastAPI.
 
-/// info
+/// note | Remarque
 
 Pour utiliser les formulaires, installez d'abord [`python-multipart`](https://github.com/Kludex/python-multipart).
 
index 2e3f5b58bcbdbcf3aa3d6f1384aac2305842b50d..4b930dea271d8f32346433bb00f63892833fa5be 100644 (file)
@@ -2,7 +2,7 @@
 
 Vous pouvez dĂ©finir des fichiers et des champs de formulaire en mĂȘme temps Ă  l'aide de `File` et `Form`.
 
-/// info
+/// note | Remarque
 
 Pour recevoir des fichiers tĂ©lĂ©versĂ©s et/ou des donnĂ©es de formulaire, installez d'abord [`python-multipart`](https://github.com/Kludex/python-multipart).
 
index 9596f68ce2edaaa9bf4baf92ba32ceb2625659d9..bdc8c6fb086541feb19696d8ce6986547ff039dd 100644 (file)
@@ -2,11 +2,11 @@
 
 Lorsque vous devez recevoir des champs de formulaire au lieu de JSON, vous pouvez utiliser `Form`.
 
-/// info
+/// note | Remarque
 
 Pour utiliser les formulaires, installez d'abord [`python-multipart`](https://github.com/Kludex/python-multipart).
 
-Assurez-vous de crĂ©er un [environnement virtuel](../virtual-environments.md), de l'activer, puis installez-le, par exemple :
+Vous devez crĂ©er un [environnement virtuel](../virtual-environments.md), l'activer, puis installer le paquet, par exemple :
 
 ```console
 $ pip install python-multipart
@@ -32,7 +32,7 @@ La <dfn title="spĂ©cification">spĂ©cification</dfn> exige que les champs soient
 
 Avec `Form`, vous pouvez dĂ©clarer les mĂȘmes configurations que pour `Body` (ainsi que `Query`, `Path`, `Cookie`), y compris la validation, des exemples, un alias (p. ex. `user-name` au lieu de `username`), etc.
 
-/// info
+/// note | Remarque
 
 `Form` est une classe qui hĂ©rite directement de `Body`.
 
index e3926a0c12ed9530370e77070820c15e39d512b3..322b170441283f2bd35d1c2a1fdf3da27b3ce7f9 100644 (file)
@@ -72,7 +72,7 @@ Ici, nous dĂ©clarons un modĂšle `UserIn`, il contiendra un mot de passe en clair
 
 {* ../../docs_src/response_model/tutorial002_py310.py hl[7,9] *}
 
-/// info | Info
+/// note | Remarque
 
 Pour utiliser `EmailStr`, installez d'abord [`email-validator`](https://github.com/JoshData/python-email-validator).
 
@@ -251,7 +251,7 @@ Ainsi, si vous envoyez une requĂȘte Ă  ce *chemin d'accĂšs* pour l'article avec
 }
 ```
 
-/// info | Info
+/// note | Remarque
 
 Vous pouvez Ă©galement utiliser :
 
index c8e45cd40edf115707103db5785ad7b834adcf86..e4a666ebf0e26fc42ff5f23160481c0072ed4535 100644 (file)
@@ -18,7 +18,7 @@ Remarquez que `status_code` est un paramĂštre de la mĂ©thode Â« decorator Â» (`g
 
 Le paramĂštre `status_code` reçoit un nombre correspondant au code d'Ă©tat HTTP.
 
-/// info
+/// note | Remarque
 
 `status_code` peut aussi recevoir un `IntEnum`, comme le [`http.HTTPStatus`](https://docs.python.org/3/library/http.html#http.HTTPStatus) de Python.
 
index 404edff46d1c8b67e751c1bd66ce4313c24f4e4c..6f254aafede537bee05c3bde9e7b74cef75ea1a1 100644 (file)
@@ -24,7 +24,7 @@ Par exemple, vous pourriez l'utiliser pour ajouter des mĂ©tadonnĂ©es pour une in
 
 ///
 
-/// info
+/// note | Remarque
 
 OpenAPI 3.1.0 (utilisĂ© depuis FastAPI 0.99.0) a ajoutĂ© la prise en charge de `examples`, qui fait partie du standard **JSON Schema**.
 
@@ -155,7 +155,7 @@ OpenAPI a Ă©galement ajoutĂ© les champs `example` et `examples` Ă  d'autres part
     * `File()`
     * `Form()`
 
-/// info
+/// note | Remarque
 
 Ce paramĂštre `examples` ancien et spĂ©cifique Ă  OpenAPI est dĂ©sormais `openapi_examples` depuis FastAPI `0.103.0`.
 
@@ -171,7 +171,7 @@ Et dĂ©sormais, ce nouveau champ `examples` a prioritĂ© sur l'ancien champ unique
 
 Ce nouveau champ `examples` dans JSON Schema est **juste une `list`** d'exemples, et non pas un dict avec des mĂ©tadonnĂ©es supplĂ©mentaires comme dans les autres endroits d'OpenAPI (dĂ©crits ci-dessus).
 
-/// info
+/// note | Remarque
 
 MĂȘme aprĂšs la sortie d'OpenAPI 3.1.0 avec cette nouvelle intĂ©gration plus simple avec JSON Schema, pendant un temps, Swagger UI, l'outil qui fournit la documentation automatique, ne prenait pas en charge OpenAPI 3.1.0 (il le fait depuis la version 5.0.0 đŸŽ‰).
 
index c1d36d501c96f333cd18f233dfdad77bf846d5ff..73cf4f38c9f85bab60badc2b75bf8abaecbaa33b 100644 (file)
@@ -24,7 +24,7 @@ Copiez l'exemple dans un fichier `main.py` :
 
 ## ExĂ©cuter { #run-it }
 
-/// info
+/// note | Remarque
 
 Le package [`python-multipart`](https://github.com/Kludex/python-multipart) est installĂ© automatiquement avec **FastAPI** lorsque vous exĂ©cutez la commande `pip install "fastapi[standard]"`.
 
@@ -60,7 +60,7 @@ Vous verrez quelque chose comme ceci :
 
 <img src="/img/tutorial/security/image01.png">
 
-/// check | Bouton Â« Authorize Â» !
+/// tip | Bouton Â« Authorize Â» !
 
 Vous avez dĂ©jĂ  un tout nouveau bouton Â« Authorize Â».
 
@@ -118,7 +118,7 @@ Voyons cela selon ce point de vue simplifié :
 
 Dans cet exemple, nous allons utiliser **OAuth2**, avec le flux **Password**, en utilisant un token **Bearer**. Nous le faisons avec la classe `OAuth2PasswordBearer`.
 
-/// info
+/// note | Remarque
 
 Un token Â« bearer Â» n'est pas la seule option.
 
@@ -148,7 +148,7 @@ Ce paramĂštre ne crĂ©e pas cet endpoint / *chemin d'accĂšs*, mais dĂ©clare que l
 
 Nous crĂ©erons bientĂŽt aussi le vĂ©ritable chemin d'accĂšs.
 
-/// info
+/// note | Remarque
 
 Si vous ĂȘtes un Â« Pythonista Â» trĂšs strict, vous pourriez ne pas apprĂ©cier le style du nom de paramĂštre `tokenUrl` au lieu de `token_url`.
 
@@ -176,7 +176,7 @@ Cette dĂ©pendance fournira une `str` qui est affectĂ©e au paramĂštre `token` de
 
 **FastAPI** saura qu'il peut utiliser cette dĂ©pendance pour dĂ©finir un Â« schĂ©ma de sĂ©curitĂ© Â» dans le schĂ©ma OpenAPI (et la documentation API automatique).
 
-/// info | DĂ©tails techniques
+/// note | DĂ©tails techniques
 
 **FastAPI** saura qu'il peut utiliser la classe `OAuth2PasswordBearer` (dĂ©clarĂ©e dans une dĂ©pendance) pour dĂ©finir le schĂ©ma de sĂ©curitĂ© dans OpenAPI parce qu'elle hĂ©rite de `fastapi.security.oauth2.OAuth2`, qui hĂ©rite Ă  son tour de `fastapi.security.base.SecurityBase`.
 
index 5f73efea9cc807602fc463673fc176f49a62e458..97cffc666b97e4f92bac5ff9d9731ea10834b11a 100644 (file)
@@ -52,7 +52,7 @@ Ici, **FastAPI** ne s'y trompera pas car vous utilisez `Depends`.
 
 ///
 
-/// check | VĂ©rifications
+/// tip | Astuce
 
 La maniĂšre dont ce systĂšme de dĂ©pendances est conçu nous permet d'avoir diffĂ©rentes dĂ©pendances (diffĂ©rents Â« dependables Â») qui retournent toutes un modĂšle `User`.
 
index eec5ab13c0b5797ea9cd8ed1db4d0880d3379a3f..810f1eef1bcba02dd93f89836d081307090b606b 100644 (file)
@@ -42,7 +42,7 @@ $ pip install pyjwt
 
 </div>
 
-/// info
+/// note | Remarque
 
 Si vous prĂ©voyez d'utiliser des algorithmes de signature numĂ©rique comme RSA ou ECDSA, vous devez installer la dĂ©pendance de bibliothĂšque de cryptographie `pyjwt[crypto]`.
 
@@ -213,7 +213,7 @@ En utilisant les identifiants :
 Nom d'utilisateur : `johndoe`
 Mot de passe : `secret`
 
-/// check | VĂ©rifications
+/// tip | Astuce
 
 Remarquez qu'Ă  aucun endroit du code le mot de passe en clair Â« secret Â» n'apparaĂźt, nous n'avons que la version hachĂ©e.
 
index f47d94aa206b5512ce24e98492cf06fb5250c69d..b0f974f0d7efb65902bc1ec7bb128e8dd19d5798 100644 (file)
@@ -32,7 +32,7 @@ Ils sont normalement utilisĂ©s pour dĂ©clarer des permissions de sĂ©curitĂ© spĂ©
 * `instagram_basic` est utilisĂ© par Facebook / Instagram.
 * `https://www.googleapis.com/auth/drive` est utilisĂ© par Google.
 
-/// info
+/// note | Remarque
 
 En OAuth2, un Â« scope Â» est simplement une chaĂźne qui dĂ©clare une permission spĂ©cifique requise.
 
@@ -72,7 +72,7 @@ Si vous avez besoin de l'imposer, utilisez `OAuth2PasswordRequestFormStrict` au
 * Un `client_id` optionnel (nous n'en avons pas besoin pour notre exemple).
 * Un `client_secret` optionnel (nous n'en avons pas besoin pour notre exemple).
 
-/// info
+/// note | Remarque
 
 La classe `OAuth2PasswordRequestForm` n'est pas une classe spĂ©ciale pour **FastAPI** comme l'est `OAuth2PasswordBearer`.
 
@@ -144,7 +144,7 @@ UserInDB(
 )
 ```
 
-/// info
+/// note | Remarque
 
 Pour une explication plus complĂšte de `**user_dict`, consultez [la documentation pour **ModĂšles supplĂ©mentaires**](../extra-models.md#about-user-in-dict).
 
@@ -196,7 +196,7 @@ Ainsi, dans notre endpoint, nous n'obtiendrons un utilisateur que si l'utilisate
 
 {* ../../docs_src/security/tutorial003_an_py310.py hl[58:66,69:74,94] *}
 
-/// info
+/// note | Remarque
 
 L'en‑tĂȘte supplĂ©mentaire `WWW-Authenticate` avec la valeur `Bearer` que nous renvoyons ici fait Ă©galement partie de la spĂ©cification.
 
index f4ed506f6b99c19b95606ca63ba9d422e24a8bff..d62e3bfa7c1e75b99c7c8f225d4a5d4e25900aed 100644 (file)
@@ -4,7 +4,7 @@ Vous pouvez diffuser des donnĂ©es vers le client en utilisant les **Server-Sent
 
 C'est similaire Ă  [Diffuser des JSON Lines](stream-json-lines.md), mais cela utilise le format `text/event-stream`, pris en charge nativement par les navigateurs via l’API [`EventSource`](https://developer.mozilla.org/en-US/docs/Web/API/EventSource).
 
-/// info | Info
+/// note | Remarque
 
 AjoutĂ© dans FastAPI 0.135.0.
 
index aed0205cb8652ecc88cf22f3ca3755702dc14f3f..c06c0e006b45f1813ab2ad551bc5d96881901ed4 100644 (file)
@@ -1,8 +1,8 @@
 # Diffuser des JSON Lines { #stream-json-lines }
 
-Vous pouvez avoir une sĂ©quence de donnĂ©es que vous souhaitez envoyer en Â« flux Â» ; vous pouvez le faire avec Â« JSON Lines Â».
+Vous pouvez avoir une sĂ©quence de donnĂ©es que vous souhaitez envoyer en Â« flux Â», vous pouvez le faire avec Â« JSON Lines Â».
 
-/// info
+/// note | Remarque
 
 AjoutĂ© dans FastAPI 0.134.0.
 
@@ -48,7 +48,7 @@ Une rĂ©ponse aurait un type de contenu `application/jsonl` (au lieu de `applicat
 
 C'est trĂšs similaire Ă  un tableau JSON (Ă©quivalent d'une liste Python), mais au lieu d'ĂȘtre entourĂ© de `[]` et d'avoir des `,` entre les Ă©lĂ©ments, il y a un objet JSON par ligne, ils sont sĂ©parĂ©s par un caractĂšre de saut de ligne.
 
-/// info
+/// note | Remarque
 
 Le point important est que votre application pourra produire chaque ligne Ă  son tour, tandis que le client consomme les lignes prĂ©cĂ©dentes.
 
index 5cb2ee62903629d6d4e585bb801ffb3467118ece..5176034258c9c82007c4bf74a925efd81f9bf22f 100644 (file)
@@ -8,7 +8,7 @@ Avec cela, vous pouvez utiliser [pytest](https://docs.pytest.org/) directement a
 
 ## Utiliser `TestClient` { #using-testclient }
 
-/// info
+/// note | Remarque
 
 Pour utiliser `TestClient`, installez d’abord [`httpx`](https://www.python-httpx.org).
 
@@ -144,7 +144,7 @@ Par exemple :
 
 Pour plus d’informations sur la maniĂšre de transmettre des donnĂ©es au backend (en utilisant `httpx` ou le `TestClient`), consultez la [documentation HTTPX](https://www.python-httpx.org).
 
-/// info
+/// note | Remarque
 
 Notez que le `TestClient` reçoit des donnĂ©es qui peuvent ĂȘtre converties en JSON, pas des modĂšles Pydantic.