Plugin Taxonomie, la base des taxons

Cet article fournit les concepts principaux participant à la création, le remplissage et la maintenance de la base de données des taxons en distinguant les taxons du règne au genre et les espèces et descendants.

Structure des taxons

La base de taxons est matérialisée par une table d’objets SPIP, les taxons, appelée spip_taxons dont les principaux attributs sont les suivants :

  • la dénomination du taxon avec son nom scientifique en minuscule et son nom commun (aussi appelé nom vulgaire) exprimé dans les langues disponibles (français, anglais, espagnol, italien, portugais et allemand) ;
  • la catégorisation du taxon constituée de son règne (nom scientifique en minuscule) et de son rang taxonomique exprimé en anglais et écrit en minuscule ;
  • la description composée de l’auteur du taxon correctement typographié, du descriptif synthétique et d’un texte libre sur le taxon.

Comme tout objet SPIP, un taxon possède un identifiant unique, id_taxon. Néanmoins, il possède aussi un identifiant universel ITIS (voir paragraphe suivant) nommé tsn (Taxonomic Serial Number) qui permet de repérer chaque taxon dans la base ITIS de façon unique et pérenne.

En outre, la base des taxons reproduit la structure hiérarchique de la taxonomie en organisant les taxons comme un arbre. Pour ce faire, le plugin utilise l’identifiant ITIS et le champ tsn_parent qui désigne le parent de chaque taxon (ou 0 si le parent n’existe pas, c’est-à-dire pour un règne).

Création et édition des taxons du règne au genre

Pour remplir cette base de taxons le plugin utilise la base de données Integrated Taxonomic Information System, ITIS et son service web associé. Ce service est donc la pierre angulaire du plugin Taxonomie même si il n’est pas le seul à fournir des données. Pour éviter les problèmes de performances de la connexion internet la liste des taxons d’un règne donné est actuellement embarquée dans le plugin.

Pour un règne donné, le chargement de ce fichier est lancé à l’envi par l’utilisateur. Il permet de créer toute la hiérarchie des taxons (rangs principaux, secondaires et intercalaires) pour le règne choisi jusqu’au genre et de remplir les champs nom scientifique, identifiant ITIS (TSN), règne, rang taxonomique et auteur.

En outre, le plugin embarque d’autres fichiers issus de la base ITIS contenant les noms communs (et non pas vernaculaires) en français ou dans une autre langue d’un certain nombre de taxons, tout règne confondu. Particulièrement pour le français, le nombre de « traductions » est très faible et nécessite donc des compléments pour intégrer les noms communs des taxons.

Pour le descriptif et le texte, le plugin offre la possibilité de récupérer la page Wikipedia associée au nom scientifique, si elle existe. Néanmoins, cette interface est manuelle et ne peut pas être lancée automatiquement sur l’ensemble de la base des taxons. Le texte récupéré est écrit en mediawiki et transformé en SPIP si le plugin Convertisseur est installé. Dans tous les cas, le résultat doit être adapté manuellement suite à son insertion dans le formulaire.

De même, le nom commun peut être complété en plusieurs langues en utilisant le service GBIF. L’utilisateur peut choisir parmi les choix qui lui sont proposés ceux qui lui conviennent le mieux.

Enfin, l’interface privée propose comme pour tout objet la modification de certains champs de l’objet taxon, à savoir, le logo, le nom commun, le descriptif et le texte. Les autres champs ne sont pas éditables.

Création et édition des espèces et descendants

Le plugin Taxonomie se sert de la base ITIS pour remplir sa propre base de taxons du règne au genre en utilisant un fichier et non un service web pour des raisons de performance.

Par contre, les taxons fils comme les espèces ou autres variétés sont trop nombreux et ne sont donc pas créés automatiquement mais unitairement suivant le besoin de l’utilisateur : le plugin Taxonomie offre un assistant de création de ces taxons.

Cet assistant utilise des services web ITIS cette fois pour trouver les informations d’un taxon de rang espèce désigné par son nom commun ou son nom scientifique. L’utilisateur est guidé tout le long du processus de création. La création d’une espèce ou d’un descendant peut provoquer la création automatique des ascendants si ceux-ci appartiennent à des rangs entre le genre et le taxon en cours de création (par exemple, un sous-genre).

Ensuite, comme tout autre taxon, les espèces et descendant peuvent être complétés en utilisant le service Wikipedia ou GBIF ou manuellement en éditant les champs idoines du taxon.

Outre son rang, un taxon espèce ou descendant est repéré dans la base par un champ espece dont les valeurs sont « oui » ou « non ».

Gestion du statut des taxons

Les taxons, comme beaucoup d’objet SPIP, possède un statut de publication qui prend les valeurs « proposé à la publication », « publié » ou « à la poubelle ».

Pour les taxons du règne au genre importé au travers des fichiers texte ITIS, le statut est positionné à « publié » lors de l’import. Il n’est pas modifiable par la suite. Pour les taxons d’espèces et descendants, le statut est positionné à « proposé à la publication » lors de la création du taxon. Il est ensuite possible de le modifier pour le publier ou le mettre à la poubelle.

Comme expliqué précédemment, la création d’un taxon d’espèce peut impliquer la création automatique de taxons d’ascendants pour faire le lien avec le taxon de genre qui lui existe toujours. Le statut de ces taxons est positionné conformément aux règles précédemment décrites. En outre, si une espèce ou un descendant est positionné au statut publié, Taxonomie s’assure que tous les taxons ascendants sont aussi publiés et les publie si ce n’est pas encore le cas, le but étant toujours d’avoir une arborescence cohérente en terme de statut.

Évolution de la base des taxons

Les taxons, qu’ils aient été importés via un fichier ITIS ou créés manuellement possèdent tous des champs éditables, à savoir, le nom commun, le descriptif, le texte et pour les espèces et descendants, le statut.

En outre, la base ITIS des taxons évolue constamment même si cela peut être considéré comme marginal pour les non initiés. Les fichiers texte d’importation des taxons du règne au genre et les fichiers de traduction doivent être régulièrement mis à jour dans le plugin Taxonomie et les modifications répercutées dans la table des taxons des sites utilisateur.

Le but du plugin étant de faciliter la constitution de la base des taxons il est nécessaire de conserver les mécanismes de chargement automatique à partir du service ITIS ou tout autre si besoin. Si la base ITIS des taxons du règne au genre est modifiée, il est aussi essentiel de conserver les modifications effectuées manuellement par les utilisateurs lors du chargement automatique de la nouvelle version des taxons.

Le plugin Taxonomie offre donc un mécanisme de gestion des évolutions de la liste des taxons incluant la reprise des modifications manuelles. La liste des taxons importés et édités manuellement sera préservée avant la mise à jour de la base complète et les champs nom commun, texte et descriptif seront réinjectés par la suite en se basant sur le TSN du taxon qui lui est invariant. Ce sont les seuls taxons à préserver car les taxons espèces ne sont pas concernés par un quelconque mécanisme de création automatique.

Le mécanisme de mise à jour de la base des taxons doit pouvoir être déclenché de façon automatique et manuelle. Automatiquement, Taxonomie utilise un CRON journalier pour vérifier que le SHA des fichiers ITIS a changé et donc déclencher le mécanisme d’upgrade. Cette solution est plus adaptée car elle se déroule en arrière plan et ne risque pas de tomber en timeout comme la première solution. Manuellement, le traitement est intégré au formulaire de chargement d’un règne.

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