Documentation du code de SPIP et de ses plugins

Taxonomie

itis_api.php

Ce fichier contient l'ensemble des constantes et fonctions implémentant le service de taxonomie ITIS.

Table of Contents

Constants

_TAXONOMIE_ITIS_CACHE_TIMEOUT  = 86400 * 30 * 6
Période de renouvellement du cache de Wikipedia (365 jours).
_TAXONOMIE_ITIS_ENDPOINT_BASE_URL  = 'http://www.itis.gov/ITISWebService/'
Préfixe des URL du service web de ITIS.
_TAXONOMIE_ITIS_REGEXP_RANKNAME  = '#(%rank_list%):\\s*(([A-Z]\\s+)?[\\w-]+)\\s*(.+)\\s*\\[(\\d+)\\]\\s*$#'
Ligne d'un fichier ITIS hiérachie généré.
_TAXONOMIE_ITIS_SITE_URL  = 'http://www.itis.gov'
URL de la page d'accueil du site ITIS.
_TAXONOMIE_ITIS_TAXON_BASE_URL  = 'http://www.itis.gov/servlet/SingleRpt/SingleRpt?search_topic=TSN&search_value='
URL de base d'une page d'un taxon sur le site d'ITIS.

Functions

itis_search_tsn()  : array<string|int, mixed>
Recherche un taxon dans la base ITIS par son nom commun ou scientifique et retourne son identifiant unique nommé TSN ou 0 si le taxon n'existe pas.
itis_get_record()  : array<string|int, mixed>
Renvoie l'ensemble des informations sur un taxon désigné par son identifiant unique TSN.
itis_get_information()  : array<string|int, mixed>|int|string
Renvoie les informations demandées sur un taxon désigné par son identifiant unique TSN.
itis_list_vernaculars()  : array<string|int, mixed>
Renvoie la liste des noms communs définis pour certains taxons dans une langue donnée mais tout règne confondu.
itis_read_hierarchy()  : array<string|int, mixed>
Lit le fichier hiérarchique ITIS des taxons d'un règne et renvoie la liste des taxons retenus.
itis_read_vernaculars()  : array<string|int, mixed>
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.
itis_read_ranks()  : array<string|int, mixed>
Lit le fichier des rangs d'un règne donné et construit la hiérarchie de ces mêmes rangs.
itis_find_language()  : string
Renvoie la langue telle que le service ITIS la désigne à partir du code de langue de SPIP.
itis_credit()  : string
Construit la phrase de crédits précisant que les données fournies proviennent de la base de données d'ITIS.
itis_review_sha()  : array<string|int, mixed>
Calcule le sha de chaque fichier ITIS fournissant des données, à savoir, ceux des règnes et ceux des noms communs par langue.

Constants

_TAXONOMIE_ITIS_CACHE_TIMEOUT

Période de renouvellement du cache de Wikipedia (365 jours).

public mixed _TAXONOMIE_ITIS_CACHE_TIMEOUT = 86400 * 30 * 6

_TAXONOMIE_ITIS_ENDPOINT_BASE_URL

Préfixe des URL du service web de ITIS.

public mixed _TAXONOMIE_ITIS_ENDPOINT_BASE_URL = 'http://www.itis.gov/ITISWebService/'

_TAXONOMIE_ITIS_REGEXP_RANKNAME

Ligne d'un fichier ITIS hiérachie généré.

public mixed _TAXONOMIE_ITIS_REGEXP_RANKNAME = '#(%rank_list%):\\s*(([A-Z]\\s+)?[\\w-]+)\\s*(.+)\\s*\\[(\\d+)\\]\\s*$#'

Il est indispensable de respecter les majuscules des noms de groupe pour éviter de matcher les suborder, infrakingdom...

_TAXONOMIE_ITIS_SITE_URL

URL de la page d'accueil du site ITIS.

public mixed _TAXONOMIE_ITIS_SITE_URL = 'http://www.itis.gov'

Cette URL est fournie dans les credits.

_TAXONOMIE_ITIS_TAXON_BASE_URL

URL de base d'une page d'un taxon sur le site d'ITIS.

public mixed _TAXONOMIE_ITIS_TAXON_BASE_URL = 'http://www.itis.gov/servlet/SingleRpt/SingleRpt?search_topic=TSN&amp;search_value='

Cette URL est fournie dans les credits.

Functions

itis_search_tsn()

Recherche un taxon dans la base ITIS par son nom commun ou scientifique et retourne son identifiant unique nommé TSN ou 0 si le taxon n'existe pas.

itis_search_tsn(string $action, string $search[, null|bool $strict = true ]) : array<string|int, mixed>

Selon le critère de correspondance de la recherche (stricte ou pas) la fonction retourne un ou plusieurs taxons.

Parameters
$action : string

Recherche par nom commun ou par nom scientifique. Prend les valeurs commonname, scientificname ou commonnamebegin.

$search : string

Nom à rechercher précisément. Seul le taxon dont le nom coincidera exactement sera retourné.

$strict : null|bool = true

true indique une correspondance stricte de la chaine recherchée ce qui a pour conséquence de renvoyer une seule valeur de TSN. false indique une correspondance partielle et peut donc renvoyer plusieurs TSN.

Tags
uses
itis_build_url()
uses
inc_taxonomie_requeter_dist()
used-by
formulaires_creer_espece_verifier_1()
Return values
array<string|int, mixed>

Si la recherche est stricte, la fonction retourne l'identifiant unique TSN dans la base ITIS ou 0 si la recherche échoue. Sinon, la fonction retourne une liste de couples de valeurs (TNS, valeur trouvée).

itis_get_record()

Renvoie l'ensemble des informations sur un taxon désigné par son identifiant unique TSN.

itis_get_record(int $tsn) : array<string|int, mixed>
Parameters
$tsn : int

Identifiant unique du taxon dans la base ITIS, le TSN

Tags
uses
cache_est_valide()
uses
itis_build_url()
uses
inc_taxonomie_requeter_dist()
uses
cache_ecrire()
uses
cache_lire()
used-by
formulaires_creer_espece_verifier_1()
used-by
formulaires_creer_espece_verifier_2()
used-by
formulaires_creer_espece_traiter()
Return values
array<string|int, mixed>

Si le taxon est trouvé, le tableau renvoyé possède les index associatifs suivants:

  • nom_scientifique : le nom scientifique complet du taxon tel qu'il doit être affiché (avec capitales).
  • rang : le nom anglais du rang taxonomique du taxon
  • regne : le nom scientifique du règne du taxon en minuscules
  • tsn_parent : le TSN du parent du taxon ou 0 si le taxon est un règne
  • auteur : la citation d’auteurs et la date de publication
  • nom_commun : un tableau indexé par langue (au sens d'ITIS en minuscules, english, french, spanish...) fournissant le nom commun dans chacune des langues
  • credibilite : Information sur la crédibilité des informations du taxon
  • usage_valide : Indication sur la validité de l'utilisation du taxon
  • zone_geographique : un tableau indexé par langue unique english des zones géographiques où le taxon est localisé. Les zones sont libellées en anglais.

itis_get_information()

Renvoie les informations demandées sur un taxon désigné par son identifiant unique TSN.

itis_get_information(string $action, int $tsn) : array<string|int, mixed>|int|string
Parameters
$action : string

Type d'information demandé. Prend les valeurs

  • scientificname : le nom scientifique du taxon
  • kingdomname : le règne du taxon
  • parent : le taxon parent dont son TSN
  • rankname : le rang taxonomique du taxon
  • author : le ou les auteurs du taxon
  • coremetadata : les métadonnées (à vérifier)
  • experts : les experts du taxon
  • commonnames : le ou les noms communs
  • othersources : les sources d'information sur le taxon
  • hierarchyfull : la hiérarchie complète jusqu'au taxon et ses descendants directs
  • hierarchyup : la hiérarchie limitée au parent direct
$tsn : int

Identifiant unique du taxon dans la base ITIS (TSN)

Tags
uses
cache_est_valide()
uses
itis_build_url()
uses
inc_taxonomie_requeter_dist()
uses
cache_ecrire()
uses
cache_lire()
used-by
formulaires_creer_espece_verifier_2()
Return values
array<string|int, mixed>|int|string

Chaine ou tableau caractéristique du type d'information demandé.

itis_list_vernaculars()

Renvoie la liste des noms communs définis pour certains taxons dans une langue donnée mais tout règne confondu.

itis_list_vernaculars(string $language) : array<string|int, mixed>

Peu de taxons sont traduits dans la base ITIS, seules le français, l'anglais et l'espagnol sont réellement utilisables. Pour l'anglais, le nombre de taxons est très important car les 4 règnes non supportés par le plugin Taxonomie sont fortement traduits.

Parameters
$language : string

Langue au sens d'ITIS écrite en minuscules. Vaut french, english, spanish...

Tags
uses
itis_build_url()
uses
inc_taxonomie_requeter_dist()
Return values
array<string|int, mixed>

Tableau des noms communs associés à leur TSN. Le format du tableau est le suivant:

  • l'index représente le TSN du taxon,
  • la valeur fournit le tableau des noms communs, chaque nom étant préfixé du code de langue de SPIP (ex: [fr]bactéries)

itis_read_hierarchy()

Lit le fichier hiérarchique ITIS des taxons d'un règne et renvoie la liste des taxons retenus.

itis_read_hierarchy(string $kingdom, array<string|int, mixed> $ranks_hierarchy[, null|string &$sha_file = '' ]) : array<string|int, mixed>
Parameters
$kingdom : string

Nom scientifique du règne en lettres minuscules : animalia, plantae, fungi.

$ranks_hierarchy : array<string|int, mixed>

Liste des rangs disponibles pour le règne concerné structurée comme une hiérarchie du règne aux rangs inférieurs. Cette liste contient tous les rangs principaux, secondaires et intercalaires. Le tableau est de la forme [nom anglais du rang en minuscules] = détails du rang

$sha_file : null|string = ''

Sha calculé à partir du fichier de taxons correspondant au règne choisi. Le sha est retourné par la fonction afin d'être stocké par le plugin.

Tags
used-by
regne_charger()
Return values
array<string|int, mixed>

Chaque élément du tableau est un taxon. Un taxon est un tableau associatif dont chaque index correspond à un champ de la table spip_taxons. Le tableau est ainsi prêt pour une insertion en base de données.

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.

itis_read_vernaculars(string $language[, null|string &$sha_file = '' ]) : array<string|int, mixed>

La base de données ITIS contient souvent plusieurs traductions d'une même langue pour un taxon donné. Cette fonction met à jour séquentiellement les traductions sans s'en préoccuper. De fait, c'est la dernière traduction rencontrée qui sera fournie dans le tableau de sortie.

Parameters
$language : string

Langue au sens d'ITIS écrite en minuscules. Vaut french, english, spanish etc.

$sha_file : null|string = ''

Sha calculé à partir du fichier des noms communs choisi. Le sha est retourné par la fonction afin d'être stocké par le plugin.

Tags
used-by
regne_charger()
Return values
array<string|int, mixed>

Tableau des noms communs d'une langue donnée indexé par TSN. Le nom commun est préfixé par le tag de langue SPIP pour être utilisé simplement dans une balise <multi>.

itis_read_ranks()

Lit le fichier des rangs d'un règne donné et construit la hiérarchie de ces mêmes rangs.

itis_read_ranks(string $kingdom[, null|string &$sha_file = '' ]) : array<string|int, mixed>
Parameters
$kingdom : string

Nom scientifique du règne en lettres minuscules : animalia, plantae, fungi.

$sha_file : null|string = ''

Sha calculé à partir du fichier de taxons correspondant au règne choisi. Le sha est retourné par la fonction afin d'être stocké par le plugin.

Return values
array<string|int, mixed>

Tableau des rangs identifiés par leur nom scientifique en anglais et organisé comme une hiérarchie du règne au rang de plus bas niveau.

itis_find_language()

Renvoie la langue telle que le service ITIS la désigne à partir du code de langue de SPIP.

itis_find_language(string $spip_language) : string
Parameters
$spip_language : string

Code de langue de SPIP. Prend les valeurs fr, en, es, etc. La variable globale $GLOBALS['itis_language'] définit le transcodage langue ITIS vers code SPIP.

Tags
used-by
regne_charger()
Return values
string

Langue au sens d'ITIS en minuscules - french, english, spanish - ou chaine vide sinon.

itis_credit()

Construit la phrase de crédits précisant que les données fournies proviennent de la base de données d'ITIS.

itis_credit(int $id_taxon[, null|array<string|int, mixed> $informations = [] ]) : string
Parameters
$id_taxon : int

Id du taxon nécessaire pour construire l'url de la page ITIS fournissant une information complète sur le taxon.

$informations : null|array<string|int, mixed> = []

Tableau des informations complémentaires sur la source. Pour ITIS ce tableau est vide.

Return values
string

Phrase de crédit.

itis_review_sha()

Calcule le sha de chaque fichier ITIS fournissant des données, à savoir, ceux des règnes et ceux des noms communs par langue.

itis_review_sha() : array<string|int, mixed>
Tags
used-by
genie_taxonomie_actualiser_itis_dist()
Return values
array<string|int, mixed>

Tableau à deux index principaux:

  • taxons : tableau associatif indexé par règne
  • traductions : tableau associatif par code de langue SPIP

        
On this page

Search results