THE MEDIA FOR AI THAT ACTUALLY HELPS.French edition · Understand & take action
The interface is in English. Use cases, skills and articles remain in French.
Microsoft

Créer des routeurs FastAPI avec CRUD et dépendances d’authentification

fastapi-router-py

En bref

Le texte source décrit la création de routeurs FastAPI, avec des opérations CRUD, des dépendances d’authentification et des modèles de réponse. L’usage typique est de poser des points d’accès REST, des codes HTTP adaptés (201 à la création, 204 à la suppression), monter le routeur, et relier des modèles Pydantic. On choisit `def` ou `async def` selon que l’on appelle des entrées-sorties asynchrones : on n’appelle pas d’entrées-sorties bloquantes depuis un gestionnaire `async def`. Les ressources de longue durée (pools, clients HTTP) se gèrent dans `lifespan` et s’injectent via `Depends`. Un modèle se trouve dans `assets/template.py`. Ce n’est pas le déploiement de l’appli sur App Service (skill sœur).

Ce que ça fait

  • Poser des points d’accès REST, des codes HTTP adaptés (201 à la création, 204 à la suppression), monter le routeur, et relier des modèles Pydantic.
  • On choisit `def` ou `async def` selon que l’on appelle des entrées-sorties asynchrones : on n’appelle pas d’entrées-sorties bloquantes depuis un gestionnaire `async def`.
  • Les ressources de longue durée (pools, clients HTTP) se gèrent dans `lifespan` et s’injectent via `Depends`.
  • Un modèle se trouve dans `assets/template.py`.
  • Ce n’est pas le déploiement de l’appli sur App Service (skill sœur).
  • Le langage de référence est Python.

Pour qui, et un exemple

Les équipes Python qui ajoutent un routeur FastAPI, des routes authentifiées et des modèles de réponse, plutôt que de déployer l’appli sur Azure.

Exemple de demande : « Ajoute un routeur FastAPI pour cette ressource, avec CRUD, un modèle de réponse, et sans I/O bloquant dans un async def. »

On s’en sert pour créer un routeur FastAPI, des points d’accès REST, un CRUD, ou une route authentifiée, avec les modèles et les codes de statut documentés. Exemple rédigé par iadujour.fr à partir du SKILL.md, non testé.

Installer

npx skills add microsoft/skills (sélection de la skill dans l’assistant, README).

npx skills add microsoft/skills

Fonctionne avec

  • GitHub Copilot
  • Copilot CLI

Source : README : exemples de « Copilot CLI » et « GitHub Copilot in VS Code » ; l’installation `npx skills add` envoie les fichiers vers le répertoire de l’agent choisi, sans liste exhaustive.

Niveau : Intermédiaire

Suppose un projet de l’éditeur et la maîtrise du SDK ou de la CLI correspondante.

À savoir

Dépôt officiel Microsoft ; le README le présente comme un travail en cours (skills et tests encore enrichis).

Extrait du SKILL.md

La description d’origine, celle que l’agent lit pour décider de charger la skill (en anglais) :

Create FastAPI routers with CRUD operations, authentication dependencies, and proper response models. Use when building REST API endpoints, creating new routes, implementing CRUD operations, or adding authenticated endpoints in FastAPI applications.

Citée depuis le SKILL.md au commit 4a2873f . Le dossier contient aussi 2 fichiers annexes (assets/, references/).

Le SKILL.md compte 63 lignes et 7 sections principales :

  • Quick Start
  • Authentication Patterns
  • Response Models
  • HTTP Status Codes
  • Integration Steps
  • Best Practices
  • Reference Files

Licence : MIT

Vérifiée le 10 novembre 2026 sur : fichier LICENSE du dépôt . Licence déclarée dans le frontmatter : « MIT ». Titulaire : Copyright (c) Microsoft Corporation..

La licence autorise la reprise : le texte intégral du SKILL.md est reproduit ci-dessous, sans modification, avec sa mention de licence.

Texte intégral du SKILL.md

Reproduit sans modification depuis microsoft/skills (commit 4a2873f) , © Microsoft, sous licence MIT (fichier de licence d’origine ).

Afficher le SKILL.md original (63 lignes, en anglais)
---
name: fastapi-router-py
description: Create FastAPI routers with CRUD operations, authentication dependencies, and proper response models. Use when building REST API endpoints, creating new routes, implementing CRUD operations, or adding authenticated endpoints in FastAPI applications.
license: MIT
metadata:
  author: Microsoft
  version: "1.0.0"
---

# FastAPI Router

Create FastAPI routers following established patterns with proper authentication, response models, and HTTP status codes.

## Quick Start

Copy the template from [assets/template.py](assets/template.py) and replace placeholders:
- `{{ResourceName}}` → PascalCase name (e.g., `Project`)
- `{{resource_name}}` → snake_case name (e.g., `project`)
- `{{resource_plural}}` → plural form (e.g., `projects`)

## Authentication Patterns

```python
# Optional auth - returns None if not authenticated
current_user: Optional[User] = Depends(get_current_user)

# Required auth - raises 401 if not authenticated
current_user: User = Depends(get_current_user_required)
```

## Response Models

```python
@router.get("/items/{item_id}", response_model=Item)
async def get_item(item_id: str) -> Item:
    ...

@router.get("/items", response_model=list[Item])
async def list_items() -> list[Item]:
    ...
```

## HTTP Status Codes

```python
@router.post("/items", status_code=status.HTTP_201_CREATED)
async def create_item(item: ItemCreate) -> Item:
  ...

@router.delete("/items/{id}", status_code=status.HTTP_204_NO_CONTENT)
async def delete_item(id: str) -> None:
  ...
```

## Integration Steps

1. Create router in `src/backend/app/routers/`
2. Mount in `src/backend/app/main.py`
3. Create corresponding Pydantic models
4. Create service layer if needed
5. Add frontend API functions

## Best Practices

1. **Pick `def` or `async def` per endpoint based on whether you call async I/O; do not call blocking I/O from an `async def` handler.**
2. **Manage long-lived resources (DB pools, HTTP clients) in `lifespan` and inject via `Depends`;** use `with`/`async with` for per-request resources.

## Reference Files

| File | Contents |
|------|----------|
| [references/capabilities.md](references/capabilities.md) | Additional non-hero capabilities, operation-group coverage, and production checklists. |
Source. Fiche rédigée par iadujour.fr à partir de : Frontmatter, sections et corps du SKILL.md, README du dépôt. Consultée le 10 novembre 2026. Dépôt : microsoft/skills .
MÊME ÉDITEUR

Autres skills Microsoft : Outils de développement

Toute la catégorie
MicrosoftOutils de développement

Capturer la sortie de débogage Windows avec DebugView CLI

debugview

Porte sur Sysinternals DebugView CLI (DbgViewCli), pour capturer et analyser, en ligne de commande, la sortie de débogage Windows en mode utilisateur ou noyau : OutputDebugString, DbgPrint/KdPrint, journalisation au démarrage, surveillance distante, filtrage par PID ou nom de processus, analyse de vidage sur incident, et capture automatisée à exécution bornée.

Outils : GitHub Copilot, Copilot CLINiveau : Avancémàj 16/06/2026
MicrosoftOutils de développement

Installer ou mettre à jour le M365 Agents Toolkit

install-atk

La skill installe ou met à jour le M365 Agents Toolkit (ATK) : l’interface en ligne de commande, l’extension Visual Studio Code, ou les deux, selon la demande (install atk, update atk, installer le VSIX, passer à la dernière version).

Outils : GitHub Copilot, Copilot CLINiveau : Intermédiairemàj 15/06/2026
ÉCHANGES

Commentaires.

Un retour d’expérience, une question, une précision sur cette skill ? Les commentaires sont relus avant publication.

Commentaires publiés

Chargement des commentaires…

    Laisser un commentaire

    Charte de modération. Chaque commentaire est relu avant publication. Sont refusés : l’incitation à la haine, les propos injurieux ou discriminatoires, la publicité, le spam et les liens promotionnels, le hors-sujet et les données personnelles d’autrui.