Retour : Page Principale > sommaire applications botaniques > CEL mobile

Aide pour les développeurs


Phonegap & Backbone

Voir la documentation sur la page d'aide de l'application mobile Flora Clapas

Base de données

La base de données utilise webSQL.

Initialisation

  • Pour initialiser la table des espèces, il existe un script qui traduit un fichier csv formatĂ© comme suit :
    <numéro nomenclatural>;<numéro taxonomique>;<nom de la famille>
    
    appelé avec les paramètres suivants :
    -a <referentiel> -v <version du référentiel> -f <fichier csv>
    
Ex.: lancer le script avec
-a bdtfx -v v1.01 -f bdtfx.csv ou -a bdtxa -v v1.00 -f bdtxa.csv

Attention ! Il est important de respecter cette syntaxe, surtout pour le v devant le numéro de version car ce sont ces valeurs qui sont utilisées (codées en dur dans le template obs-saisie.html) dans le choix du référentiel de l'application. Si elles ne correspondent pas, l'auto-complétion ne fonctionnera pas. Sinon, supprimer simplement toutes références à la version du référentiel.

Les espèces du fichier donné doivent correspondre aux critères de sélection définis dans le cachier des charges. Concrètement, le script récupère le nom de la famile de chaque espèce. Il peut être adaptée en fonction des demandes ; initialement, la liste des espèces comprenaient les synonymes et le script rajoutait alors le numéro nomenclatural et nom scientifique retenus. Le fichier de sortie est cel_apps.csv et est complété à chaque appel au script. Il doit être placé au même niveau que le fichier App.js.

Caractéristiques

- La table des espèces contient un identifiant différent du numéro nomenclatural car il est apparu le cas où deux espèces, une en BDTFX et l'autre en BDTXA, aient le même numéro nomenclatural.
- Lorsque l'indication de l'espèce donnée n'est pas formalisée, la valeur et le référentiel sont sauvegardés directement dans la table des observations avec un numéro nomenclatural égal à -1. Une requête SQL insère dans la base une espèce avec un numéro nomenclatural à -1 (nom scientifique 'null') pour éviter les LEFT JOIN dans les requêtes qui sont longues à gérer sur certains mobiles.
- Pour faire simple, la table utilisateur est vidée à chaque changement d'utilisateur => un seul utilisateur en mémoire.

Mise Ă  jour

Pour éviter l'initialisation de la base de données à chaque lancement, un système de version très simple a été mis en place avec le local storage, par comparaison avec la valeur donnée dans le fichier main.hml. Lors d'un changement dans la base de données, il suffit simplement de changer cette valeur (et accessoirement de relancer la compilation sur phonegap build) pour que la table liée aux espèces soit vidée et reconstruite.

Visualisation

La visualisation de l'application par navigateur n'est possible que sous Chrome qui est le seul à (encore) reconnaître les appels à webSQL (non soutenu par le W3C depuis 2010). Pour simuler une interface mobile, il suffit d'installer le petit outil ripple dans Chrome.