Flashcard: Fondamentaux de FastAPI — 73 carte

Tutte le carte

1Domanda

Qu'est-ce que FastAPI ?

Risposta

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

2Domanda

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

Risposta

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

3Domanda

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

Risposta

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

4Domanda

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

Risposta

Pour créer uniquement une API REST.

5Domanda

Quel est l'objectif principal du projet du cours ?

Risposta

Construire une API REST pour une application d’autopartage.

6Domanda

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

Risposta

Créer, modifier et supprimer des voitures.

7Domanda

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

Risposta

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

8Domanda

Quels sujets techniques le cours aborde-t-il ?

Risposta

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

9Domanda

Quelles connaissances sont nécessaires pour suivre le cours ?

Risposta

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

10Domanda

Quelles notions de Python sont indispensables pour ce cours ?

Risposta

Fonctions, classes, dictionnaires et listes.

11Domanda

Quelles versions de Python FastAPI supporte-t-il ?

Risposta

Python 3.8 et versions ultérieures.

12Domanda

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

Risposta

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

13Domanda

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

Risposta

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

14Domanda

Quelle commande installe FastAPI avec toutes ses dépendances ?

Risposta

python -m pip install "fastapi[all]"

15Domanda

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

Risposta

L'application ou le serveur REST du projet.

16Domanda

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

Risposta

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

17Domanda

Quelle commande lance FastAPI en mode développement ?

Risposta

fastapi dev carsharing.py

18Domanda

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

Risposta

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

19Domanda

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

Risposta

/docs

20Domanda

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

Risposta

/openapi.json

21Domanda

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

Risposta

Uvicorn

22Domanda

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

Risposta

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

23Domanda

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

Risposta

Exécuter une opération.

24Domanda

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

Risposta

Le statut HTTP 200.

25Domanda

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

Risposta

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

26Domanda

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

Risposta

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

27Domanda

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

Risposta

Ils sont obligatoires par défaut.

28Domanda

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

Risposta

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

29Domanda

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

Risposta

Il utilise les annotations de type pour convertir et valider.

30Domanda

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

Risposta

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

31Domanda

Quelle annotation utiliser pour un paramètre entier optionnel ?

Risposta

int | None.

32Domanda

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

Risposta

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

33Domanda

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

Risposta

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

34Domanda

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

Risposta

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

35Domanda

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

Risposta

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

36Domanda

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

Risposta

Ce sont des entiers.

37Domanda

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

Risposta

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

38Domanda

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

Risposta

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

39Domanda

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

Risposta

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

40Domanda

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

Risposta

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

41Domanda

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

Risposta

Oui, dans une même application.

42Domanda

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

Risposta

Par une liste de dictionnaires représentant chaque voiture.

43Domanda

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

Risposta

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

44Domanda

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

Risposta

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

45Domanda

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

Risposta

Le filtre du nombre de portes, éventuellement.

46Domanda

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

Risposta

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

47Domanda

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

Risposta

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

48Domanda

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

Risposta

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

49Domanda

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

Risposta

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

50Domanda

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

Risposta

Elle doit lever une HTTPException avec le statut 404.

51Domanda

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

Risposta

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

52Domanda

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

Risposta

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

53Domanda

Quand un champ Pydantic est-il obligatoire ?

Risposta

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

54Domanda

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

Risposta

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

55Domanda

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

Risposta

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

56Domanda

Donnez un exemple de conversion automatique par Pydantic.

Risposta

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

57Domanda

Quels utilitaires fournissent les modèles Pydantic ?

Risposta

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

58Domanda

Que fait la fonction load_db avec cars.json ?

Risposta

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

59Domanda

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

Risposta

Elle utilise Car.model_validate pour la transformation.

60Domanda

Quelles contraintes impose un fichier JSON sur les guillemets ?

Risposta

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

61Domanda

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

Risposta

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

62Domanda

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

Risposta

Elle convertit chaque objet en dictionnaire.

63Domanda

Comment save_db rend-elle le fichier JSON lisible ?

Risposta

Elle utilise json.dump avec indent=4.

64Domanda

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

Risposta

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

65Domanda

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

Risposta

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

66Domanda

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

Risposta

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

67Domanda

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

Risposta

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

68Domanda

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

Risposta

PUT sert à modifier une ressource identifiée.

69Domanda

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

Risposta

DELETE sert à supprimer une ressource.

70Domanda

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

Risposta

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

71Domanda

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

Risposta

L’URL de la voiture avec son identifiant.

72Domanda

Que renvoie une suppression réussie en REST ?

Risposta

Le statut 204 No Content avec un corps vide.

73Domanda

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

Risposta

Le statut 404 HTTPException.

Metti alla prova te stesso con il quiz

Metti alla prova le tue conoscenze con 44 domande su 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 ?

Fai il quiz →

Leggi la scheda di revisione

Ripassa il corso completo nella scheda di revisione per Fondamentaux de FastAPI.

Vedi la scheda di revisione →

Similar courses

Crea le tue flashcard

Importa il tuo corso e l'AI genera flashcard in 30 secondi.

Generatore di flashcard