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:
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.
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
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”:
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:
Après l’installation, il suffit de cliquer sur l’icône “Cygwin Terminal” pour ouvrir la ligne de commande:
Pour MacOS, le plus simple est d’installer Homebrew. Pour ce faire:
terminal
et entrez la commande:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
python
et git
avec la commande:
brew install git python
Pour Debian ou Ubuntu, il suffit d’installer les paquets git et python:
sudo apt install git python
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
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:
$HOME/Documents/GarminConnect
$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.
Dans le répertoire de destination se trouve alors:
.FIT
par activité sportivedevice_XXXXXX.json
qui décrit la montre utilisé. N’a aucun intérêt en soi.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.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!