Swagger UI est la référence en matière de documentation d'API REST. Mais si vous avez essayé de documenter une base de données Firestore avec, vous avez probablement rencontré un obstacle. Firestore n'est pas une API REST — c'est une base de données documentaire avec des collections, des sous-collections et des données imbriquées. Il faut un outil différent.
Qu'est-ce que Swagger UI ?
Swagger UI génère une documentation interactive à partir de spécifications OpenAPI. Il est conçu pour les API REST : endpoints, méthodes HTTP, corps de requête/réponse, codes de statut. Si vous développez une API REST, Swagger est excellent — il montre aux développeurs exactement comment appeler chaque endpoint, quels paramètres envoyer et quelles réponses attendre.
Pourquoi Swagger ne convient pas à Firestore
Firestore est fondamentalement différent d'une API REST :
Pas d'endpoints
Firestore utilise des références de collection, pas des routes URL. Il n'y a pas de GET /users ou POST /orders — vous interagissez via le SDK Firebase avec des chemins de collection comme users/{userId}/orders.
Collections ≠ routes
Une collection Firestore est un groupe de documents avec des schémas flexibles, pas une ressource REST avec des formats fixes de requête/réponse. Les sous-collections ajoutent une dimension supplémentaire que REST ne modélise pas bien.
Le schéma diffère des contrats d'API
OpenAPI décrit des interfaces HTTP. Firestore a besoin d'un schéma au niveau du document : types de champs, règles de validation, objets imbriqués et relations entre collections et sous-collections.
Qu'est-ce que FireSchema ?
FireSchema est conçu spécifiquement pour les bases de données documentaires. Au lieu de spécifications OpenAPI, il utilise des fichiers JSON Schema — un par collection — organisés dans des dossiers qui reflètent votre hiérarchie Firestore. Il génère un visualiseur interactif qui affiche l'arborescence de vos collections, les champs des documents, les types et les descriptions. JSON Schema.
Comparaison des fonctionnalités
| Fonctionnalité | Swagger UI | FireSchema |
|---|---|---|
| Conçu pour | API REST | Bases de données NoSQL |
| Format de spécification | OpenAPI (YAML/JSON) | JSON Schema |
| Modèle de données | Endpoints et méthodes | Collections et documents |
| Sous-collections | Non supporté | Dossier = hiérarchie |
| Backend requis | Souvent oui | Jamais |
| Temps d'installation | Minutes à heures | Moins de 5 minutes |
| Appels d'essai | Oui (appels API) | Non (docs en lecture seule) |
Quand utiliser chacun
Utilisez Swagger UI quand :
- -Vous avez une API REST avec des endpoints HTTP
- -Vous avez besoin de tests API interactifs (try-it-out)
- -Votre équipe utilise déjà des spécifications OpenAPI
Utilisez FireSchema quand :
- -Vous utilisez Firestore ou toute base de données documentaire
- -Vous voulez documenter votre modèle de données (pas les endpoints API)
- -Vous avez besoin de docs sans backend qui fonctionnent comme des fichiers statiques
- -Vous voulez démarrer en moins de 5 minutes
Utilisez les deux quand :
Votre projet a une API REST soutenue par Firestore. Utilisez Swagger pour la couche API et FireSchema pour la couche base de données.
Pour commencer
FireSchema offre à votre base de données Firestore la même qualité de documentation que Swagger offre aux API REST. Configurez-le en 5 minutes et déployez-le comme site statique. Get started in 5 minutes →