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
🌐 Add French translation for docs/fr/docs/history-design-future.md
#3451
Merged
tiangolo
merged 10 commits into
tiangolo:master
from
rjNemo:feature/translation-fr-history
Aug 18, 2022
Merged
Changes from 8 commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
87bc7bc
feat: add translation for history and design
99b8859
Merge branch 'master' into feature/translation-fr-history
8d7b41a
Apply suggestions from @Smlep
rjNemo 3477ba1
doc: fix pages order, idiomatic translation
7989d8a
Merge branch 'feature/translation-fr-history' of https://github.com/r…
139ca3b
chore: formatting
7a04184
chore: small change
29bd32d
Merge branch 'master' into feature/translation-fr-history
rjNemo 3c93b27
Update docs/fr/docs/history-design-future.md
rjNemo 73c855b
Update docs/fr/docs/history-design-future.md
rjNemo File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
# Histoire, conception et avenir | ||
|
||
Il y a quelque temps, <a href="https://github.com/tiangolo/fastapi/issues/3#issuecomment-454956920" class="external-link" target="_blank">un utilisateur de **FastAPI** a demandé</a> : | ||
|
||
> Quelle est l'histoire de ce projet ? Il semble être sorti de nulle part et est devenu génial en quelques semaines [...]. | ||
|
||
Voici un petit bout de cette histoire. | ||
|
||
## Alternatives | ||
|
||
Je crée des API avec des exigences complexes depuis plusieurs années (Machine Learning, systèmes distribués, jobs asynchrones, bases de données NoSQL, etc), en dirigeant plusieurs équipes de développeurs. | ||
|
||
Dans ce cadre, j'ai dû étudier, tester et utiliser de nombreuses alternatives. | ||
|
||
L'histoire de **FastAPI** est en grande partie l'histoire de ses prédécesseurs. | ||
|
||
Comme dit dans la section [Alternatives](alternatives.md){.internal-link target=\_blank} : | ||
|
||
<blockquote markdown="1"> | ||
|
||
**FastAPI** n'existerait pas sans le travail antérieur d'autres personnes. | ||
|
||
Il y a eu de nombreux outils créés auparavant qui ont contribué à inspirer sa création. | ||
|
||
J'ai évité la création d'un nouveau framework pendant plusieurs années. J'ai d'abord essayé de résoudre toutes les fonctionnalités couvertes par **FastAPI** en utilisant de nombreux frameworks, plug-ins et outils différents. | ||
|
||
Mais à un moment donné, il n'y avait pas d'autre option que de créer quelque chose qui offre toutes ces fonctionnalités, en prenant les meilleures idées des outils précédents, et en les combinant de la meilleure façon possible, en utilisant des fonctionnalités du langage qui n'étaient même pas disponibles auparavant (annotations de type pour Python 3.6+). | ||
|
||
</blockquote> | ||
|
||
## Recherche | ||
|
||
En utilisant toutes les alternatives précédentes, j'ai eu la chance d'apprendre de toutes, de prendre des idées, et de les combiner de la meilleure façon que j'ai pu trouver pour moi-même et les équipes de développeurs avec lesquelles j'ai travaillé. | ||
|
||
Par exemple, il était clair que l'idéal était de se baser sur les annotations de type Python standard. | ||
|
||
De plus, la meilleure approche était d'utiliser des normes déjà existantes. | ||
|
||
Ainsi, avant même de commencer à coder **FastAPI**, j'ai passé plusieurs mois à étudier les spécifications d'OpenAPI, JSON Schema, OAuth2, etc. Comprendre leurs relations, leurs chevauchements et leurs différences. | ||
rjNemo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Conception | ||
|
||
Ensuite, j'ai passé du temps à concevoir l'"API" de développeur que je voulais avoir en tant qu'utilisateur (en tant que développeur utilisant FastAPI). | ||
|
||
J'ai testé plusieurs idées dans les éditeurs Python les plus populaires : PyCharm, VS Code, les éditeurs basés sur Jedi. | ||
|
||
D'après le dernier <a href="https://www.jetbrains.com/research/python-developers-survey-2018/#development-tools" class="external-link" target="_blank">Python Developer Survey</a>, cela couvre environ 80% des utilisateurs. | ||
rjNemo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Cela signifie que **FastAPI** a été spécifiquement testé avec les éditeurs utilisés par 80% des développeurs Python. Et comme la plupart des autres éditeurs ont tendance à fonctionner de façon similaire, tous ses avantages devraient fonctionner pour pratiquement tous les éditeurs. | ||
|
||
Ainsi, j'ai pu trouver les meilleurs moyens de réduire autant que possible la duplication du code, d'avoir la complétion partout, les contrôles de type et d'erreur, etc. | ||
|
||
Le tout de manière à offrir la meilleure expérience de développement à tous les développeurs. | ||
|
||
## Exigences | ||
|
||
Après avoir testé plusieurs alternatives, j'ai décidé que j'allais utiliser <a href="https://pydantic-docs.helpmanual.io/" class="external-link" target="_blank">**Pydantic**</a> pour ses avantages. | ||
|
||
J'y ai ensuite contribué, pour le rendre entièrement compatible avec JSON Schema, pour supporter différentes manières de définir les déclarations de contraintes, et pour améliorer le support des éditeurs (vérifications de type, autocomplétion) sur la base des tests effectués dans plusieurs éditeurs. | ||
|
||
Pendant le développement, j'ai également contribué à <a href="https://www.starlette.io/" class="external-link" target="_blank">**Starlette**</a>, l'autre exigence clé. | ||
|
||
## Développement | ||
|
||
Au moment où j'ai commencé à créer **FastAPI** lui-même, la plupart des pièces étaient déjà en place, la conception était définie, les exigences et les outils étaient prêts, et la connaissance des normes et des spécifications était claire et fraîche. | ||
|
||
## Futur | ||
|
||
À ce stade, il est déjà clair que **FastAPI** et ses idées sont utiles pour de nombreuses personnes. | ||
|
||
Elle a été préférée aux solutions précédentes parce qu'elle convient mieux à de nombreux cas d'utilisation. | ||
|
||
De nombreux développeurs et équipes dépendent déjà de **FastAPI** pour leurs projets (y compris moi et mon équipe). | ||
|
||
Mais il y a encore de nombreuses améliorations et fonctionnalités à venir. | ||
|
||
**FastAPI** a un grand avenir devant lui. | ||
|
||
Et [votre aide](help-fastapi.md){.internal-link target=\_blank} est grandement appréciée. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Do we use the plural form in french for API? ¯_(ツ)_/¯
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.
I don't think so.