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 :
- des affichages de champ conditionnés par le groupe du taxon saisi
- une liste de taxons qui fait apparaître distinctement les noms valides et les synonymes
- la possibilité de personnaliser l’application en utilisant les métadonnées de l’utilisateur dans l’application odkcollect (sur le téléphone)
- Par défaut, renseignez le numéro de téléphone avec les valeur 0123456789
- récupération automatique des photos collectées et affichage dans notre base métier…
- création automatique de compte dans notre base métier 😉
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 :
- https://forum.opendatakit.org/t/add-more-metadata-field/20906
- https://forum.opendatakit.org/t/no-keyboard-appearence-for-field-list/21757
- https://github.com/opendatakit/aggregate/issues/164#issuecomment-347390275
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 heurerenseignées par défaut mais peuvent être modifiées. |
|
Choix de l’étude |
|
Choix du protocole |
|
Localisation de l’observationChoisir 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 :
|
|
Affichage de la localisation sur la carteAffichage 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’observationplusieurs 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 :
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’observationPour 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 sessionOn 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 :
Le choix du type d’objet géographique :
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 !