JGachelin.fr

Runalyze : faites du sport, gardez votre vie privée !

Runtastic, Endomondo, Garmin Connect, Strava : autant de sites et d’applications par lesquels je suis passé pour comparer mes résultats sportifs, principalement en course à pied, face à moi-même ou en me mesurant aux autres. Autant de sites qui possèdent de très nombreuses informations sur mes performances et ma santé, jusqu’aux battements de mon cœur. Autant de sites limités en version gratuite et qui proposent tout un tas d’options payantes. Aujourd’hui c’est fini : je passe à Runalyze.

La course à pied étant déjà un sacré business en soit et nécessitant des investissements constants, comme une paire de chaussure presque annuellement, je ne veux pas prendre un abonnement sur un site web, qui en plus me ferra culpabiliser de ne pas m’entraîner certaines périodes où je préfère relâcher. Mais du coup je me prive de nombreuses fonctionnalités payantes.

Les fonctionnalités

Runalyze est un projet open-source, donc il est tout à fait possible d’aider à son amélioration car il dispose d’une page GitHub et il est également possible d’aider à sa traduction, pas tout à fait au point actuellement. Je critique, mais j’essaie aussi de contribuer à son amélioration 😉 . Il est possible de créer un compte sur le site de Runalyze et il est également possible d’installer le service sur son propre serveur, comme on va le voir plus bas.

Les analyses

Pour chaque activité, votre VO2Max effective est mesurée. Sont également disponibles des outils de prédiction pour votre prochaine course, dont le prédicteur de performance en compétition (CPP) de Robert Bock, une méthode par Herbert Steffny, une autre par David Cameron et une dernière méthode à l’aide de la VO2Max. Il est également possible d’effectuer des prédictions selon votre forme du moment ainsi que de prédire votre allure Marathon.

De nombreuses statistiques vous avertissent en cas d’entraînement trop intense ou trop monotone. Enfin, un dernier outil d’analyse, ANOVA, permet de comparer un type de valeur, par exemple visualiser sur un mois l’allure de chaque course, et ainsi voir l’intervalle dans laquelle on se trouve, ainsi que de constater que parfois il y a des valeurs complètement à côté. Il est difficile d’être explicite en quelques lignes de tous ces outils, ainsi si vous souhaitez en savoir un peu plus sur ces outils, je vous invite à vous rendre sur la page des fonctionnalités (en). En cliquant sur les icônes de droite vous aurez un aperçu de la fonctionnalité en question.

Les données

Tous les formats répandus sont acceptés pour l’import des données (*.fit, *.fitlog, *.gpx, *.hrm, *.kml, *.logbook, *.pwx, *.slf, *.sml, *.tcx, *.trk, *.ttbin et *.xml), et l’export est possible dans les formats suivants : *.tcx, *.gpx, *.kml et *.fitlog. Il est également possible d’importer directement depuis le module Garmin Communicator. Pour rendre plus pertinentes les analyses, il est possible de renseigner de nombreuses données personnelles, du poids jusqu’à la durée du sommeil en passant par la graisse corporelle et la fréquence cardiaque au repos.

Les activités

Lorsque vous importez une activité dans Runalyze, il propose différents outils comme la visualisation de la variation du rythme cardiaque (si vous avez un accessoire permettant de prendre ces mesures) ou encore la correction de l’élévation. Il est possible de renseigner de nombreuses informations complémentaires : l’équipement, les résultats pour une course, y ajouter des tags ou encore la météo. La configuration est totale, on peut choisir quelles données on souhaite afficher et dans quel ordre !

Le social

Je voulais mettre un lien vers un article que je ne retrouve plus, à propos de l’impact de la « socialisation » des résultats sportifs. Toujours à vouloir se comparer aux autres, à essayer de s’entraîner autant, j’ai longtemps trouvé ça comme une motivation sur Strava, chaque fois que je voyais un collègue aller courir ça me motivait à me bouger, mais ça me forçait aussi à en faire plus que ce que je voulais. Et à trop en faire, aujourd’hui j’ai beaucoup relâché, même si ce n’est pas la seule raison.

Donc il n’y a pas vraiment de côté social (pour le moment) sur Runalyze et je penses que ça peut être un avantage de se recentrer sur soit, plutôt que sur ce que font les autres. Il y a pour le moment la possibilité de choisir un niveau de confidentialité pour une activité et la rendre soit privée ou publique, et d’activer ou non une page d’athlète publique.

Le design

Le tableau de bord sur lequel on arrive lorsqu’on se connecte est loin d’être accueillant :

Malgré les apparences, le tout reste plutôt bien responsive. L’idée étant de redevenir maître de mes données personnelles, la suite concerne évidemment l’installation de Runalyze sur son propre serveur.

L’installation

Runalyze est développé avec Symfony, il nécessite minimum PHP 5.6.0 (et max. PHP 7.0.*) et MySQL 5.0.0+. Je pars du principe que l’on dispose d’un serveur web (Nginx dans mon cas) avec PHP et MySQL déjà configurés. Les modules PHP suivants sont nécessaires :

php-gettext php-zip php-curl php-xml php-mbstring libxml2 gettext php-intl perl

Il faut regarder ce qui est déjà en place à l’aide de la commande « php -m » et adapter selon ce qui est déjà présent. Pour ma part j’ai eu besoin de :

sudo apt-get install php-gettext gettext
sudo service nginx restart

Ensuite on télécharge la dernière version stable, vous trouverez le lien de téléchargement sur la page des releases. Puis on extrait les fichiers :

tar -zxvf runalyze-v4.0.0.tar.gz

Ensuite on duplique le fichier de configuration par défaut dans le bon répertoire, cette commande étant effectuée à la racine du projet :

cp app/config/default_config.yml data/config.yml

On va éditer le fichier de configuration :

nano data/config.yml

Et ajuster les paramètres de la base de donnée :

database_host: 127.0.0.1     # database hostname or ip  (e.g. localhost, 127.0.0.1 ...)
database_prefix: runalyze_   # table prefix of the new RUNALYZE installation
database_port: 3306          # port of the database server (normally 3306)
database_name: runalyze      # database name
database_user: root          # database username
database_password: "xxx"     # database password

Mais également renseigner les informations pour l’envoi de mail, ce que je n’ai pas fait au départ et j’ai dû esquiver la méthode du mail pour la confirmation d’inscription, comme je l’explique plus loin dans l’article.

mail_sender:
mail_name:
smtp_host: localhost
smtp_port: 25
smtp_security:
smtp_username:
smtp_password:

Si vous n’avez pas de mail de configuré, vous n’êtes pas obligés de procéder à cette étape si vous passez la ligne suivante à « true » pour désactiver l’activation des comptes :

user_disable_account_activation: false

Aussi, après la création de votre compte, si l’usage de Runalyze est personnel, il est possible de désactiver les inscriptions :

user_can_register: true

Il est possible que la modification ne soit pas effective sur la page d’inscription car Symfony met en cache le contenu, il faut donc exécuter la commande suivante à la racine de l’installation pour vider le cache :

php bin/console cache:clear --env=prod

Puis il faut configurer Nginx / Apache, la documentation donne des modèles de configurations. Le plus important pour ne pas tomber sur une erreur 404 avec Nginx pour la suite est ceci :

location / {
        # try to serve file directly, fallback to app.php
        try_files $uri /app.php$is_args$args;
    }

Une fois que c’est fait on se rends à l’adresse du serveur, du type domaine.tld/install (ou web/install si vous n’avez pas configuré pour arriver directement dans le répertoire web/), vous arrivez ici :

Un clic sur le bouton pour démarrer l’installation et c’est parti ! Ensuite on peut se lancer dans la création d’un compte. En créant mon compte je suis cependant arrivé sur une page introuvable (404) et je n’ai pas reçu le mail d’activation. C’est sûrement dû comme expliqué plus haut à l’oubli de configurer l’envoi des mails dans le fichier de configuration.  J’ai opté pour une belle esquive : récupérer le format du lien d’activation lors de l’inscription sur runalyze.com puis récupérer le hash d’activation dans la table « account » de la BDD et enfin générer manuellement mon lien. Pour info le lien est le suivant : https://{domain.tld}/fr/account/activate/{hash_d_activation}/{user}, il faut bien évidemment adapter tout ce qui est entre accolades.

Et nous voilà sur une interface digne de ce qui se fait de mieux dans le logiciel libre : c’est pas beau 🙂

Prochain article : l’utilisation de Runalyze avec de nombreuses illustrations et probablement aussi l’installation des outils optionnels : celui de détection de la timezone, car la plupart des fichiers ne précisent pas correctement cette information, et la correction de l’élevation par satellite car là aussi, elle est imprécise sur les données GPS.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *