Exploiter les données de biodiversité en PHP et avec Drupal grâce à la bibliothèque PHP GBIF
Le projet Musa in situ, mené conjointement par le CIRAD et Bioversity, recueille des données sur les Musacées1 de par le monde, en conditions naturelles ou s'en approchant. L'objectif principal est d'obtenir une image la plus précise possible de la diversité géographique naturelle des Musacées. Il s'appuyait initialement sur un projet sur iNaturalist, mais par la suite il s'est ouvert à d'autres sources de données, notamment le GBIF (Global Biodiversity Information Facility), qui a pour but de mettre à disposition toute l'information connue sur la biodiversité. En particulier, ces données sont accessibles à travers une interface REST.
Le GBIF permet un accès à ces données via une interface web qui utilise en interne cette interface REST. Cependant, dans le cadre du travail effectué pour MGIS, il était souhaitable de pouvoir interroger ces données directement depuis ce site, idéalement au moyen d'une vue, afin de choisir quelles données importer en base, et assurer une cohérence avec ce qui avait déjà été importé, ou ce que l'on s'interdit d'importer.
Il se trouve que le langage R dispose d'une mise en œuvre de référence, rgbif. Ce client constitue une abstraction permettant d'interroger la base du GBIF sans avoir à entrer dans le détail des requêtes à effectuer en service web. Il a été porté de manière plus ou moins exhaustive en Python (pygbif) et Ruby (gbifrb). Il faut désormais compter avec PHP GBIF, développé dans le cadre de ce projet. Notre espoir est que ce projet libre2 puisse être utile à d'autres acteurs souhaitant interagir avec ce catalogue central de la biodiversité mondiale.
L'installer est aussi simple qu'un composer require restelae/php-gbif
. Cette bibliothèque requiert la version 7.2 de PHP ou toute version supérieure. Vous trouverez sur sa page d'accueil toutes les informations nécessaires à son utilisation, complétées par une documentation générée automatiquement avec Doxygen.
Nous avons également écrit un module pour Drupal3 s'appuyant sur cette bibliothèque pour permettre d'afficher les occurrences du GBIF avec Views, uniquement en site building, par appels en service web, sans passer par la base locale ! Couplé avec Views Bulk Operations, on peut tout à fait s'en servir pour traiter en local les données du GBIF sélectionnées, par exemple les importer localement avec le module Migrate.
À l'heure actuelle, le projet permet uniquement de récupérer ou de rechercher des occurrences ou des espèces. Nous sommes à la recherche de sponsors et de contributeurs pour mettre en œuvre l'ensemble de l'API du GBIF, et de la sorte faciliter grandement l'accès à l'ensemble des données du GBIF à tous les projets écrits en PHP. N'hésitez pas à nous contacter si cela vous intéresse !