Karteikarten: Fondamentaux de FastAPI — 73 Karten

Alle Karten

1Frage

Qu'est-ce que FastAPI ?

Antwort

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

2Frage

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

Antwort

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

3Frage

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

Antwort

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

4Frage

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

Antwort

Pour créer uniquement une API REST.

5Frage

Quel est l'objectif principal du projet du cours ?

Antwort

Construire une API REST pour une application d’autopartage.

6Frage

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

Antwort

Créer, modifier et supprimer des voitures.

7Frage

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

Antwort

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

8Frage

Quels sujets techniques le cours aborde-t-il ?

Antwort

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

9Frage

Quelles connaissances sont nécessaires pour suivre le cours ?

Antwort

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

10Frage

Quelles notions de Python sont indispensables pour ce cours ?

Antwort

Fonctions, classes, dictionnaires et listes.

11Frage

Quelles versions de Python FastAPI supporte-t-il ?

Antwort

Python 3.8 et versions ultérieures.

12Frage

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

Antwort

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

13Frage

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

Antwort

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

14Frage

Quelle commande installe FastAPI avec toutes ses dépendances ?

Antwort

python -m pip install "fastapi[all]"

15Frage

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

Antwort

L'application ou le serveur REST du projet.

16Frage

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

Antwort

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

17Frage

Quelle commande lance FastAPI en mode développement ?

Antwort

fastapi dev carsharing.py

18Frage

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

Antwort

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

19Frage

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

Antwort

/docs

20Frage

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

Antwort

/openapi.json

21Frage

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

Antwort

Uvicorn

22Frage

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

Antwort

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

23Frage

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

Antwort

Exécuter une opération.

24Frage

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

Antwort

Le statut HTTP 200.

25Frage

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

Antwort

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

26Frage

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

Antwort

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

27Frage

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

Antwort

Ils sont obligatoires par défaut.

28Frage

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

Antwort

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

29Frage

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

Antwort

Il utilise les annotations de type pour convertir et valider.

30Frage

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

Antwort

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

31Frage

Quelle annotation utiliser pour un paramètre entier optionnel ?

Antwort

int | None.

32Frage

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

Antwort

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

33Frage

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

Antwort

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

34Frage

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

Antwort

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

35Frage

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

Antwort

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

36Frage

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

Antwort

Ce sont des entiers.

37Frage

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

Antwort

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

38Frage

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

Antwort

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

39Frage

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

Antwort

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

40Frage

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

Antwort

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

41Frage

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

Antwort

Oui, dans une même application.

42Frage

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

Antwort

Par une liste de dictionnaires représentant chaque voiture.

43Frage

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

Antwort

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

44Frage

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

Antwort

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

45Frage

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

Antwort

Le filtre du nombre de portes, éventuellement.

46Frage

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

Antwort

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

47Frage

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

Antwort

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

48Frage

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

Antwort

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

49Frage

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

Antwort

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

50Frage

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

Antwort

Elle doit lever une HTTPException avec le statut 404.

51Frage

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

Antwort

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

52Frage

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

Antwort

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

53Frage

Quand un champ Pydantic est-il obligatoire ?

Antwort

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

54Frage

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

Antwort

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

55Frage

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

Antwort

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

56Frage

Donnez un exemple de conversion automatique par Pydantic.

Antwort

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

57Frage

Quels utilitaires fournissent les modèles Pydantic ?

Antwort

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

58Frage

Que fait la fonction load_db avec cars.json ?

Antwort

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

59Frage

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

Antwort

Elle utilise Car.model_validate pour la transformation.

60Frage

Quelles contraintes impose un fichier JSON sur les guillemets ?

Antwort

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

61Frage

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

Antwort

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

62Frage

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

Antwort

Elle convertit chaque objet en dictionnaire.

63Frage

Comment save_db rend-elle le fichier JSON lisible ?

Antwort

Elle utilise json.dump avec indent=4.

64Frage

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

Antwort

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

65Frage

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

Antwort

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

66Frage

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

Antwort

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

67Frage

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

Antwort

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

68Frage

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

Antwort

PUT sert à modifier une ressource identifiée.

69Frage

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

Antwort

DELETE sert à supprimer une ressource.

70Frage

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

Antwort

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

71Frage

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

Antwort

L’URL de la voiture avec son identifiant.

72Frage

Que renvoie une suppression réussie en REST ?

Antwort

Le statut 204 No Content avec un corps vide.

73Frage

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

Antwort

Le statut 404 HTTPException.

Teste dich mit dem Quiz

Teste dein Wissen mit 44 Fragen zu 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 ?

Quiz machen →

Lernzettel lesen

Überprüfe den vollständigen Kurs im Lernzettel zu Fondamentaux de FastAPI.

Lernzettel ansehen →

Similar courses

Erstelle deine eigenen Karteikarten

Importiere deinen Kurs und die KI erstellt in 30 Sekunden Karteikarten.

Karteikarten-Generator