info-canicule/Données_d’observation_swagger.json
Florian 9cfd4f8385
Some checks are pending
Deploy info-canicule / deploy (push) Waiting to run
fix: anomalie fenêtres 3j+7j (worst-case) + carte plus large PC
- normales.ts : computeAnomaly évalue 2 fenêtres (3j pour détecter un pic
  récent, 7j pour la tendance lissée), retient la pire catégorie. Évite
  de noyer un +15°C sur 3 jours dans 4 jours précédents normaux.
- FranceMap : max-w-3xl → max-w-5xl (1024px sur PC, plus lisible).

Mapping dept → station SYNOP (script build-stations-synop.mjs + json statique)
pour préparer l'intégration hourly via API Météo France officielle.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 00:07:18 +02:00

460 lines
No EOL
14 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"openapi": "3.0.1",
"info": {
"title": "DonneesPubliquesObservation",
"version": "1"
},
"servers": [
{
"url": "https://public-api.meteofrance.fr/public/DPObs/v1"
}
],
"security": [
{
"default": []
}
],
"tags": [
{
"name": "Produits Obs",
"description": "Services de téléchargement des données d'observation à la date demandée."
},
{
"name": "Produits Synop",
"description": "Services de téléchargement des messages internationaux dobservation en surface, SYNOP, à la date demandée."
},
{
"name": "Produits Bouees",
"description": "ProduitBouees - Service de téléchargement des données d'observations météorologiques effectuées par les bouées Météo-France, à la date demandée"
}
],
"paths": {
"/station/infrahoraire-6m": {
"get": {
"tags": [
"Produits Obs"
],
"summary": "Télécharger le fichier TEXTE (CSV ou JSON ou GEOJSON) des données d'observation pour tous les paramètres disponibles, à la fréquence 6 minutes, pour une station, à la date la plus proche de la date demandée.",
"description": "Renvoie tous les paramètres disponibles pour la station demandée et pour :\n- la date/heure la plus proche de la date demandée selon les données disponibles.",
"parameters": [
{
"name": "id_station",
"in": "query",
"description": "Identifiant de la station (nomenclature : 8 chiffres selon DDCCCNNN = insee de la commune (DD département, CCC n° de la commune dans le département et NNN n° de la station dans la commune)",
"required": true,
"style": "form",
"explode": true,
"schema": {
"type": "string"
}
},
{
"name": "date",
"in": "query",
"description": "Date demandée (au format ISO 8601 avec TZ UTC : AAAA-MM-JJThh:mm:ssZ).\n\nPar défaut = date courante",
"required": false,
"style": "form",
"explode": true,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "format",
"in": "query",
"description": "Format de retour des données (JSON ou CSV ou GEOJSON)",
"required": true,
"style": "form",
"explode": true,
"schema": {
"type": "string",
"enum": [
"json",
"csv",
"geojson"
]
}
}
],
"responses": {
"200": {
"description": "Si une liste vide est renvoyée : station absente ou inexistante\n \nSinon : OK"
},
"400": {
"description": "Contrôle de paramètres en erreur"
},
"404": {
"description": "Jeu de données inexistant"
}
},
"security": [
{
"default": []
}
],
"x-auth-type": "Application & Application User",
"x-throttling-tier": "Unlimited"
}
},
"/station/horaire": {
"get": {
"tags": [
"Produits Obs"
],
"summary": "Télécharger le fichier TEXTE (CSV ou JSON ou GEOJSON) des données dobservation pour tous les paramètres disponibles, à la fréquence horaire, pour une station, à la date la plus proche de la date demandée.",
"description": "Renvoie tous les paramètres disponibles pour la station demandée et pour :\n- la date/heure la plus proche de la date demandée selon les données disponibles.",
"parameters": [
{
"name": "id_station",
"in": "query",
"description": "Identifiant de la station (nomenclature : 8 chiffres selon DDCCCNNN = insee de la commune (DD département, CCC n° de la commune dans le département et NNN n° de la station dans la commune)",
"required": true,
"style": "form",
"explode": true,
"schema": {
"type": "string"
}
},
{
"name": "date",
"in": "query",
"description": "Date demandée (au format ISO 8601 avec TZ UTC : AAAA-MM-JJThh:mm:ssZ).\n\nPar défaut = date courante",
"required": false,
"style": "form",
"explode": true,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "format",
"in": "query",
"description": "Format de retour des données (JSON ou CSV ou GEOJSON)",
"required": true,
"style": "form",
"explode": true,
"schema": {
"type": "string",
"enum": [
"json",
"csv",
"geojson"
]
}
}
],
"responses": {
"200": {
"description": "Si une liste vide est renvoyée : station absente ou inexistante\n \nSinon : OK"
},
"400": {
"description": "Contrôle de paramètres en erreur"
},
"404": {
"description": "Jeu de données inexistant"
}
},
"security": [
{
"default": []
}
],
"x-auth-type": "Application & Application User",
"x-throttling-tier": "Unlimited"
}
},
"/liste-stations": {
"get": {
"tags": [
"Produits Obs"
],
"summary": "Télécharger le fichier TEXTE (CSV) de la liste des stations d'observation.",
"description": "Renvoie la liste des stations.",
"parameters": [],
"responses": {
"200": {
"description": "OK"
},
"404": {
"description": "La liste est indisponible"
}
},
"security": [
{
"default": []
}
],
"x-auth-type": "Application & Application User",
"x-throttling-tier": "Unlimited"
}
},
"/liste-stations-synop": {
"get": {
"tags": [
"Produits Synop"
],
"summary": "Télécharger le fichier TEXTE de la liste des stations d'observation.",
"description": "Renvoie la liste des stations.",
"parameters": [
{
"name": "format",
"in": "query",
"description": "Format de retour des données (JSON ou CSV ou GEOJSON)",
"required": true,
"style": "form",
"explode": true,
"schema": {
"type": "string",
"enum": [
"json",
"csv",
"geojson"
]
}
}
],
"responses": {
"200": {
"description": "OK"
},
"404": {
"description": "La liste est indisponible"
}
},
"security": [
{
"default": []
}
],
"x-auth-type": "Application & Application User",
"x-throttling-tier": "Unlimited"
}
},
"/synop": {
"get": {
"tags": [
"Produits Synop"
],
"summary": "Télécharger le fichier TEXTE (CSV ou JSON ou GEOJSON) des données SYNOP pour une station, à la date demandée.",
"description": "Renvoie tous les paramètres disponibles pour la station et pour la date/heure demandées.",
"parameters": [
{
"name": "format",
"in": "query",
"description": "Format de retour des données (JSON ou CSV ou GEOJSON)",
"required": true,
"style": "form",
"explode": true,
"schema": {
"type": "string",
"enum": [
"json",
"csv",
"geojson"
]
}
},
{
"name": "id_station",
"in": "query",
"description": "Identifiant(s) de la station (séparés par des , par exemple id_station=07002,07003)",
"required": false,
"style": "form",
"explode": true,
"schema": {
"type": "string"
}
},
{
"name": "date_debut",
"in": "query",
"description": "Date de début d'observation au format AAAA-MM-JJTHH:mm:00Z.",
"required": false,
"style": "form",
"explode": true,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "date_fin",
"in": "query",
"description": "Date de fin d'observation au format AAAA-MM-JJTHH:mm:00Z.",
"required": false,
"style": "form",
"explode": true,
"schema": {
"type": "string",
"format": "date-time"
}
}
],
"responses": {
"200": {
"description": "OK (liste vide si pas de donnée correspondant à la requête)"
},
"400": {
"description": "Contrôle de paramètres en erreur"
},
"401": {
"description": "Non autorisé - informations d'identification non valides"
},
"403": {
"description": "Accès interdit"
},
"404": {
"description": "Jeu de données inexistant et/ou jeu de données indisponible"
},
"500": {
"description": "Erreur interne au serveur"
},
"502": {
"description": "Erreur de passerelle"
},
"503": {
"description": "Service indisponible"
},
"504": {
"description": "Temps trop long"
}
},
"security": [
{
"default": []
}
],
"x-auth-type": "Application & Application User",
"x-throttling-tier": "Unlimited"
}
},
"/liste-bouees": {
"get": {
"tags": [
"Produits Bouees"
],
"summary": "Télécharger le fichier TEXTE de la liste des stations d'observation.",
"description": "Renvoie la liste des stations et bouées.",
"parameters": [
{
"name": "format",
"in": "query",
"required": true,
"style": "form",
"explode": true,
"schema": {
"type": "string",
"enum": [
"json",
"csv",
"geojson"
]
}
}
],
"responses": {
"200": {
"description": "ok"
},
"404": {
"description": "La liste est indisponible"
}
},
"security": [
{
"default": []
}
],
"x-auth-type": "Application & Application User",
"x-throttling-tier": "Unlimited"
}
},
"/bouees": {
"get": {
"tags": [
"Produits Bouees"
],
"summary": "Télécharger le fichier TEXTE (CSV ou JSON ou GEOJSON) des données d'observations pour une station, à la date demandée.",
"description": "Renvoie tous les paramètres disponibles pour la station à la date heure demandée.",
"parameters": [
{
"name": "format",
"in": "query",
"description": "Format de retour des données (JSON ou CSV ou GEOJSON)",
"required": true,
"style": "form",
"explode": true,
"schema": {
"type": "string",
"enum": [
"json",
"csv",
"geojson"
]
}
},
{
"name": "date_debut",
"in": "query",
"description": "Date de début d'observation au format AAAA-MM-JJTHH:mm:00Z",
"required": false,
"style": "form",
"explode": true,
"schema": {
"type": "string"
}
},
{
"name": "date_fin",
"in": "query",
"description": "Date de fin d'observation au format AAAA-MM-JJTHH:mm:00Z",
"required": false,
"style": "form",
"explode": true,
"schema": {
"type": "string"
}
},
{
"name": "id_bouees",
"in": "query",
"description": "Identifiant(s) de la station (séparés par des , par exemple id_station=6100001,6100002)",
"required": false,
"style": "form",
"explode": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "ok (liste vide si aucune donnée ne correspondent à la requête)"
}
},
"security": [
{
"default": []
}
],
"x-auth-type": "Application & Application User",
"x-throttling-tier": "Unlimited"
}
}
},
"components": {
"securitySchemes": {
"default": {
"type": "oauth2",
"flows": {
"implicit": {
"authorizationUrl": "https://public-api.meteofrance.fr/authorize",
"scopes": {}
}
}
}
}
}
}