DEVELOPPEMENT

Cette rubrique est destinée aux développeurs qui souhaiteraient…

ATTENTION, depuis la version 1.0.0, TaxHub a été migré de PHP Symfony à Python Flask. De plus des changements en BDD ont eu lieu (notamment le renommage de bib_taxons en bib_noms). Les routes et la doc ci-dessous est donc en partie caduque.

Routes Symfony

Pour avoir toutes les routes à jour, il suffit dans symfony de lancer la commande

php app/console router:debug

Aujourd’hui les différentes routes générées par symfony sont

Taxref

  • /taxref/[?[limit=nb]&[page=nb]&[is_ref=boolean]&[is_inbibtaxons=boolean]&[nomColonne=ValeurFiltre]*&[ilike=debutChaine]]
    • Retourne les données de la table taxonomie.taxref ainsi que le id_taxon pour les taxons présents dans bib_taxons

    • Méthode autorisée : GET

    • Paramètres autorisés :
      • limit (defaut = 50) : nombre d’élément à retourner

      • page (defaut = 0) : page à retourner

      • is_ref (default = false): ne retourne que les nom valides (cd_nom = cd_ref)

      • bibtaxonsonly (default = false): ne retourne que les taxons présents dans bib_taxref (cd_nom = cd_ref)

      • [nomColonne=ValeurFiltre]* = Permet de filtrer les données sur un ou plusieurs critères. Le nom du paramètre (nom_colonne) doit correspondre a un nom de champs de la table taxref au format camel case.

      • [ilike=debutChaine] = Ne revoie les données de la colonne lbNom qui commence par debutChaine

  • /taxref/{id}
    • Retourne un enregistrement de la table taxonomie.taxref

    • Méthode autorisée : GET

    • Paramètre: l’id de l’enregistrement correspond au cd_nom du taxref

  • /taxref/distinct/{field}[?[nomColonne=ValeurFiltre]*&[ilike=debutChaine]]
    • Retourne un distinct de la table taxonomie.taxref sur un champ spécifié

    • Méthode autorisée : GET

    • Paramètre obligatoire : le champ du distinct (n’importe quel champ de la table taxref)

    • Paramètres facultatifs :
      • [nomColonne=ValeurFiltre]* = Permet de filtrer les données sur un ou plusieurs critères. Le nom du paramètre (nom_colonne) doit correspondre a un nom de champs de la table taxref au format camel case.

      • [ilike=debutChaine] = Ne revoie les données de la colonne recherchée qui commence par debutChaine

    • Exemples
      • /taxref/distinct/phylum : retourne tous les phylum de la table

      • /taxref/distinct/famille?regne=Plantae&ordre=Rosales : retourne les familles du regne Plantae et de l’ordre Rosales

  • /taxref/bibtaxons/[?[limit=nb]&[page=nb]&[is_ref=boolean]&[nomColonne=ValeurFiltre]*&[ilike=debutChaine]]
    • Retourne toutes les données de la table taxonomie.taxref uniquement pour les taxons présents dans bib_taxons

    • Méthode autorisée : GET

    • Paramètres autorisés :
      • limit (defaut = 50) : nombre d “élément à retourner

      • page (defaut = 0) : page à retourner

      • is_ref (default = false): ne retourne que les nom valides (cd_nom = cd_ref)

      • [nomColonne=ValeurFiltre]* = Permet de filtrer les données sur un ou plusieurs critères. Le nom du paramètre (nom_colonne) doit correspondre a un nom de champs de la table taxref au format camel case.

      • [ilike=debutChaine] = Ne revoie les données de la colonne lbNom qui commence par debutChaine

  • /taxref/hierarchie/{rang}[?[limit=nb]&[nomColonne=ValeurFiltre]*&[ilike=debutChaine]]
    • Selection des niveaux hiérarchiques de taxref avec le nombre de taxons associés aux différents rangs

    • Méthode autorisée : GET

    • Paramètre obligatoire : le nom du rang désiré

    • Paramètres facultatifs :
      • limit (defaut = 10) : nombre d’élément à retourner

      • [nomColonne=ValeurFiltre]* = Permet de filtrer les données sur un ou plusieurs critères. Le nom du paramètre (nom_colonne) doit correspondre a un nom de champs de la table taxref au format camel case.

      • [ilike=debutChaine] = Ne revoie les taxons du rang recherché qui commence par debutChaine

    • Exemples
      • /hierarchie/FM?ordre=Chiroptera&limit=1000&regne=Animalia&ilike=m : retourne la liste des familles des chiroptères qui commencent par un m

  • /taxref/hierarchiebibtaxons/{rang}[?[limit=nb]&[nomColonne=ValeurFiltre]*&[ilike=debutChaine]]
    • Selection des niveaux hiérarchiques de taxref pour les taxons présents dans bib_taxons avec le nombre de taxons associés aux différents rangs

    • Méthode autorisée : GET

    • Paramètre obligatoire : le nom du rang désiré

    • Paramètres facultatifs :
      • limit (defaut = 10) : nombre d’élément à retourner

      • [nomColonne=ValeurFiltre]* = Permet de filtrer les données sur un ou plusieurs critères. Le nom du paramètre (nom_colonne) doit correspondre a un nom de champs de la table taxref au format camel case.

      • [ilike=debutChaine] = Ne revoie les taxons du rang recherché qui commence par debutChaine

    • Exemples
      • /hierarchie/FM?ordre=Chiroptera&limit=1000&regne=Animalia&ilike=m : retourne la liste des familles des chiroptères qui commencent par un m

Bibtaxons

  • /bibtaxons/[?[limit=nb]&[page=nb]&[nomColonne=ValeurFiltre]&[ilikefr=debutChaine]&[ilikelatin=debutChaine]]
    • Retourne les données de la table taxonomie.bib_taxons

    • Méthode autorisée : GET

    • Paramètres autorisés :
      • limit (defaut = 50) : nombre d’élément à retourner

      • page (defaut = 0) : page à retourner

      • [nomColonne=ValeurFiltre]* = Permet de filtrer les données sur un ou plusieurs critères. Le nom du paramètre (nom_colonne) doit correspondre a un nom de champs de la table bib_taxons ou de la table taxref au format camel case.

      • [ilikelfr=debutChaine] = Ne revoie les données de la colonne nomFrancais qui commence par debutChaine

      • [ilikelatin=debutChaine] = Ne revoie les données de la colonne nomLatin qui commence par debutChaine

  • /bibtaxons/taxonomie
    • Retourne cd_nom, cd_taxsup, lb_nom et id_rang pour les familles, ordre, classe, phylum et regne des enregistrements de la table taxonomie.bibtaxons

    • Méthode autorisée : GET

  • /bibtaxons/{id}
    • Retourne un enregistrement de la table taxonomie.bib_taxons

    • Méthode autorisée : GET

    • Paramètre: l’id de l’enregistrement

  • /bibtaxons/{id}
    • Création ou mise à jour d’un enregistrement dans la table taxonomie.bib_taxons

    • Méthode autorisée : POST|PUT

    • Paramètre: l’id de l’enregistrement (si update) ou rien (si create)

  • /bibtaxons/{id}
    • SUppression d’un enregistrement dans la table taxonomie.bib_taxons

    • Méthode autorisée : DELETE

    • Paramètre: l’id de l’enregistrement à supprimer

Biblistes

  • /biblistes/[{id}]
    • Selection des données relatives à la ou aux listes avec les taxons associés

    • Méthode autorisée : GET

    • Paramètres facultatifs :
      • id : identifiant de la liste

  • /biblistes/simpleliste
    • Selection des données contenues uniquement dans la table biblistes

    • Méthode autorisée : GET

  • /biblistes/taxonliste/{id}
    • Selection des taxons associés à la liste demandée

    • Méthode autorisée : GET

    • Paramètre obligatoire :
      • id : identifiant de la liste

Bibattributs

  • /bibattributs/
    • Retourne toutes les données de la table taxonomie.bib_attributs

    • Méthode autorisée : GET

  • /bibattributs/{id}
    • Retourne un enregistrement de la table taxonomie.bib_attributs

    • Méthode autorisée : GET

    • Paramètre:

      id : id de l’enregistrement

  • /taxonsattribut/{id}/{value}
    • Retourne tous les taxons ayant l’attribut passé en paramètre ainsi que le nom et la valeur de l’attribut.

    • il est possible de filtrer sur la valeur de l’attribut.

    • Méthode autorisée : GET

    • Paramètre:

      id : id de l’attribut, obligatoire value : valeur de l’attribut, facultatif

  • /taxonsattribut/{regne}/{group2inpn}
    • Retourne les attributs correspondant au(x) filtre(s) taxonomique(s) passé(s) en paramètre.

    • En base, si un attribut n’a pas de regne renseigné, c’est qu’il conserne tous les règnes. L’attribut est toujours retourné quelques soient les paramètres transmis.

    • En base, si un attribut n’a pas de group2inpn renseigné mais un regne renseigné, c’est qu’il conserne tous les group2inpn ; il est donc retrourné. Soit uniquement pour le regne transmis en paramètre soit pour tous les règnes si aucun regne valide n’est transmis.

    • En base, si un attribut n’a pas de regne mais group2inpn renseigné, c’est une erreur (un group2inpn correspond forcement à un regne). L’attribut est donc toujours retourné quelque soit les paramètres transmis.

    • Méthode autorisée : GET

    • Paramètre:

      regne : facultatif group2inpn : facultatif. Ne peut être utilisé si regne n’est pas fourni.

Bla bla bla

The most minimal components required to run an instance are :

  • PostGIS 2 server

  • GDAL, GEOS, libproj

  • gettext

  • libfreetype

  • libxml2, libxslt

  • Usual Python dev stuff

A voir : the list of minimal packages on Debian/Ubuntu.

Note

En lancant env_dev et update is recommended after a pull of new source code, but is not mandatory : make serve is enough most of the time.