Premiers pas dans la collecte de données mobiles avec ODK

De plus en plus d'organisations font appel à des appareils mobiles pour collecter des données sur le terrain. Open Data Kit (ODK) est une suite d'outils permettant de collecter des données à l'aide d'appareils mobiles Android et de soumettre ces mêmes données sur un serveur en ligne, même sans connexion Internet ou couverture d'opérateur mobile au moment de la collecte des données. Simplifiez le processus de collecte de données avec ODK Collect en remplaçant les anciens formulaires papier par des formulaires électroniques qui permettent d'importer du texte, des données numériques, des coordonnées GPS, des photos, des vidéos, des codes-barres et des sons sur un serveur en ligne. Vous pouvez héberger vos données en ligne avec la puissante plate-forme d'hébergement de Google, AppEngine, gérer vos données avec ODK Aggregate et visualiser vos données sous la forme d'une carte à l'aide de Google Fusion Tables et de Google Earth.

Créé par des développeurs du service Informatique et ingénierie de l'Université de Washington et des membres de Change, Open Data Kit est un projet Open Source mis à la disposition de tous. Veuillez consulter la page du projet ODK sur Google Code pour obtenir plus d'informations destinées aux développeurs, les mises à jour récentes et d'autres didacticiels, ou pour apporter votre contribution au projet.


Cette image illustre des données collectées à distance avec Open Data Kit et affichées dans Fusion Tables.

Informations préalables
  • Aucune compétence en matière de programmation n'est nécessaire !
  • Vous avez besoin d'un appareil mobile Web doté de la plate-forme Android version 1.6 ou version ultérieure.
  • Vous devez posséder un compte Google pour créer une instance Google AppEngine. Obtenez-en un ici.
  • Java 6 doit être installé et exécuté sur votre ordinateur pour le bon fonctionnement d'ODK Aggregate (le télécharger gratuitement ici).

Commençons sans plus attendre

1. Recherchez l'application "ODK Collect" dans Google Play sur votre appareil mobile ou dans Google Play sur votre navigateur. Installez la version la plus récente sur votre appareil mobile. Pour plus d'informations sur ODK Collect et la configuration requise, consultez la page du projet ODK.

2. Téléchargez le formulaire Sample à utiliser pendant ce didacticiel.

Création de formulaires ODK avec ODK Build

Il existe plusieurs moyens de créer des formulaires pour ODK. Vous pouvez utiliser ODK Build ou XLSforms, ou bien encore créer des formulaires XML. Si vous créez un formulaire pour la première fois, ODK Build est peut-être la solution la plus simple pour démarrer, et ce didacticiel traite de son utilisation. Si vous souhaitez créer des formulaires plus complexes, étudiez la documentation fournie sur la Formhub University de XLSforms.

  1. Accédez à ODK Build à l'adresse http://build.opendatakit.org.
  2. Créez un compte ou connectez-vous avec un compte existant. Sachez que ce compte est différent du compte Google et que vous pouvez choisir d'utiliser des informations de connexion et mot de passe différents. Vos formulaires seront enregistrés dans ce compte pour référence ultérieure.
  3. Ajoutez des questions à votre formulaire en cliquant sur le type de question que vous souhaitez ajouter (par exemple lieu, texte, etc.) en bas de la page.



    Chaque question possède plusieurs propriétés communes ainsi que des propriétés uniques. Pour obtenir des explications sur les propriétés communes, reportez-vous ci-dessous. Il n'est pas utile d'enregistrer chaque question au fur et à mesure, mais n'oubliez pas d'enregistrer le formulaire lorsque vous en êtes satisfait.
  4. Saisissez une question de type texte, par exemple "Quel est votre nom ?" dans la section de légende.
    Remplissez les propriétés de la question de champ de texte sur la droite. Facultatif : vous pouvez saisir une longueur minimale/maximale, en nombre de caractères, pour le champ de texte.
  5. Ajoutez un champ numérique pour permettre aux utilisateurs d'enregistrer un nombre dans leur formulaire, par exemple "Quel âge avez-vous ?" dans la section de légende.
    Dans la section relative aux propriétés, indiquez si vous souhaitez enregistrer le nombre en tant que nombre entier ou décimal (0,0).
  6. Offrez aux utilisateurs du formulaire la possibilité de préciser une date. Le téléphone va enregistrer automatiquement la date du jour et permettre à l'utilisateur de saisir une date ou de modifier la date dans votre formulaire.
  7. Si les utilisateurs de votre formulaire possèdent un appareil mobile doté d'une puce GPS, vous pouvez ajouter une entrée de position dans votre formulaire. La question invite alors l'utilisateur à enregistrer la position GPS. L'utilisateur est en mesure d'afficher une estimation de la précision GPS intégrée au téléphone tandis que le GPS acquiert les positions satellite.
  8. Offrez aux utilisateurs du formulaire la possibilité de joindre des fichiers multimédias pour leurs soumissions de formulaire. Vous pouvez faire votre choix parmi différents formats multimédias, par exemple une image, un son ou une vidéo. La sélection dans le formulaire fait alors basculer le téléphone en mode appareil photo, mémo vocal ou caméra, et les fichiers multimédias sont stockés avec cette entrée de formulaire. Dans cet exemple, saisissez "Prendre une photo" dans la section de légende, puis sélectionnez "Image" pour le type de média à utiliser dans le menu déroulant. Conseil : Si vous savez que vous allez disposer d'une connexion Internet lente au moment de l'importation des soumissions de formulaire, et que vous souhaitez intégrer des photos dans vos formulaires, sachez que certains appareils vous permettent de réduire la taille d'image par défaut de sorte qu'elle soit plus petite lors de l'envoi des données remplies sur Internet.
  9. Utilisez le type de question "Choose One" (Sélectionner) si vous souhaitez que l'utilisateur sélectionne une option parmi plusieurs. Vous pouvez également préciser les options à afficher en cliquant sur "Add Option" (Ajouter une option). N'oubliez pas d'ajouter une valeur sous-jacente à vos options ; ce qui est obligatoire pour toutes les options. Saisissez votre texte en minuscules et utilisez le trait de soulignement ( _ ) plutôt que des espaces.
  10. Utilisez le type de question "Choose Multiple" (Choix multiples) pour les questions à choix multiples. Comme pour les questions de sélection (choix unique), n'oubliez pas d'ajouter une valeur sous-jacente à chaque option et saisissez votre texte en minuscules associé à des traits de soulignement pour les champs des valeurs sous-jacentes.


    Propriétés communes des questions de formulaire

    Data name (Nom des données) (obligatoire) : il s'agit du nom de la variable stockée dans le code XML de votre formulaire. Vous devez utiliser du texte en minuscules et des traits de soulignement ( _ ) à la place des espaces.

    Caption Text (Texte de légende) (obligatoire) : saisissez votre question telle que vous souhaitez qu'elle soit présentée à l'utilisateur.

    Hint (Conseil) : précisez une astuce ou du texte d'aide pour la question. Remarque : Si vous procédez à la localisation de votre formulaire, vous devez saisir ici le texte en anglais ainsi que le texte localisé. Si vous ne saisissez pas le texte en anglais par défaut, vous devez créer les formulaires au format XML dans un éditeur de texte. Reportez-vous au conseil à la fin de ce didacticiel pour plus d'informations sur la localisation des formulaires.

    Default value (Valeur par défaut) : il s'agit des informations par défaut que l'utilisateur peut voir. Par exemple, si vous recueillez des informations sur un groupe d'enfants et que vous savez que la plupart d'entre eux a 12 ans, vous pouvez saisir "12" comme valeur par défaut.

    Read-only (Lecture seule) : si vous ne souhaitez pas que l'utilisateur puisse saisir des informations pour cette question, cochez cette case.

    Required (Obligatoire) : les utilisateurs ne peuvent pas enregistrer un formulaire comme rempli s'ils n'ont pas saisi d'informations pour les questions cochées comme étant "obligatoires".



  11. Dès que vous êtes satisfait de votre formulaire, enregistrez-le dans votre compte ODK Build. Accédez à File (Fichier) > Save Form As (Enregistrer le formulaire sous). Lors de la prochaine connexion à votre compte, vous pourrez sélectionner File (Fichier) > Open (Ouvrir) pour ouvrir le formulaire.
  12. Pour télécharger le formulaire sur votre ordinateur, sélectionnez "File > Export as XML" (Fichier > Exporter au format XML). Vous voyez le code XML s'afficher. Cliquez sur le bouton "Download" (Télécharger) pour enregistrer le fichier sur votre ordinateur au format XML (.xml). Il s'agit du format qui sera utilisé pour l'importation sur votre mobile à l'étape suivante.

    Conseil : L'un des avantages d'ODK est de vous permettre de créer des formulaires localisés. La fonctionnalité pour créer des formulaires localisés dans ODK Build n'existe pas encore, mais vous pouvez dès à présent vous aider de ces exemples de formulaires (en particulier, du formulaire Widgets) pour créer vos propres formulaires XML localisés.

    Les questions ramifiées, où la deuxième question de suivi dépend de la réponse à la première, doivent également être rédigées en langage XML. Sachez que l'affichage des données des questions ramifiées est plus difficile dans Fusion Tables et Google Earth.

    Pour en savoir plus sur la création de vos propres formulaires à l'aide du langage XML, consultez le guide de formation javarosa xforms.


Création d'une instance AppEngine

Google AppEngine permet un hébergement facile de vos applications, et des données de ces dernières, sur un serveur en ligne. En savoir plus sur AppEngine et lire les conditions d'utilisation.

Pour ce didacticiel, vous allez configurer votre propre serveur utilisant l'infrastructure AppEngine et ODK Aggregate. ODK Aggregate vous permet de configurer un serveur prêt au déploiement sur lequel vous pouvez importer vos soumissions de formulaire, les exporter en tant que fichiers .csv et les envoyer vers d'autres services, tels que Fusion Tables.

  1. Vous devez d'abord créer un compte Google AppEngine. Si vous utilisez AppEngine pour la première fois, Google vous enverra un SMS vous invitant à confirmer votre identité. Veillez à avoir à portée de main un téléphone acceptant les SMS. Remarque : Un numéro de mobile ne peut être utilisé qu'une seule fois pour la création d'une instance AppEngine.
  2. Dès que votre numéro de téléphone portable est confirmé et que vous êtes connecté, cliquez sur "Create an Application" (Créer une application).

  3. Attribuez à votre application un "Application Identifier" (Identifiant d'application). Cet élément devient ensuite une partie de l'URL de votre instance AppEngine, par exemple "myurl.appspot.com".
    (Si vous souhaitez restreindre les autorisations des personnes pouvant accéder à vos données, lisez la section Sécurité ci-dessous. Vous pouvez modifier les paramètres de sécurité lors de cette étape.)

    Pour ce didacticiel, nous allons utiliser l'option par défaut "Open to all Google Account Users" (Ouvert à tous les utilisateurs de compte Google). Une fois l'identifiant saisi, vous recevez une confirmation précisant que votre application a été correctement enregistrée.


  4. Téléchargez la dernière version d'ODK Aggregate depuis la page des téléchargements ODK.
  5. Décompressez le fichier téléchargé (cliquez une fois sur le fichier dans le dossier Téléchargements sous Mac ou faites un clic droit pour décompresser sur un PC). Le fichier est décompressé dans un dossier intitulé "ODKAggregate-version-OS-installer".
  6. Double-cliquez pour exécuter l'application. Vous accédez alors à l'assistant de configuration d'ODK Aggregate. Cliquez sur "Next" (Suivant).
  7. Vous êtes invité à accepter le contrat de licence d'ODK Aggregate. Sélectionnez ensuite l'emplacement de votre ordinateur où vous souhaitez que les fichiers du programme d'installation stockent le logiciel exécuté sur Google AppEngine.
  8. Exécutez l'assistant de configuration. Saisissez le nom de l'instance ODK (par exemple "odktutorial" pour odktutorial.appspot.com) ainsi que le compte Google associé à cette instance.
  9. Dès que l'assistant de configuration a terminé de configurer ODK Aggregate, vous êtes invité à exécuter le script d'installation.
  10. Vous êtes invité à saisir de nouveau votre compte Google et le mot de passe associés à l'instance AppEngine.
  11. Patientez entre 3 à 10 minutes, le temps de l'exécution du script. Lorsque tout est terminé, un message de réussite s'affiche. Si vous avez fait une erreur dans la saisie des informations au niveau de l'assistant de configuration, vous pouvez le savoir à ce stade. Vous pouvez exécuter de nouveau l'assistant de configuration en retournant dans le dossier où ODK Aggregate est installé, puis en double-cliquant sur le programme d'installation afin de l'exécuter de nouveau.
  12. Félicitations ! Lorsque l'exécution du script est terminée, cela signifie qu'ODK Aggregate est installé sur votre instance AppEngine. Une fois l'exécution terminée, vérifiez que la configuration est correcte en consultant votre URL AppEngine (par exemple myurl.appspot.com). Vous pouvez vous connecter à l'aide de votre compte Google ou cliquer sur "Anonymous Access" (Accès anonyme).

Restriction des autorisations à ODK Aggregate pour plus de sécurité

Depuis ODK Aggregate version 1.0.n, les utilisateurs ont la possibilité de définir des autorisations d'accès à leurs instances ODK Aggregate grâce à l'interface d'administration de site. Vous pouvez désormais décider quels utilisateurs disposent d'un accès pour soumettre les données collectées sur le terrain, lesquels peuvent afficher les données soumises, lesquels peuvent modifier des données et lesquels peuvent publier en externe. Nous traiterons ce point plus en détail dans le didacticiel suivant, intitulé Gérer vos données avec ODK Aggregate. Vous pouvez également définir des restrictions via votre instance AppEngine, mais le processus est plus compliqué qu'avec ODK Aggregate pour la définition d'autorisations d'accès. En savoir plus sur l'authentification pour AppEngine.

Importation de vos formulaires sur votre instance AppEngine

Maintenant que vous avez configuré votre instance ODK Aggregate, vous pouvez importer vos formulaires, ce qui constitue la dernière étape avant de commencer à collecter des données sur le terrain avec vos formulaires. Nous allons étudier les trois principaux onglets de l'interface ODK Aggregate interface, à savoir "Submissions" (Soumissions), "Form Management" (Gestion des formulaires) et "Site Admin" (Administration de sites) dans le didacticiel suivant, intitulé Gérer vos données avec ODK Aggregate. Vous pouvez importer des fichiers XML téléchargés depuis ODK Build. ODK Build vous permet également d'envoyer des formulaires directement vers votre instance ODK Aggregate, sans avoir à télécharger le fichier XML réel.

  1. Accédez à votre instance AppEngine (ou affichez l'exemple créé à l'adresse http://odk-tutorial.appspot.com, mais utilisez votre propre instance pour l'importation de vos formulaires personnalisés).
  2. Connectez-vous à votre compte Google si vous y êtes invité.
  3. Cliquez sur l'onglet "Form Management" (Gestion des formulaires).
  4. Sélectionnez le formulaire à importer sur votre instance, puis appuyez sur "Upload" (Importer). Si des fichiers multimédias, par exemple des images dans les questions, font partie de vos formulaires, vous pouvez également les importer ici.
  5. Si votre formulaire est correctement importé, vous pouvez fermer la fenêtre "Upoload Forms" (Importer des formulaires). Vos formulaires s'affichent alors dans l'onglet "Form Management" (Gestion des formulaires), et peuvent recevoir des soumissions.

Discussions et commentaires

Vous avez des questions à propos de ce didacticiel ? Vous aimeriez nous faire part de vos commentaires ? Rendez-vous sur le groupe de discussion Google Earth Solidarité pour partager vos commentaires.

Et maintenant ?