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,
- CINFO (pas encore disponible, fichier Excel uniquement).
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. Etant 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.
Le service ITIS - 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.
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.
Le service ITIS - 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/type | Animalia | Fungi | Plantae |
---|---|---|---|
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 4 ans. On est passé pour le règne animal d’un peu plus de 50000 taxons en 2014 à plus de 61000 taxons en 2019. Par contre, la traduction des noms communs est très limitée surtout pour le français et évolue pas. 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é.
Fonction | Description | Cache ? |
---|---|---|
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 |