Pytrainer pour suivre ses entrainements sous Mandriva

Installation de Pytrainer, le logiciel de suivi des entrainements (pour cyclistes, coureurs, rollers..) sous Mandriva

Pytrainer est un logiciel qui permet de suivre ses entraînements sous linux. Associé à un GPS sportif de type Forerunner, Garmin ou Nokia, il récupère vos données et vous permet ensuite d’en extraire statistiques et graphiques. Mais il n’est pas proposé en rpm sous Mandriva. Voici comment je l’ai installé malgré tout.

introduction

Sports Tracker sur Nokia e63

Je possède un smartphone Nokia e63 associé à un module GPS LD-4W. Nokia propose le logiciel Nokia Sport Tracker, récemment rebaptisé "Sports Tracker".

Si vous allez sur le site web associé, vous verrez que mon modèle de téléphone n’est pas mentionné parmi les appareils compatibles. C’est la crainte [1] pour laquelle j’ai cherché une solution de substitution libre. PyTrainer permet de récupérer les données à partir de différents GPS mais également sous forme d’import GPX. C’est cette possibilité qui m’a intéressé car Sports Tracker est capable d’exporter ce format.

Télécharger PyTrainer et les prérequis

Pytrainer sur PC Linux

Il faut aller sur la page officielle Sourceforge pour télécharger la dernière version de PyTrainer (1.7.2 au moment où j’écris cet article).

NOTA : La communauté MIB propose un paquet tout fait ici. Je n’ai pas retenu cette solution pour diverses raisons (non officielle, rend obligatoire leur garmintools...)

Ensuite, décompressez le fichier tar.gz pour prendre connaissance du fichier INSTALL, soit en utilisant votre outil habituel (Archiveur Ark si vous êtes sous environnement KDE), soit en ligne de commande dans une console (konsole, xterm,lxterminal...) :

[user@localhost ~]$ tar -xzvf pytrainer-1.7.2.tar.gz

Ce fichier INSTALL nous donne toutes les dépendances :

exigence Pytrainer equivalence mandriva RPM i586 equivalence mandriva RPM x64
python-2.6.2 python-2.6 python-2.6
python-devel-2.6.2 libpython2.6-devel lib64python2.6-devel
python-matplotlib-0.98.5.2 python-matplotlib python-matplotlib
python-dateutil-1.4.1 python-dateutil python-dateutil
gnome-python2-gtkmozembed-2.25.3 gnome-python-gtkmozembed gnome-python-gtkmozembed
pygtk2-libglade-2.16.0 pygtk2.0-libglade pygtk2.0-libglade
pygtk2-2.16.0 pygtk2.0 pygtk2.0
SOAPpy-0.11.6 python-soap python-soap
python-lxml-2.2.3 python-lxml python-lxml
libxml2-python-2.7.6 libxml2-python libxml2-python
libxml2-2.7.6 libxml2_2 libxml2_2
libxslt-python-1.1.26 python-libxslt python-libxslt
libxslt-1.1.26 libxslt1 libxslt1
sqlite-3.6.20 libsqlite3_0 lib64sqlite3_0
xulrunner-1.9.1.8 xulrunner xulrunner

Et certains paquets sont optionnels :

OPTIONS Pytrainer equivalence mandriva RPM i586 equivalent mandriva RPM x64
gpsbabel-1.3.5 ("Garmin via GPSBabel 1.3.5" aka garmin_hr) gpsbabel gpsbabel
garmintools-0.10 ("Garmin via garmintools" aka garmintools_full) indisponible [2] indisponible [3]

Voilà, vous avez la liste des paquets à installer. Allez-y. Soit vous utilisez l’outil graphique "gestionnaire de logiciels" du centre de controle mandriva (rpmdrake), soit vous restez en ligne de commande et tapez :

[user@localhost ~]$ su
Mot de passe : (celui de root) 
[root@localhost user]# urpmi python-2.6 python-matplotlib (etc...)

en mettant toute la colonne qui vous concerne du tableau précédent à la suite de la ligne urpmi.

Pour ceux qui ne sont pas encore passé en console root (administrateur), il faut le faire maintenant car la commande suivante ne peut se faire qu’en mode "console". Donc lancez votre terminal préféré et tapez :

[user@localhost ~]$ su
Mot de passe : (celui de root) 
[root@localhost user]# cd /home/user/Téléchargements/pytrainer-1.7.2/ 
[root@localhost user]# python setup.py install

Attention : ne lancez pas immédiatement Pytrainer.
En effet, Pytrainer ne trouvera pas libxul.so et vous serez durablement coincé (voir en post-scriptum). Pour éviter cela, il vous faut trouver le fichier libxul.so avec la commande :

[root@localhost user]#find / -name libxul.so

Ce qui peut vous donner plein de réponses mais au moins une :

/usr/lib64/xulrunner-1.9.2.4/libxul.so
/usr/lib64/xulrunner-1.9.2.8/libxul.so
/usr/lib64/xulrunner-1.9.2.6/libxul.so
/usr/lib64/xulrunner-1.9.2.9/libxul.so
/usr/lib64/xulrunner-1.9.2.11/libxul.so
/usr/lib64/xulrunner-1.9.2.10/libxul.so

Choisissez la version la plus récente. Nous allons créer un lien symbolique (un "raccourci") pour aider Pytrainer à trouver ce fichier :

[root@localhost user]#ln -s /usr/lib64/xulrunner-1.9.2.11/libxul.so /usr/lib64/libxul.so

Adaptez cette ligne à votre résultat (notamment /usr/lib/ au lieu de /usr/lib64 et les numéros de version de xulrunner).

Conclusion

Le réconfort après l’effort ?

Voilà ! Cette fois-ci, votre installation devrait fonctionner. Il reste à taper la commande « pytrainer -i » après être redescendu en utilisateur simple (et non plus root) pour lancer enfin PyTrainer.

Dans un article à venir, je décrirais l’import de données à partir de Sports Tracker.

Post-Scriptum

Si rien ne se passe au lancement de pytrainer, ouvrez une console et lancez dans la console « pytrainer -d » pour voir les éventuels messages d’erreur. Ils sont également accessibles dans votre dossier /home/user/.pytrainer/log.out

S’il n’y a aucun message d’erreur mais juste ça :

[user@localhost ~]$pytrainer -d
data_path: /usr/share/pytrainer/
DIR: /usr/share/locale
site_path: /usr/lib/python2.6/site-packages
[user@localhost ~]$

Vous êtes dans la même situation que moi, confronté à un bug qui n’est pas corrigé dans la version publique mais l’est dans la version "développement". Je suis donc passé par l’utilisation de la version développement (à obtenir par l’outil svn) comme indiqué sur la page développement. Pour cela, il faut installer le RPM « svn » puis taper :

[user@localhost ~]$ svn co https://pytrainer.svn.sourceforge.net/svnroot/pytrainer
[user@localhost ~]$ su
Mot de passe : (celui de root) 
[root@localhost user]# cd trunk
[root@localhost user]# python setup.py install

[MISE A JOUR] La dernière version de Pytrainer nécessite python-sql-migrate dans une version très récente, il n’est donc plus installable sous mandriva 2010.2 et nécessite mandriva 2011.