Plugin Taxonomie, les services web

Cet article décrit les services complémentaires qui permettent de remplir ou d’améliorer certains champs des taxons.

Les services nécessaires au plugin Taxonomie

Le plugin Taxonomie utilise divers services taxonomiques, la plupart offrant une API web, à savoir :

  • ITIS,
  • Wikipedia,
  • IUCN red list,
  • GBIF.

Seul ITIS est indispensable au plugin car il fourni les données de base de chaque taxon et en particulier son identifiant unique, le TSN. Les autres services sont d’utilisation facultative, à la discrétion de l’utilisateur.

Pour éviter de surcharger les services web, le plugin Taxonomie adopte deux stratégies :

  • utiliser un fichier téléchargé ou construit à partir du service concerné et embarqué dans le plugin (cas des fichiers d’importation des taxons du règne au genre pour ITIS) ;
  • ou utiliser un cache pour stocker l’information fournie par le service et éviter de refaire appel pendant plusieurs jours voire semaines. Ces caches sont rechargés très rarement car les informations qu’ils contiennent changent peu. Une interface d’administration permet de les supprimer manuellement si besoin. Étant donné que l’on connait toujours le TSN quand on utilise ces actions, le fichier de cache est nommé de la façon suivante : ${service}[_${action}]_${tsn}[_${langue}].txt. Le nom de l’action et la langue sont optionnels.

Les services peu utilisés ou fournissant une quantité limitée de données sont utilisés directement au travers d’une encapsulation de l’API du service sans cache intermédiaire. Dans la suite de l’article, pour chaque fonction il sera précisée le mode de gestion adopté.

Le service ITIS

Les fonctions d’API

Le service taxonomique ITIS est la brique de base du plugin Taxonomie en ce sens qu’il est utilisé pour créer l’ensemble des taxons de la base. Taxonomie organise l’API de ce service en distinguant :

  • les fonctions permettant le chargement automatique, pour un règne donné, des taxons du règne au genre ;
  • les fonctions de recherche de taxons ;
  • et les fonctions de récupération d’informations sur un taxon donné.

Le plugin Taxonomie n’utilise qu’une partie de l’API Web proposée par ITIS mais elle suffit amplement aux besoins du plugin. Le tableau suivant décrit les fonctions d’API fournies par Taxonomie pour utiliser le service ITIS.

Fonction Description Cache ?
F1 - Fonctions de chargement des taxons du règne au genre
itis_read_hierarchy Lit le fichier hiérarchique ITIS des taxons d’un règne (du règne au genre) et renvoie la liste des descriptions des taxons retenus non
itis_read_ranks Lit le fichier des rangs d’un règne donné et construit la hiérarchie de ces mêmes rangs non
itis_read_vernaculars Lit le fichier des noms communs - tout règne confondu - d’une langue donnée et renvoie un tableau de tous ces noms indexés par leur TSN non
itis_list_vernaculars Renvoie la liste des noms communs définis pour certains taxons dans une langue donnée mais tout règne confondu non
F2 - Fonctions de recherche
itis_search_tsn Permet, à partir du nom commun ou du nom scientifique de trouver le TSN du ou des taxons cherchés si ils existent dans la base non
F3 - API d’information sur un taxon
itis_get_record Renvoie, à partir du TSN, l’ensemble des informations disponibles sur le taxon oui
itis_get_information Renvoie, à partir du TSN, l’information unitaire demandée oui

Le premier groupe de fonctions - F1 - est utilisé exclusivement pour charger les taxons du règne au genre à partir des fichiers ITIS embarqués dans le plugin.

Les groupes F2 et F3 sont eux principalement utilisés pour ajouter des espèces car la création d’une espèce se fait en général par son nom scientifique ou commun. De fait, il faut appeler l’action search_tsn pour récupérer le TSN et ensuite enchaîner par l’action get_record en passant le TSN fourni précédemment.

Les fichiers embarqués dans le plugin

Pour créer les fichiers de taxons par règne, on utilise le service web « hierarchical report » en choisissant le règne souhaité jusqu’au rang genre (genus en anglais) et les options display TSN et display author. Les fichiers obtenus sont au format texte et se nomment ${regne}_genus.txt ; il est parfois nécessaire de les sauvegarder avec un EOL Unix (LF). Ils sont inclus tels quels dans le répertoire services/itis/ du plugin.

Il faut noter que le rang principal de niveau 2 est appelé phylum (embranchement) ou division suivant le règne : phylum pour le règne animal, division pour les règnes fongique et végétal. Il est donc nécessaire que les fonctions du plugin en tiennent compte.

Les fichiers de noms communs vernaculars_${langue}.csv sont plus complexes à créer car ils ne sont pas le résultat d’une requête au service web d’ITIS. En effet, il faut les créer en exportant le résultat d’une requête SQL à la base de données complète d’ITIS. Pour ce faire, il faut au préalable télécharger la base SQLite d’ITIS et l’installer en local.
Dès lors, chaque fichier est un export CSV basée sur une requête à la table vernaculars qui renvoie dans l’ordre le tsn (tsn) et le nom commun (vernacular_name) à partir de la table vernaculars et pour un langage donné (language=French ou language=English) en limitant les taxons aux 3 règnes supportés (3 pour Plantae, 4 pour Fungi et 5 pour Animalia). Le code SQL est fourni ci-dessous.

select v.tsn, v.vernacular_name
from vernaculars as v, taxonomic_units as t
where v.language="English"
and t.kingdom_id in (3,4,5)
and v.tsn=t.tsn
order by v.tsn

Enfin, les fichiers JSON qui fournissent la liste des rangs, leurs caractéristiques et leur dépendance pour chaque règne sont aussi issus de la base de données ITIS par export de la table taxon_units_types. Le code SQL est fourni ci-dessous.

select *
from taxon_unit_types
where kingdom_id=5
order by rank_id

Les statistiques sur les taxons

Pour les taxons du règne au genre, les fichiers de taxons et de traductions donnent les tatistiques suivantes depuis 2014.

Date/typeAnimaliaFungiPlantae
Mars 2024
- taxons 67296 1664 7851
- noms en [fr] 461 3 74
- noms en [en] 4064 3 2463
Février 2019
- taxons 61775 1664 7472
- noms en [fr] 460 3 72
- noms en [en] 3723 3 2445
Janvier 2018
- taxons 54933 1618 7362
- noms en [fr] 432 3 70
- noms en [en] 3477 3 2435
Mai 2016
- taxons 52011 1618 7335
- noms en [fr] 432 3 70
- noms en [en] 3475 3 2436
Octobre 2015
- taxons 51892 1618 7335
- noms en [fr] 432 3 70
- noms en [en] 3472 3 2436
Février 2015
- taxons 50496 1618 7334
- noms en [fr] 432 3 70
- noms en [en] 3229 3 2432
Novembre 2014
- taxons 50336 1617 7186
- noms en [fr] 432 3 69
- noms en [en] 3230 3 2434

Le nombre de taxons évolue quand même fortement en 10 ans. On est passé pour le règne animal d’un peu plus de 50000 taxons en 2014 à plus de 67000 taxons en 2019. Par contre, la traduction des noms communs est très limitée surtout pour le français et évolue peu. Un complément à ITIS pour le français en particulier serait appréciable.

Le service Wikipedia

Une fois le taxon inséré dans la base à partir de ses informations ITIS, il est donc connu par son identifiant unique et universel, le TSN. Il peut être complété par tout autre service taxonomique ou manuellement par les utilisateurs. C’est le cas du descriptif et du texte qui peuvent être initialisé par Wikipédia ou saisit directement par un utilisateur. Pour ce faire, Taxonomie définit une fonction d’API pour chercher et renvoyer le ou les articles dont le titre contient le nom commun ou le nom scientifique d’un taxon donné.

FonctionDescriptionCache ?
wikipedia_get_page Permet, à partir du nom commun ou du nom scientifique de renvoyer le texte ainsi que les informations de base de page Wikipedia correspondante si elle existe oui

Le service IUCN red list

La Liste rouge de l’IUCN est un indicateur essentiel de la santé de la biodiversité mondiale. C’est un outil puissant pour informer et catalyser l’action pour la conservation de la biodiversité et le changement de politique, essentiel pour protéger les ressources naturelles dont nous avons besoin pour survivre. Il fournit des informations sur l’aire de répartition, la taille de la population, l’habitat et l’écologie, l’utilisation et/ou le commerce, les menaces et les mesures de conservation qui aideront à prendre les décisions nécessaires en matière de conservation.

Dans le plugin Taxonomie, le service fournit l’évaluation du danger d’extinction qui menace chaque espèce et qui est formulée par les groupes d’experts concernés, basée sur des critères bien définis, comme la taille de la population, la disparition de son habitat naturel et le nombre d’individus qui ont atteint la maturité.

La classification dans les catégories d’espèces menacées d’extinction s’effectue par le biais d’une série de cinq critères quantitatifs, basés sur des facteurs biologiques associés au risque d’extinction, à savoir : taux de déclin, population totale, zone d’occurrence et d’occupation, degré de peuplement et fragmentation de la répartition. Afin de rendre l’information finale obtenue la plus intelligible possible, une catégorie de risque d’extinction est alors attribuée à l’espèce. Le schéma ci-dessous illustre les valeurs possibles.

FonctionDescriptionCache ?
iucn_get_assessment Renvoie l’évaluation IUCN d’une espèce donnée oui

Le service GBIF

Le GBIF, Global Biodiversity Information Facility, est un réseau international et une infrastructure de données financés par les gouvernements mondiaux ayant pour but de fournir à tous et partout un accès libre aux données sur toutes les formes de vie sur Terre.

Le réseau GBIF agrège toutes ces sources en utilisant des standards de données, incluant le Darwin Core, formant la base de l’index de GBIF.org qui regroupe des centaines de millions d’enregistrements d’occurrences d’espèces. Les fournisseurs de données donnent accès à leurs jeux de données grâce à des licences Creative Commons lisibles par des machines, permettant aux scientifiques, aux chercheurs et autres de réutiliser ces données dans environ cinq publications scientifiques révisées par les pairs (ainsi que dans des documents politiques ou de règlementation) chaque jour.

Le plugin Taxonomie utilise ce service pour acquérir les noms communs des taxons dans plusieurs langues et compléter ainsi les informations fournies par ITIS.

FonctionDescriptionCache ?
gbif_get_vernaculars Renvoie les noms vernaculaires dans l’ensemble des langages supportés par Taxonomie pour un taxon identifié par son nom scientifique oui

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom