Faire Une Copie De Sécurité De Toutes Ses Activités Enregistrées Sur Garmin Connect

Oct 23, 2020

5 mins read

L’attaque contre les infrastructures de Garmin cet été 2020 m’a fait prendre conscience que c’est peut-être une mauvaise idée de confier ses données aveuglément à un site qui se fait pirater et à qui il faut plus d’une semaine pour tout remettre en ordre. Nous avions eu de la chance que les copies de sécurité n’ont pas été affectées. Mais que se serait-il passé si les systèmes de secours avaient aussi faillis?

Et puis, Garmin a su montrer qu’ils étaient incapable de communiquer sur l’état de la situation. Il a fallu plusieurs jours juste pour savoir ce qui se passait et si les données avaient été détruites ou volées (ce qui n’est toujours pas clair à 100%).

Il y a aussi d’autres raisons:

  • la possibilité d’importer ses sessions sportives dans d’autres plateformes non connectées à Garmin,
  • utiliser des outils d’analyses hors ligne,
  • ou simplement partager les parcours GPS avec d’autres coureurs.

Bref, je me suis dit qu’il est temps de rapatrier une copie de mes données sur mon propre PC. Garmin le permet par l’interface web mais seulement activité par activité. Il est alors quasiment impossible de récupérer tout son historique.

Il existe néanmoins une autre possibilité, qui permet en une commande de tout récupérer. Nous allons voir comment la mettre en œuvre.

Présentation

Garmin Connect Export

L’outil garmin-connect-export permet de récupérer tous les fichiers FIT du compte en ligne sur son ordinateur. Il en existe plusieurs versions, son premier auteur ayant arrêté son développement, d’autres ont continué.

Cette que j’utilise ici est celle de l’auteur testcocoon: https://github.com/testcocoon/garmin-connect-export.git

Installation

Prérequis

Microsoft Windows

La façon la plus simple de procéder d’installer l’outil est d’installer CygWin. CygWin est un environnement qui émule l’environnement Unix sous Windows. Et donc, une fois installé, il suffit de suivre le tutoriel comme si vous étiez sous Linux ou MacOS.

Pour ce faire, allez sur http://cygwin.com/install.html et sélectionnez la version 64 bits ou la version 32 bits.

Lors de l’installation, il faut sélectionner les programmes suivant sur la page “Select Packages”:

  • git
  • python3

Le plus simple pour choisir ses applications est de mettre View sur Full et ensuite à utiliser le champ de recherche Search comme dans la copie d’écran:

Sélection des Programmes dans CygWin
Sélection des Programmes dans CygWin

Après l’installation, il suffit de cliquer sur l’icône “Cygwin Terminal” pour ouvrir la ligne de commande:

Console Cygwin
Console CygWin

MacOS

Pour MacOS, le plus simple est d’installer Homebrew. Pour ce faire:

  1. Ouvrir l’application terminal et entrez la commande:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 
  2. Une fois HomeBrew installé, il suffit d’installer python et git avec la commande:
    brew install git python

Debian et Ubuntu

Pour Debian ou Ubuntu, il suffit d’installer les paquets git et python:

sudo apt install git python

Installation de garmin.connect-export

Pour installer garmin-connect-export, il suffit de le télécharger en utilisant git.

Simplement, ouvrir un terminal et executer:

git clone https://github.com/testcocoon/garmin-connect-export.git

Dans le répertoire garmin-connect-export se trouve gxexport.py, pour afficher l’aide, il suffit d’exécuter:

cd garmin-connect-export
./gcexport.py --help

Télécharger les fichiers FIT

gcexport.py télécharge par défaut uniquement la trace GPS de la dernière activité. Pour le forcer à télécharger le fichier FIT original, il faut utiliser l’option “--format original --unzip”. Pour télécharger plus d’activités, il faut utiliser l’option “--count” )"--count 100" rapatrie les 100 dernières activités).

Il faut ensuite spécifier le répertoire de destination avec l’option “--directory”, celui par défaut n’est pas le plus pratique:

  • Pour MacOS , Debian ou Ubuntu, on choisira plutôt $HOME/Documents/GarminConnect
  • Sous Windows, on choisira $USERPROFILE/Documents/GarminConnect

Dans les deux cas, un sous-répertoire GarminConnect du répertoire Mes Documents est utilisé comme destination.

Pour télécharger le dernier fichier d’activité au format FIT, il suffit d’exécuter la commande:

cd garmin-connect-export
./gcexport.py --directory "$USERPROFILE/Documents/GarminConnect" --count 100 --format original --unzip

L’utilisateur et le mot de passe du compte Garmin Connect seront alors demandés et les 100 dernières activités seront téléchargées.

Il est aussi possible d’entrer les identifiants du compte directement par la ligne de commande grâce aux options “--username” et “--password”.
Enfin, grâce à l’option “--start”, il est possible de définir l’index du premier élément à rapatrier. Ce qui peut être nécessaire lors d’un échec de connexion.

Un point remarquable est qu’après un téléchargement complet, il est possible de faire de télécharger les nouvelles activités sans tout re-télécharger. En choisissant, par exemple, “--count 10”, les 10 dernières activités seront ajoutées aux existantes.

Résultat

Dans le répertoire de destination se trouve alors:

  1. un fichier avec l’extension .FIT par activité sportive
  2. un fichier device_XXXXXX.json qui décrit la montre utilisé. N’a aucun intérêt en soi.
  3. un fichier activities.csv (et dans le format JSON, son équivalent activities.json) qui contient la liste des courses associées à leur fichier .FIT. Il peut directement être édité avec LibreOffice ou Excel et permet de se retrouver dans la liste des activités.

La suite

Récupérer les fichiers des activités offre bien plus de possibilité que l’archivage. Ils permettent d’avoir accès à tous les enregistrements et d’en extraire des informations pour une analyse plus poussée que ce que proposent les plateformes, d’autant plus que Garmin propose gratuitement le kit logiciel “FIT SDK” permettant de lire ses fichiers.
Mais, ceci sera certainement le sujet d’un prochain article…


Partagez pour mieux faire connaître!