Formulaire de saisie de données sur le terrain avec ODK

Nous avons développé en 2019 un formulaire de terrain plus évolué en tirant profit de manière approfondie des possibilités offertes par Open Data Kit.

Open Data Kit est un outil de création de formulaires de collecte de données sur téléphone, robustes, fonctionnant en mode déconnecté, disposant de tous les types de données dont nous avons besoins (y compris les types géographiques), permettant d’associer aux données des médias collectés depuis le téléphone… Sans développement autre que la transposition de la logique du protocole de collecte dans le standard xlsform !

Présentation du formulaire

Ce formulaire de collecte de données naturalistes est assez évolué avec :

Il permet aux collègues qui sont sur le terrain de renseigner des observations d’espèces et d’habitats naturels ainsi que des observations de menaces ou de pressions sur le milieu ou des observations plus générales (photo + typologie + commentaire). Les données saisies sont géolocalisées est exploitable dans notre SIG.

La logique du formulaire est décrite dans le schéma ci-dessous. Plus bas nous vous présentons les captures d’écran correspondant à la saisie d’une observation d’espèce animale.

La structuration des données dans la base de données en rend l’exploitation très aisée (une table principale et des tables « filles » pour chaque boucle).

Vous trouverez ci-dessous une archive zip contenant le formulaire et ses médias afin de le tester sur votre téléphone, ainsi que le rapport de stage de Jean Baïsez qui est à l’origine de nombreuses améliorations présentes dans ce formulaire.

La communauté d’OpenDataKit est très très réactive et de nombreuses discussions autour de ce formulaire et de nos besoins ont été menées sur le forum :

La dernière en date qui a fait l’objet d’un entretien téléphonique avec Callum Stott en novembre et apportera des nouveautés dans la version 1.26 d’odkcollect :

Enfin, une évolution très importante permettra en 2020 (on croise les doigts), à partir du même formulaire xlsform, de disposer à la fois d’un formulaire pour téléphone mais aussi de sa version web (comme le propose enketo) : https://forum.opendatakit.org/t/integration-of-enketo-into-odk-central/13992

Vous trouverez plus d’informations sur la mise en œuvre d’ODK dans votre système d’information ici : https://framagit.org/formationodk/formulaires/-/wikis/home

Architecture / logique du formulaire

Captures d’écran

Avant de démarrer pensez, dans les métadonnées de l’utilisateur, à renseigner le numéro de téléphone avec les valeur 012345678, pour activer la saisie de point, de ligne et de polygones relatifs à l faune, la flore et aux habitats naturels.

Choix de l’action

-> remplir un formulaire

Choix du formulaire

-> sicen_2019

Renseignements sur l’observateur

-> si les métadonnées sont correctement remplies dans l’application ODKCollect, ces champs sont alors pré-remplis.

Voir le menu « Métadonnées de formulaire » dans les préférences de l’application.

Date et heure

renseignées par défaut mais peuvent être modifiées.

Choix de l’étude

Choix du protocole

 

Localisation de l’observation

Choisir le type d’objet géographique que vous souhaitez collecter entre un point, une ligne ou un polygone.

Plus d’informations sur les « geo-widgets » disponibles ici :

https://docs.opendatakit.org/form-question-types/#location-widgets

Cette liste de choix est paramétrable dans les préférences de l’application (métadonnées du formulaire). il faut que le champ « numéro de téléphone », que nous n’utilisons pas par ailleurs contiennent une ou plusieurs valeurs parmi :

  • 6 pour « point »
  • 7 pour « ligne »
  • 8 pour « polygone »
 

Affichage de la localisation sur la carte

Affichage par défaut de l’emplacement calculé par le GPS mais cette localisation peut être déplacée (bouton « jalon »)

On valide l’endroit avec l’icone « disquette ».

 
 

Choix du type d’observation

plusieurs observations, de diffrénets types,  pourront être réalisées sur l’emplacement précédemment enregistré.

Cette liste de choix est paramétrable dans les préférences de l’application (métadonnées du formulaire). il faut que le champ « numéro de téléphone », que nous n’utilisons pas par ailleur contiennent une ou plusieurs valeurs parmi :

  • 1 pour animal,
  • 2 pour plante,
  • 3 pour champi ,
  • 4 pour habitat,
  • 5 pour pression/menace,
  • ou 6 pour observation générale

Nous détournons ici un champ de métadonnées que nous n’utilisons pas. L’utilité de pouvoir disposer de métadonnées « personnelles » dans l’application est discutée sur le forum.

 

Saisie d’une donnée d’espèce animale

A partir de 3 caractères saisis, en police grasse et bleu des taxons de références, en rouges des synonymes (avec mention du taxon de référence). Nous avons fait le choix de n’afficher que les taxons qui commencent par les caractères saisis, mais il est possible d’afficher les taxons qui contiennent ces mêmes caractères : https://docs.opendatakit.org/form-operators-functions/#strings

Choix de l’espèce

 

 

Description de l’observation

Pour chaque age et pour chaque sexe un effectif pourra être renseigné.

Certaines valeurs de listes seront cachées ou affichées selon le groupe taxonomique auquel appartient l’espèce sélectionnée. Par exemple pas de stade œuf pour un mammifère, ni de larve pour un oiseau.

 

Compléments de description

 

Comment l’espèce a-t-elle été déterminée ?

Quel était son comportement ?

Les valeurs sont adaptées au groupe taxonomique de l’espèce. Dans notre exemple les « code atlas » puisque nous saisissons une donnée d’oiseau

Vous pouvez saisir une remarque générale ainsi qu’une photo.

 
Ajout d’une nouvelle observation sur la localité en cours ?

Si oui on recommence la boucle ici

Si non on passe à l’écran suivant.

Ajout d’une nouvelle localité à la session en cours ?

Si oui on recommence la boucle ici

Si non on passe à l’écran suivant.

Fin de la session

On peut marquer le formulaire comme finalisé. Pour l’envoyer plus tard au serveur.
 

A renseigner dans le menu « Préférences » de l’application

Dans ce formulaire nous détournons le numéro de téléphone pour permettre de personnaliser l’application :

Selon les chiffres que contiendra le numéro vous activerez différentes possibilités :

Le choix de la thématique :

  • 1 pour animal,
  • 2 pour plante,
  • 3 pour champi ,
  • 4 pour habitat,
  • 5 pour pression/menace,
  • ou 6 pour observation générale

Le choix du type d’objet géographique :

  • 7 pour les points
  • 8 pour les lignes
  • et 9 pour les polygones

Par défaut définissez le numéro de téléphone à 0123456789

Conclusion

Décliner une méthode ou un protocole de collecte de données dans un formulaire pour téléphone n’est pas une tâche compliquée. Le formulaire présenté ici peut paraitre complexe mais l’apprentissage du xlsform est assez facile.

Les possibilités offertes par Open Data Kit nous permettent de décliner de nombreux protocoles sans devoir développer chaque fois une application. Le staockage des donénes en base est trés logique et facile à interroger.

    Exploitation des données dans Redash

    Redash permet de mettre en place des tableaux de bord web (interfaces de consultation de données) sans faire de développement autre que les requtes SQL sur la base de données alimentée par ODK ;-), ce que nous faisons pour l’instant (voir cet article), ou en interrogeant l’API d’ODK Central, qui remplacera Aggregate dans les prochains mois dans notre SI (ODATA à tester)

    A suivre donc !