Flashcards: Fondamentaux de FastAPI — 73 cartões

Todos os cartões

1Pergunta

Qu'est-ce que FastAPI ?

Resposta

Un framework web moderne et performant pour construire des API avec les annotations de type Python.

2Pergunta

Comment FastAPI utilise-t-il les annotations de type ?

Resposta

Pour valider, convertir les données, générer la documentation et produire du code performant.

3Pergunta

Quelle est la différence principale entre Django et Flask ?

Resposta

Django est mature et complet, Flask est un microframework minimaliste.

4Pergunta

Quand choisir FastAPI plutôt que Django avec django-rest-framework ?

Resposta

Pour créer uniquement une API REST.

5Pergunta

Quel est l'objectif principal du projet du cours ?

Resposta

Construire une API REST pour une application d’autopartage.

6Pergunta

Quelles opérations l'application d’autopartage doit-elle permettre sur les voitures ?

Resposta

Créer, modifier et supprimer des voitures.

7Pergunta

Comment sont stockées les données du projet ?

Resposta

Dans une base de données via des modèles SQLModel.

8Pergunta

Quels sujets techniques le cours aborde-t-il ?

Resposta

OAuth, pages HTML, formulaires, cookies, en-têtes, middleware, tests unitaires et déploiement.

9Pergunta

Quelles connaissances sont nécessaires pour suivre le cours ?

Resposta

Bases de Python, HTTP, API REST et bases relationnelles.

10Pergunta

Quelles notions de Python sont indispensables pour ce cours ?

Resposta

Fonctions, classes, dictionnaires et listes.

11Pergunta

Quelles versions de Python FastAPI supporte-t-il ?

Resposta

Python 3.8 et versions ultérieures.

12Pergunta

Quel outil est recommandé pour le travail pratique du cours ?

Resposta

Un éditeur de code comme PyCharm ou Visual Studio Code.

13Pergunta

Quelles sont les étapes pour créer un projet FastAPI ?

Resposta

Créer un environnement virtuel, installer FastAPI, créer un fichier Python, instancier FastAPI.

14Pergunta

Quelle commande installe FastAPI avec toutes ses dépendances ?

Resposta

python -m pip install "fastapi[all]"

15Pergunta

Que représente l'objet créé par FastAPI() ?

Resposta

L'application ou le serveur REST du projet.

16Pergunta

Qu'est-ce qu'une opération de chemin en FastAPI ?

Resposta

Une fonction liée à une URL et une méthode HTTP via un décorateur.

17Pergunta

Quelle commande lance FastAPI en mode développement ?

Resposta

fastapi dev carsharing.py

18Pergunta

Pourquoi utiliser fastapi run en production plutôt que le mode dev ?

Resposta

Pour des raisons de sécurité et de performance.

19Pergunta

Quelle URL FastAPI utilise-t-il pour la documentation interactive ?

Resposta

/docs

20Pergunta

Quelle URL fournit la spécification OpenAPI lisible par machine ?

Resposta

/openapi.json

21Pergunta

Quel serveur reçoit la requête HTTP avant FastAPI ?

Resposta

Uvicorn

22Pergunta

Que fait FastAPI après avoir reçu une requête HTTP ?

Resposta

Il recherche l’opération associée au chemin et à la méthode.

23Pergunta

Que permet de faire la page /docs avec « Try it out » ?

Resposta

Exécuter une opération.

24Pergunta

Quel statut HTTP renvoie l’opération d’accueil en cas de succès ?

Resposta

Le statut HTTP 200.

25Pergunta

Qu'est-ce qu'un paramètre de requête dans une URL ?

Resposta

Une valeur transmise dans l’URL après un point d’interrogation.

26Pergunta

Qu'est-ce qu'un paramètre de chemin dans une URL FastAPI ?

Resposta

Une valeur intégrée à l’URL entre accolades dans le décorateur.

27Pergunta

Quelle est la règle par défaut pour les paramètres de requête ?

Resposta

Ils sont obligatoires par défaut.

28Pergunta

Comment rendre un paramètre de requête optionnel ?

Resposta

En lui donnant une valeur par défaut comme None.

29Pergunta

Comment FastAPI convertit-il les valeurs textuelles reçues dans l’URL ?

Resposta

Il utilise les annotations de type pour convertir et valider.

30Pergunta

Comment annoter un paramètre optionnel pouvant être une chaîne ou None ?

Resposta

Avec l’opérateur pipe : str | None.

31Pergunta

Quelle annotation utiliser pour un paramètre entier optionnel ?

Resposta

int | None.

32Pergunta

Où sont visibles les annotations de type des paramètres ?

Resposta

Dans la documentation générée et la spécification openapi.json.

33Pergunta

Que fait un point d’arrêt dans PyCharm ou Visual Studio Code ?

Resposta

Il suspend l’exécution sur une ligne pour inspecter les variables.

34Pergunta

Que fait la commande Step Over lors du débogage ?

Resposta

Elle exécute une seule ligne avant de suspendre à nouveau.

35Pergunta

Quel type a un identifiant reçu depuis l’URL sans annotation int ?

Resposta

C’est une chaîne de caractères.

36Pergunta

Quel type ont les identifiants stockés dans les données automobiles ?

Resposta

Ce sont des entiers.

37Pergunta

Pourquoi la comparaison d’un identifiant URL sans annotation int avec les données automobiles est-elle toujours fausse ?

Resposta

Parce que les types sont différents, chaîne versus entier.

38Pergunta

Quand doit-on déclarer une opération de chemin avec async def ?

Resposta

Lorsqu’elle utilise une bibliothèque tierce nécessitant await.

39Pergunta

Comment déclarer une opération utilisant une bibliothèque sans support asynchrone ?

Resposta

Elle doit généralement être déclarée avec def.

40Pergunta

Quelle forme de fonction est recommandée si on ne sait pas quoi choisir ?

Resposta

Il est recommandé d’utiliser une fonction normale avec def.

41Pergunta

FastAPI peut-il mélanger des fonctions def et async def ?

Resposta

Oui, dans une même application.

42Pergunta

Comment sont simulées les premières données automobiles ?

Resposta

Par une liste de dictionnaires représentant chaque voiture.

43Pergunta

Que renvoie l'opération GET /api/cars ?

Resposta

L'ensemble des voitures disponibles dans la liste de données.

44Pergunta

Quel est le premier filtre appliqué lors du filtrage des voitures ?

Resposta

Le filtre de taille s, m ou l lorsqu'il est fourni.

45Pergunta

Quel filtre est appliqué après celui de la taille lors du filtrage ?

Resposta

Le filtre du nombre de portes, éventuellement.

46Pergunta

Pourquoi faut-il annoter en int les valeurs reçues d'une URL ?

Resposta

Parce qu'elles sont textuelles même si elles représentent un nombre.

47Pergunta

Quelle différence principale existe entre un paramètre de requête et un paramètre de chemin ?

Resposta

Un paramètre de requête peut être optionnel, un paramètre de chemin ne peut pas.

48Pergunta

Comment autoriser une valeur absente pour un champ en Python 3.10+ ?

Resposta

En typant le champ comme une union avec None, par exemple str | None.

49Pergunta

Que fait FastAPI lors d'une requête vers /api/cars/5 ?

Resposta

Il extrait la valeur 5 de l'URL et la transmet au paramètre de chemin id.

50Pergunta

Que doit faire l'opération si la voiture demandée n'existe pas ?

Resposta

Elle doit lever une HTTPException avec le statut 404.

51Pergunta

Qu'est-ce qu'un modèle Pydantic ?

Resposta

Une classe héritant de BaseModel déclarant champs, types et valeurs par défaut.

52Pergunta

Que fait la création d'un objet Pydantic avec arguments nommés ?

Resposta

Elle construit l'objet, vérifie les champs obligatoires et prépare un objet imprimable.

53Pergunta

Quand un champ Pydantic est-il obligatoire ?

Resposta

Lorsqu'il n'a pas de valeur par défaut.

54Pergunta

Que rend un champ Pydantic avec une valeur par défaut ?

Resposta

Il le rend facultatif lors de la construction de l'objet.

55Pergunta

Comment Pydantic traite-t-il la conversion de types ?

Resposta

Il convertit automatiquement si possible, sinon il produit une erreur de validation.

56Pergunta

Donnez un exemple de conversion automatique par Pydantic.

Resposta

Les chaînes représentant des nombres sont converties en entiers.

57Pergunta

Quels utilitaires fournissent les modèles Pydantic ?

Resposta

Ils convertissent les objets en JSON, dictionnaires ou chaînes.

58Pergunta

Que fait la fonction load_db avec cars.json ?

Resposta

Elle ouvre cars.json et charge une liste de dictionnaires avec json.load.

59Pergunta

Comment load_db transforme-t-elle chaque dictionnaire en objet Car ?

Resposta

Elle utilise Car.model_validate pour la transformation.

60Pergunta

Quelles contraintes impose un fichier JSON sur les guillemets ?

Resposta

Il doit utiliser des guillemets doubles pour les chaînes.

61Pergunta

Pourquoi un fichier JSON ne doit-il pas contenir de virgule finale ?

Resposta

Parce que la virgule finale n'est pas autorisée en JSON.

62Pergunta

Que fait la fonction save_db avec les objets avant d'écrire dans cars.json ?

Resposta

Elle convertit chaque objet en dictionnaire.

63Pergunta

Comment save_db rend-elle le fichier JSON lisible ?

Resposta

Elle utilise json.dump avec indent=4.

64Pergunta

Pourquoi le stockage direct d'objets dans un fichier JSON n'est-il pas fiable en production ?

Resposta

Parce que c'est une simulation simple de base de données non fiable.

65Pergunta

Que fait l'appel à load_db au démarrage de l'application ?

Resposta

Il recharge les voitures du fichier JSON dans la structure FastAPI.

66Pergunta

À quoi sert la méthode HTTP GET en REST ?

Resposta

À récupérer une ressource sans effet de bord.

67Pergunta

Quelle méthode HTTP REST sert généralement à créer une ressource ?

Resposta

POST sert généralement à créer une ressource dans une collection.

68Pergunta

Quelle méthode HTTP REST sert à modifier une ressource identifiée ?

Resposta

PUT sert à modifier une ressource identifiée.

69Pergunta

Quelle méthode HTTP REST sert à supprimer une ressource ?

Resposta

DELETE sert à supprimer une ressource.

70Pergunta

Comment le client crée-t-il une voiture avec POST en REST ?

Resposta

Il envoie les données dans le corps vers l’URL de la collection `/api/cars`.

71Pergunta

Quelle URL utilise le client pour modifier une voiture avec PUT ?

Resposta

L’URL de la voiture avec son identifiant.

72Pergunta

Que renvoie une suppression réussie en REST ?

Resposta

Le statut 204 No Content avec un corps vide.

73Pergunta

Quel statut HTTP indique qu’une voiture à supprimer est inexistante ?

Resposta

Le statut 404 HTTPException.

Teste-se com o quiz

Teste seu conhecimento com 44 perguntas sobre Fondamentaux de FastAPI.

1. Quel type de logiciel FastAPI permet-il principalement de construire ?

2. Quel rôle les annotations de type jouent-elles fortement dans FastAPI ?

Faça o quiz →

Leia a ficha de revisão

Revise o curso completo na ficha de revisão para Fondamentaux de FastAPI.

Veja a ficha de revisão →

Similar courses

Crie seus próprios flashcards

Importe seu curso e a IA gera flashcards em 30 segundos.

Gerador de flashcards