Interfaces et services
Consommer les données du portail depuis un système d'information, un SIG ou un script.
Le SIT ANAT expose ses ressources par une interface de programmation et par les services cartographiques normalisés de l'OGC. Ce qu'une requête retourne dépend du compte qui la porte : les règles de diffusion s'appliquent aux services comme aux écrans du portail.
Interface de programmation
La racine de l'interface est https://anat-sit.maono-soft.com/api/v2/. Elle répond en JSON et se parcourt depuis un navigateur.
| Point d'entrée | Contenu |
|---|---|
/api/v2/resources | Toutes les ressources, quel que soit leur type. |
/api/v2/datasets | Les jeux de données, avec leur nom de couche et leur emprise. |
/api/v2/maps | Les cartes et leur composition. |
/api/v2/documents | Les documents joints. |
Les listes se filtrent et se trient par paramètres de requête. Par exemple, les jeux de données d'une catégorie :
GET https://anat-sit.maono-soft.com/api/v2/datasets?filter{category.identifier}=eau&page_size=50
Référence complète et essais en ligne
La description normalisée de l'interface, au format OpenAPI, se lit à https://anat-sit.maono-soft.com/api/v2/schema/ : elle s'importe dans Postman, Insomnia ou un générateur de client. Deux pages permettent de la parcourir et d'essayer les appels depuis le navigateur.
| Page | Usage |
|---|---|
| Swagger | Parcourir les points d'entrée et lancer des appels, connecté ou non. |
| Redoc | Lire la référence en continu, avec les schémas de données. |
La racine https://anat-sit.maono-soft.com/api/v2/ rappelle elle-même ces moyens d'authentification, sous les clés _documentation et _authentification.
S'authentifier
Deux moyens sont en service, tous deux rattachés à un compte du portail. Il n'existe pas de client d'interface distinct d'un compte : un versement automatique passe par un compte de service créé pour la structure, à qui le point focal accorde les habilitations voulues.
Authentification de base
Rien à préparer : l'identifiant et le mot de passe du compte, sur une connexion chiffrée. C'est le moyen le plus simple pour un script.
curl -u compte:motdepasse https://anat-sit.maono-soft.com/api/v2/resources
Jeton OAuth2
Il demande une préparation par l'ANAT. Le portail n'expose qu'une seule application OAuth2, celle qui relie GeoServer, et elle ne convient pas à un script : un appel à https://anat-sit.maono-soft.com/o/token/ sans application dédiée répond invalid_client. Pour un compte de service, l'ANAT crée une application OAuth2 confidentielle au mode « mot de passe du propriétaire de la ressource », puis vous remet son client_id et son client_secret. Le jeton s'obtient alors ainsi :
curl -X POST https://anat-sit.maono-soft.com/o/token/ \
-d grant_type=password \
-d username=<compte> -d password=<mot de passe> \
-d client_id=<client_id> -d client_secret=<client_secret>
La réponse porte un access_token valable dix heures, un refresh_token et la portée openid read write groups. Le jeton se présente ensuite en en-tête sur l'interface de programmation, ou en paramètre access_token sur les services de GeoServer.
curl -H "Authorization: Bearer <access_token>" https://anat-sit.maono-soft.com/api/v2/resources
Sans authentification, une requête ne voit que les ressources ouvertes au public.
Publier depuis l'interface
La route de publication accepte un champ diffusion, dont les valeurs sont structure, administrations, partenaires et public. Trois règles la gouvernent.
- Le champ absent vaut
administrations. Le niveau public n'est jamais ouvert implicitement. - Un compte qui n'est pas habilité à ouvrir le niveau demandé reçoit un refus motivé, et la ressource reste confinée à sa structure.
- Une publication autorisée enregistre une décision au nom du compte qui l'a faite, notifie le point focal, et apparaît dans l'historique de la ressource.
Ces habilitations sont nominatives, portent une période, et ne sont accordées que si la structure a été déclarée autonome au cran correspondant. Le circuit complet est décrit sur la page À propos.
Services cartographiques OGC
Les couches sont servies par GeoServer sous les protocoles normalisés de l'Open Geospatial Consortium. Ces adresses se collent telles quelles dans QGIS, ArcGIS ou une bibliothèque cartographique.
WMS https://anat-sit.maono-soft.com/geoserver/ows?service=WMS&version=1.3.0&request=GetCapabilities
WFS https://anat-sit.maono-soft.com/geoserver/ows?service=WFS&version=2.0.0&request=GetCapabilities
Le nom d'une couche se lit sur sa fiche dans le catalogue, sous la forme espace:couche. Une extraction au format Shapefile s'obtient ainsi :
https://anat-sit.maono-soft.com/geoserver/ows?service=WFS&version=2.0.0&request=GetFeature
&typeNames=espace:couche&outputFormat=SHAPE-ZIP
Les droits d'accès s'appliquent à ces services : une couche que votre compte ne voit pas dans le catalogue est refusée par GeoServer. Pour un accès authentifié, ajoutez le jeton OAuth2 en paramètre access_token ou en en-tête.
Catalogue de métadonnées
Les métadonnées sont moissonnables par le protocole CSW, à la norme ISO 19115. N'importe quel client CSW convient, dont l'extension MetaSearch de QGIS.
https://anat-sit.maono-soft.com/catalogue/csw?service=CSW&version=2.0.2&request=GetCapabilities
Ce qu'il faut savoir avant d'intégrer
- Les données ne sont pas versionnées. Une mise à jour de couche remplace la précédente et prend effet aussitôt : gardez la date de dernière modification à côté de vos extractions.
- La licence engage la réutilisation. Elle est portée par chaque ressource et vérifiée avant publication : lisez-la avant de rediffuser.
- Les niveaux de diffusion peuvent changer. L'ANAT conserve le droit de retirer une publication ; une intégration doit gérer une ressource devenue inaccessible.