Portail d'APIs de Météo France
Le portail d'APIs de Météo France vous permet d'accéder aux données ouvertes de Météo France via des APIs
Il vous permet de :
- découvrir les APIs disponibles
- accéder à la documentation pour les utiliser
- les tester
- récupérer les requêtes à intégrer dans vos programmes
Démarrage rapide
Pour pouvoir invoquer des APIs, vous devez effectuer les étapes suivantes :
- Se connecter (Créer un compte lors de la première visite sur https://portail-api.meteofrance.fr/devportal)
- Créer une application
- Souscrire à une API
- Créer un token d'accès JWT
- Invoquer l'API
Comment créer un compte ?
Pour créer un compte sur le portail d'APIs de Météo France, il est nécessaire d'avoir un email valide
Attention : pas de caractères spéciaux
Etapes pour Créer un compte :
- Click SE CONNECTER en haut à droite
- Click Créer un compte
- Entrer votre Nom d'utilisateur (entreprise ou prenom.nom) et click Procéder à l'auto-enregirstrement
- Renseigner les différents champs et click Enregistrer
- Ouvrir votre boite email et clic sur le lien d'activation présent dans le mail
- Se connecter sur le portail d'APIs de Météo France avec votre username et password
Comment créer une application ?
Description
Une application est une représentation logique d'une application physique comme par exemple une application mobile ou un site internet. Si une application a besoin de consommer une API, il faudra que cette application souscrive à l'API avec un quota d'appels auquel l'application est autorisée. Une seule application peut avoir plusieurs abonnements d'API. Chaque application possède une clé publique et une clé privée. Les requêtes adressées aux API souscrites sont authentifiées via les jetons générés à l'aide des derniers identifiants de sécurité mentionnés.
Une application permet de:
- Générer et utilser un unique JWT token pour accéder à plusieurs APIs
- Souscrire plusieurs fois à une même API avec un différent niveau de quota (SLA)
Le portail d'APIs de Météo France crée une application par défaut. Vous pouvez créer la vôtre.
Etapes pour créer une application :
- Etre connecté au portail d'APIs de Météo France
- Click Applications tab
- Click Ajouter une nouvelle application button
- Entrer les détails de l'application and click SAUVEGARDER button pour créer l'application.
Comment souscrire à une API ?
Description
Vous devez souscrire à une API via une application avant d'effectuer des requêtes. Souscrire à une API, vous permet par la suite de générer un token pour être authentifié à cette API.
Voir les concepts clé à connaître avant de souscrire à une API:
- Application
- JWT Access token
Première étape : Etre connecté au portail d'APIs de Météo France
Etape suivante : 2 façons de souscrire à une API
- Par l'API
- Par l'application
Par l'Api
- Click sur l'API pour voir son détail
- Click le menu Abonnements
- Dans la page Abonnements, choisir votre application, un quota et S'ABONNER
Par l'application
- Click l'onglet Applications, click sur votre application pour voir son détail
- Click sur le menu Abonnements
- Click +S'ABONNER AUX APIS
- Dans la pop-up, choisir l'api, le quota et S'ABONNER
Comment créer un token d'accès JWT ?
Description
Les jetons d'accès JWT sont des jetons qui authentifient et autorisent une application (qui a souscrit à une collection logique d'APIs). Vous pouvez accéder à plusieurs APIs avec le même jeton.
Pour être authentifié et autorisé, nous vous proposons 2 protocoles différents :
- Par API keys Avantage : Plus simple à mettre en place
- Par Oauth2 acces token Avantage : Plus sécurisé avec un renouvellement du jeton toutes les heures
Inconvénient : Le token ne doit pas être exposé sur un site internet ou dans une application mobile au risque d'être subtilisé et utilisé à mauvais escient.
Inconvénient : Plus compliqué à mettre en place
Les étapes suivantes sont communes aux 2 protocoles :
- Click Applications tab, click sur votre application pour accéder à son détail
- Click Productions Keys tab
- La première fois : click on GENERATE KEYS pour générer les clés (privée et publique) de l'application.
Accès par API key protocol
Les étapes suivantes explique comment générer un token JWT avec le protocole API key
- Click Api Key
- Vous pouvez choisir une restriction (par exemple : si vous choisissez IP Adresses en renseignant votre IP, seule votre IP pourra utiliser le token)
- Click on GENERATE KEYS pour créer un JWT token (par défaut la validité sera de 3 ans (maximum autorisé), vous pouvez choisir une période limitée)
- Click on GENERATE pour générer le JWT token
Attention : Pour que le token soit valide vous devez avant de le générer, vous être abonné à toutes les APIs que vous souhaitez utiliser. Si vous vous abonnez à une nouvelle API, le token généré auparavant ne fonctionnera pas pour cette nouvelle API.
Vous pouvez passer à l'étape : Comment invoquer une API ?
Accès par Oauth2 protocol
Les étapes suivantes explique comment générer un token JWT avec le protocole Oauth2
- Click Oauth2 token
- Click sur UPDATE pour générer le JWT token
La période de validité du token généré est de 3600 secondes
Vous pouvez également régénérer le token par Click sur GENERATE ACCES TOKEN
Vous pouvez récupérer les commandes cURL pour aussi régénérer le token par Click sur CURL TO GENERATE ACCES TOKEN
Avec le protocole Oauth2, le token a un durée de vie limitée, donc il faut le régénérer régulièrement, le paragraphe suivant explique quelle logique mettre en place pour cela.
Logique à mettre en place pour régénérer un token dans votre programme
Pour un programme ayant à effectuer des requêtes continuellemnt, c'est nécessaire d'implémenter une logique de renouvellemnt du token.
Voici un shéma expliquant cette logique à implémenter :

Exemple d'un programme pyhon effectuant des requêtes avec la mise en place du renouvellement de token
import json import requests import time # Example of a Python implementation for a continuous authentication client. # It's necessary to : # - update APPLICATION_ID # - update request_url at the end of the script # unique application id : you can find this in the curl's command to generate jwt token or with Base64(consumer-key:consumer-secret) keys application APPLICATION_ID = 'xxxxx' # url to obtain acces token TOKEN_URL = "https://portail-api.meteofrance.fr/private/nativeAPIs/token" class Client(object): def __init__(self): self.session = requests.Session() def request(self, method, url, **kwargs): # First request will always need to obtain a token first if 'Authorization' not in self.session.headers: self.obtain_token() # Optimistically attempt to dispatch reqest response = self.session.request(method, url, **kwargs) if self.token_has_expired(response): # We got an 'Access token expired' response => refresh token self.obtain_token() # Re-dispatch the request that previously failed response = self.session.request(method, url, **kwargs) return response def token_has_expired(self, response): status = response.status_code content_type = response.headers['Content-Type'] if status == 401 and 'application/json' in content_type: if 'expired' in response.headers['WWW-Authenticate']: return True return False def obtain_token(self): # Obtain new token data = {'grant_type': 'client_credentials'} headers = {'Authorization': 'Basic ' + APPLICATION_ID} access_token_response = requests.post(TOKEN_URL, data=data, verify=False, allow_redirects=False, headers=headers) token = access_token_response.json()['access_token'] # Update session with fresh token self.session.headers.update({'Authorization': 'Bearer %s' % token}) def main(): client = Client() # Issue a series of API requests an example. For use this test, you must first subscribe to the arome api with your application client.session.headers.update({'Accept': 'application/json'}) for i in range(100): response = client.request('GET', 'https://public-api.meteofrance.fr/public/arome/1.0/wms/MF-NWP-HIGHRES-AROME-001-FRANCE-WMS/GetCapabilities?service=WMS&version=1.3.0', verify=False) print(response.status_code) time.sleep(120) if __name__ == '__main__': main() |
Comment invoquer une API ?
Si vous avez créer votre application, générer les clés de l'application, souscrit à l'API, vous pouvez maintenant invoquer (requeter) l'API.
- Se connecter sur le portail d'APIs de Météo France (https://portail-api.meteofrance.fr/devportal) et click sur l'API pour ouvrir son détail. Clic sur Test dans le menu vertical à gauche.
- Choisir le type de protocole (Oauth or API Key)
- Choisir votre application
- Click OBTENIR UN TOKEN pour générer un token (que vous pouvez garder par la suite, si c'est un token de type ApiKey, sa durée est de 3 ans, si c'est un token de type Oauth2, sa durée est de 1 heure)
- Clic sur GET/PUT/... méthodes et click Try it out. Renseigner les paramètres requis et click Execute.
Résultats affichés :
- réponse de la requête
- les commandes cURL que vous pouvez récupérer pour les utiliser dans vos programmes
- API key protocole Spécifier le JWT token dans le header comme suit :
- Oauth2 protocole Spécifier le JWT token dans le header comme suit :
curl -X GET "https://url.meteofrance.fr/public/myressource" -H "accept: application/json" -H "apikey: myJwtApiKeyToken" |
Attention : Avant de rajouter le token JWT en paramètre, vous devez l'encoder via un site comme par exemple : https://www.urlencoder.org/
curl -X GET "https://url.meteofrance.fr/public/myressource?apikey=monJwtApiKeyTokenEncode" |
curl -X GET "https://url.meteofrance.fr/public/myressource" -H "accept: application/json" -H "Authorization: Bearer myJwtOauth2Token" |
Concepts clé
Application
Une application est une collection logique d'APIs. Elle vous permet:
- Générer et utiliser un seul token pour plusieurs APIs
- Souscrire plusieurs fois à la même API avec un quota différent
Le gestionnaire d'APIs vous crée une application par défaut. Vous pouvez créer la vôtre.
JWT tokens
JSON Web Token (JWT) est un 'open standard' pour authentifier, autoriser et transmettre des informations de manière sécurisée entre 2 parties. Comme le token est digitalement signé, les informations sont sécurisées. Le JWT token présente l'avantage de contenir des informations (comme sa date de création, sa date de fin)
Pour décoder votre JWT token vous pouvez aller sur le site suivante https://jwt.io/
Quota
Une fois authentifiée et autorisée, toute application est limitée à un nombre de requête sur une API pour une période