Files
fastapi/docs/fr/docs/tutorial/debugging.md
Sebastián Ramírez aeeb29f6d0 🌐 Update translations for fr (update-outdated) (#15761)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-16 00:10:59 +02:00

114 lines
3.0 KiB
Markdown

# <abbr title="En anglais: Debugging">Débogage</abbr> { #debugging }
Vous pouvez connecter le <abbr title="En anglais: debugger">débogueur</abbr> dans votre éditeur, par exemple avec Visual Studio Code ou PyCharm.
## Appeler `uvicorn` { #call-uvicorn }
Dans votre application FastAPI, importez et exécutez directement `uvicorn` :
{* ../../docs_src/debugging/tutorial001_py310.py hl[1,15] *}
### À propos de `__name__ == "__main__"` { #about-name-main }
Le but principal de `__name__ == "__main__"` est d'avoir du code qui est exécuté lorsque votre fichier est appelé avec :
<div class="termy">
```console
$ python myapp.py
```
</div>
mais qui n'est pas appelé lorsqu'un autre fichier l'importe, comme dans :
```Python
from myapp import app
```
#### Pour davantage de détails { #more-details }
Imaginons que votre fichier s'appelle `myapp.py`.
Si vous l'exécutez avec :
<div class="termy">
```console
$ python myapp.py
```
</div>
alors la variable interne `__name__` de votre fichier, créée automatiquement par Python, aura pour valeur la chaîne de caractères `"__main__"`.
Ainsi, la section :
```Python
uvicorn.run(app, host="0.0.0.0", port=8000)
```
va s'exécuter.
---
Cela ne se produira pas si vous importez ce module (fichier).
Par exemple, si vous avez un autre fichier `importer.py` qui contient :
```Python
from myapp import app
# Code supplémentaire
```
dans ce cas, la variable automatique `__name__` à l'intérieur de `myapp.py` n'aura pas la valeur `"__main__"`.
Ainsi, la ligne :
```Python
uvicorn.run(app, host="0.0.0.0", port=8000)
```
ne sera pas exécutée.
/// note | Remarque
Pour plus d'informations, consultez [la documentation officielle de Python](https://docs.python.org/3/library/__main__.html).
///
## Exécuter votre code avec votre <abbr title="En anglais: debugger">débogueur</abbr> { #run-your-code-with-your-debugger }
Parce que vous exécutez le serveur Uvicorn directement depuis votre code, vous pouvez appeler votre programme Python (votre application FastAPI) directement depuis le <abbr title="En anglais: debugger">débogueur</abbr>.
---
Par exemple, dans Visual Studio Code, vous pouvez :
- Allez dans le panneau « Debug ».
- « Add configuration ... ».
- Sélectionnez « Python ».
- Lancez le <abbr title="En anglais: debugger">débogueur</abbr> avec l'option « Python: Current File (Integrated Terminal) ».
Il démarrera alors le serveur avec votre code **FastAPI**, s'arrêtera à vos points d'arrêt, etc.
Voici à quoi cela pourrait ressembler :
<img src="/img/tutorial/debugging/image01.png">
---
Si vous utilisez Pycharm, vous pouvez :
- Ouvrez le menu « Run ».
- Sélectionnez l'option « Debug ... ».
- Un menu contextuel s'affiche alors.
- Sélectionnez le fichier à déboguer (dans ce cas, `main.py`).
Il démarrera alors le serveur avec votre code **FastAPI**, s'arrêtera à vos points d'arrêt, etc.
Voici à quoi cela pourrait ressembler :
<img src="/img/tutorial/debugging/image02.png">