Skip to content

récupération des données tracemob d'un utilisateur sur son cozycloud personnel

Patrick GENDRE edited this page Sep 27, 2021 · 3 revisions

Dans le cadre du projet Agremob à la Rochelle, l'expérimentation self data permet aux utilisateurs de gérer leurs données de mobilité personnel avec son espace de données personnel cozycloud. Un cozycloud personnel sera créé pour chaque bêta-testeur.
Egalement, chaque utilisateur de l'application tracemob qui ne participe pas aux tests Agremob peut se créer un compte cozycloud personnel (c'est gratuit) et relier son compte cozy avec tracemob.
Les données de traces recueillies par l'application tracemob et traitées par le serveur tracemob seront envoyées sur le cozycloud de l'utilisateur. (et uniquement sur son compte personnel, bien sûr, l'utilisateur garde le plein contrôle sur ses données).

Chaque nuit, le cozycloud interroge le serveur tracemob pour chaque utilisateur qui a connecté ses données tracemob à son compte cozy. Le déroulé est le suivant :

  • Récupération des métadonnées de trips via l'API "datastreams/find_entries/timestamp", sur la key : "analysis/cleaned_trip".
  • Pour chaque date de trip récupéré, on requête les données de l'API "timeline/getTrips/"
  • Enfin, on récupère les données manuelles via l'API "datastreams/find_entries/timestamp", avec key: "manual/purpose_confirm" + "manual/mode_confirm" (attribut json : manual_mode)

Chaque trip (déplacement) est stocké dans un document JSON, formalisé via un doctype Cozy GeoJSON : https://github.com/cozy/cozy-doctypes/blob/master/docs/io.cozy.timeseries.md

Les requêtes effectuées sont disponibles ici : https://github.com/konnectors/tracemob/blob/master/src/trace-requests.js (le connecteur tracemob est une appli open source installée sur le cozycloud personnel de l'utilisateur et qui permet aussi de visualiser les derniers déplacements).

Pour se connecterà l'appli cozy tracemob depuis son cozy personnel:

  • Le 1er champ « identifiant libre » permet à l’utilisateur de donner à sa source de donnée un nom qu’il reconnaitra. En effet, il nous a semblé légitime de lui laisser la maitrise du dispositif qu’il utilise. Ainsi, si à terme des usages ajoutent d’autres capteurs dans le cadre par exemple du coach CO2 (voiture, régie de transport, etc…), l’interface pourra être explicite sur les sources des données affichées, filtrées, prises en compte dans les calculs, etc.
  • Le 2nd champ « identifiant secret » est l’identifiant automatiquement attribué par l’application TraceMob (le token). Il est sensible car il permet d’accéder aux traces de son propriétaire. Il est disponible à ce titre uniquement dans l’onglet Profile de l’application mobile.

Il est possible de récupérer les données JSON : on peut les exporter depuis l’application Cozy, en sélectionnant dans le menu: Settings > Profil > Télécharger une copie de mes données. Cette dernière méthode est globale à tout le CozyCloud personnel, les trajets dans /data/io.cozy.timeseries.geojson/*.json

En cas de suppression du compte/token tracemob :

  • l'utilisateur cozy dont le cozy est connecté au compte tracemob va recevoir un mail pour lui indiquer qu'il y a eu un échec de récupération des données
  • ensuite, après un échec de login, on suspend immédiatement la récupération des données, et on ne réessaie plus : le pricessus de récupération du serveur tracemob n'est débloqué qu'après une reconnexion manuelle de l'utilisateur. La récupération est suspendue uniquement en cas d'échec de login (mauvais identifiant, ou compte supprimé). On évite ainsi des tentatives de connexions inutiles qui pourraient bloquer le compte pour certains connecteurs (typiquement bancaires par ex.). Par contre, si le serveur tracemob est HS, ce sera un autre type d'erreur, et dans ces cas là, la récupération se fera bien automatiquement le lendemain, si le serveur est rétabli.
  • l'utilisateur peut éventuellement "rebrancher" son cozy sur un autre token tracemob s'il a réinstallé l'appli : cela rajoutera les nouvelles données à la suite.

Quelques liens utiles
Reprenez le contrôle de vos données avec Cozy
Créer un Cozy : https://manager.cozycloud.cc/cozy/create
Vous connecter à votre Cozy : https://manager.cozycloud.cc/cozy/login
Guide de prise en main de votre Cozy : https://support.cozy.io/category/49-guide-de-prise-en-main 5304f9ee-7f20-48dd-8d58-9508682597c7

Clone this wiki locally