Tarjetas de memoria: Fondamentaux de FastAPI — 73 tarjetas

Todas las tarjetas

1Pregunta

Qu'est-ce que FastAPI ?

Respuesta

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

2Pregunta

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

Respuesta

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

3Pregunta

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

Respuesta

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

4Pregunta

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

Respuesta

Pour créer uniquement une API REST.

5Pregunta

Quel est l'objectif principal du projet du cours ?

Respuesta

Construire une API REST pour une application d’autopartage.

6Pregunta

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

Respuesta

Créer, modifier et supprimer des voitures.

7Pregunta

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

Respuesta

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

8Pregunta

Quels sujets techniques le cours aborde-t-il ?

Respuesta

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

9Pregunta

Quelles connaissances sont nécessaires pour suivre le cours ?

Respuesta

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

10Pregunta

Quelles notions de Python sont indispensables pour ce cours ?

Respuesta

Fonctions, classes, dictionnaires et listes.

11Pregunta

Quelles versions de Python FastAPI supporte-t-il ?

Respuesta

Python 3.8 et versions ultérieures.

12Pregunta

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

Respuesta

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

13Pregunta

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

Respuesta

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

14Pregunta

Quelle commande installe FastAPI avec toutes ses dépendances ?

Respuesta

python -m pip install "fastapi[all]"

15Pregunta

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

Respuesta

L'application ou le serveur REST du projet.

16Pregunta

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

Respuesta

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

17Pregunta

Quelle commande lance FastAPI en mode développement ?

Respuesta

fastapi dev carsharing.py

18Pregunta

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

Respuesta

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

19Pregunta

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

Respuesta

/docs

20Pregunta

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

Respuesta

/openapi.json

21Pregunta

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

Respuesta

Uvicorn

22Pregunta

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

Respuesta

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

23Pregunta

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

Respuesta

Exécuter une opération.

24Pregunta

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

Respuesta

Le statut HTTP 200.

25Pregunta

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

Respuesta

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

26Pregunta

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

Respuesta

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

27Pregunta

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

Respuesta

Ils sont obligatoires par défaut.

28Pregunta

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

Respuesta

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

29Pregunta

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

Respuesta

Il utilise les annotations de type pour convertir et valider.

30Pregunta

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

Respuesta

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

31Pregunta

Quelle annotation utiliser pour un paramètre entier optionnel ?

Respuesta

int | None.

32Pregunta

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

Respuesta

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

33Pregunta

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

Respuesta

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

34Pregunta

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

Respuesta

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

35Pregunta

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

Respuesta

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

36Pregunta

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

Respuesta

Ce sont des entiers.

37Pregunta

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

Respuesta

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

38Pregunta

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

Respuesta

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

39Pregunta

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

Respuesta

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

40Pregunta

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

Respuesta

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

41Pregunta

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

Respuesta

Oui, dans une même application.

42Pregunta

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

Respuesta

Par une liste de dictionnaires représentant chaque voiture.

43Pregunta

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

Respuesta

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

44Pregunta

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

Respuesta

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

45Pregunta

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

Respuesta

Le filtre du nombre de portes, éventuellement.

46Pregunta

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

Respuesta

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

47Pregunta

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

Respuesta

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

48Pregunta

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

Respuesta

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

49Pregunta

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

Respuesta

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

50Pregunta

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

Respuesta

Elle doit lever une HTTPException avec le statut 404.

51Pregunta

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

Respuesta

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

52Pregunta

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

Respuesta

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

53Pregunta

Quand un champ Pydantic est-il obligatoire ?

Respuesta

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

54Pregunta

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

Respuesta

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

55Pregunta

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

Respuesta

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

56Pregunta

Donnez un exemple de conversion automatique par Pydantic.

Respuesta

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

57Pregunta

Quels utilitaires fournissent les modèles Pydantic ?

Respuesta

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

58Pregunta

Que fait la fonction load_db avec cars.json ?

Respuesta

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

59Pregunta

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

Respuesta

Elle utilise Car.model_validate pour la transformation.

60Pregunta

Quelles contraintes impose un fichier JSON sur les guillemets ?

Respuesta

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

61Pregunta

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

Respuesta

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

62Pregunta

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

Respuesta

Elle convertit chaque objet en dictionnaire.

63Pregunta

Comment save_db rend-elle le fichier JSON lisible ?

Respuesta

Elle utilise json.dump avec indent=4.

64Pregunta

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

Respuesta

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

65Pregunta

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

Respuesta

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

66Pregunta

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

Respuesta

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

67Pregunta

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

Respuesta

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

68Pregunta

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

Respuesta

PUT sert à modifier une ressource identifiée.

69Pregunta

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

Respuesta

DELETE sert à supprimer une ressource.

70Pregunta

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

Respuesta

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

71Pregunta

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

Respuesta

L’URL de la voiture avec son identifiant.

72Pregunta

Que renvoie une suppression réussie en REST ?

Respuesta

Le statut 204 No Content avec un corps vide.

73Pregunta

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

Respuesta

Le statut 404 HTTPException.

Ponte a prueba con el cuestionario

Pon a prueba tus conocimientos con 44 preguntas 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 ?

Realiza el cuestionario →

Lee la hoja de repaso

Revisa el curso completo en la hoja de repaso para Fondamentaux de FastAPI.

Ver hoja de repaso →

Similar courses

Crea tus propias tarjetas de memoria

Importa tu curso y la IA genera tarjetas de memoria en 30 segundos.

Generador de tarjetas de memoria