Accueil Technologie

L’auto-hébergement de Wger sur Raspberry Pi pour planifier et suivre vos entraînements et vos progrès

Planifier votre régime de fitness est difficile, et en garder la trace l’est encore plus. Wger est une application Web auto-hébergée qui vous aide à suivre vos objectifs, à maximiser votre masse, à évaluer vos biceps et à concevoir votre régime. Elle est simple à configurer et s’accompagne d’applications mobiles pour synchroniser vos progrès sur tous les appareils.


Pourquoi héberger soi-même une application Web de suivi d’entraînement sur Raspberry Pi ?

Un homme très musclé portant un gilet de superman fait de l'exercice.

Si vous voulez sérieusement prendre du muscle, perdre du poids ou améliorer les performances et l’esthétique de votre corps, il est important d’établir un plan et de tenir un registre.

Vous devez savoir ce qui entre dans votre corps, et les calories vitales qu’il consomme comme carburant ; vous devez vous assurer que vos entraînements sont équilibrés et efficaces. Il est tout aussi important de mesurer les effets de vos entraînements et de votre régime alimentaire. Vos cuisses sont-elles plus épaisses ? Vos fessiers sont-ils plus fermes ? Votre poids évolue-t-il dans la direction souhaitée ?

Il existe des dizaines d’applications qui vous aideront à suivre et à enregistrer ces facteurs. Cependant, la plupart d’entre elles contiennent des publicités et sont soit basées sur une option de paiement par abonnement, soit utilisent le modèle freemium, avec certaines fonctionnalités non fonctionnelles à moins que vous ne payiez un montant unique. La quasi-totalité d’entre eux recueillent vos données, de sorte que vous pouvez être suivi par des sociétés de publicité même si vous suivez votre masse musculaire.

Une autre solution consiste à tenir des registres méticuleux de votre régime alimentaire et de vos séances d’entraînement dans une feuille de calcul Excel.

Wger est un gestionnaire d’entraînement complet que vous pouvez héberger vous-même sur votre Raspberry Pi. Il est gratuit et open source, ce qui signifie que vous pouvez le modifier ou le distribuer comme bon vous semble. Il n’y a pas de fonctionnalités verrouillées derrière des murs payants et comme il fonctionne sur du matériel qui vous appartient, vous pouvez être sûr que personne ne vous suit non plus.

Comment installer Wger Workout Manager sur votre Raspberry Pi

Wger est une application assez lourde, nous vous suggérons donc d’utiliser un Raspberry Pi 4B si vous en avez un à votre disposition.

Suivez notre guide pour configurer votre Raspberry Pi comme un serveur web, puis connectez-vous au Pi en utilisant Secure Shell (SSH).

Mettez à jour et mettez à niveau tous les paquets, puis clonez le dépôt GitHub de wger dans un nouveau répertoire :

 git clone https://github.com/wger-project/docker.git wger  

Passez dans le nouveau répertoire, puis utilisez l’éditeur de texte nano pour ouvrir le fichier Docker Compose :

 cd wger
nano docker-compose.yml

Au moment de la rédaction de cet article, le fichier Docker Compose ne comporte pas de directive de version en haut du fichier. Cela signifie que si vous essayez de faire apparaître Docker Compose, il ne fonctionnera pas et vous verrez les erreurs suivantes :

Option de configuration non prise en charge pour les réseaux : ‘default’.

Option de configuration non supportée pour les services : ‘nginx

Option de configuration non supportée pour les volumes : ‘postgres-data

Vous devrez spécifier une version de Docker Compose. Il est essentiel d’utiliser une version antérieure à la version 3, car certains supports syntaxiques utilisés dans le fichier wger Docker Compose ont été supprimés dans la version 3 de la spécification Docker Compose, puis réintroduits dans la version 3.9 – qui est actuellement indisponible pour Raspberry Pi OS. Si vous spécifiez la version 3.7, par exemple, vous verrez ce message d’erreur ou des messages similaires :

services.web.depends_on contient un type invalide, il devrait s’agir d’un tableau.

Nous avons constaté que la version de Docker Compose la plus fiable pour faire fonctionner wger était la 2.2. Insérez la ligne suivante au tout début de votre fichier Docker Compose :

 version: '2.2' 

Nginx est inclus dans le fichier Docker Compose de wger, et wger en a besoin pour fonctionner. Par défaut, Nginx écoute sur le port 80. Cependant, si vous utilisez votre Pi pour héberger d’autres sites et services et que vous avez suivi notre guide pour le configurer en tant que serveur, vous avez déjà Apache qui écoute sur le port 80. Faites défiler la page jusqu’à l’onglet nginx et trouvez la ligne suivante ports : qui se lit 80:80. Changez ceci en :

 81:80 

Sauvegardez et quittez nano avec Ctrl + O puis Ctrl + X. Faites apparaître Docker Compose en mode détaché :

 docker-compose up -d 

…et attendez pendant que Docker Compose télécharge les images et configure les conteneurs nécessaires. Quand le processus est terminé, exécutez :

 docker-compose ps 

…pour voir l’état des conteneurs. Chacun d’entre eux devrait avoir le statut « Up (healthy) ».

sortie de docker-compose ps dans cool retro term

Vous pouvez maintenant visiter votre instance wger à l’adresse votre-adresse-ip-locale:81. Vous verrez une image de fond inspirante d’un ensemble de bras fortement musclés lâchant une haltère dans un brouillard de gouttelettes de sueur et de poussière de craie, mais vous ne pourrez pas vous inscrire ou vous connecter.

Pour utiliser un nom de domaine pour accéder à wger, visitez la page DNS de votre registraire et créez un nouvel enregistrement « A ». Définissez l’hôte sur « @ » et la valeur sur votre adresse IP publique.

De retour dans le terminal, naviguez jusqu’au fichier sites-available et utilisez nano pour créer un nouveau fichier de configuration :

 cd /etc/apache2/sites-available
sudo nano wger.conf

Dans le nouveau fichier, collez :

 <VirtualHost *:80>
ServerName your-domain.tld
ProxyPass / http://127.0.0.1:81/
ProxyPassReverse / http:/127.0.0.1:81/
ProxyPreserveHost On
</VirtualHost>

Sauvegardez et quittez nano avec Ctrl + Opuis Ctrl + X. Activez la configuration, puis redémarrez Apache :

 sudo a2ensite wger.conf
sudo service apache2 restart

Vous pouvez maintenant visiter votre instance wger avec votre nom de domaine depuis n’importe quel navigateur. Cliquez sur le bouton Enregistrer en haut de la page, et saisissez votre nom, votre adresse électronique et votre mot de passe. Ne faites rien d’autre, ou vous recevrez un message d’erreur qui se lit comme suit :

La vérification CSRF a échoué. Requête abandonnée

Ceci est dû au fait que wger utilise Django comme base de données, et nécessite que les sources de confiance soient définies dans un fichier d’environnement séparé.

Fichier d'environnement wger dans nano

Abaissez vos conteneurs, puis utilisez nano pour ouvrir ce fichier :

 docker-compose down
nano config/prod.env

Définissez l’adresse « from » pour les emails, et ajustez votre fuseau horaire. Maintenant, cherchez une ligne qui commence par :

 CSRF_TRUSTED_ORIGINS 

Modifiez-la pour qu’elle contienne vos adresses web, ainsi que l’adresse de bouclage du Pi, puis décommentez la ligne suivante :

 X_FORWARDED_PROTO_HEADER_SET=True 

Si vous ne voulez pas que des personnes aléatoires sur Internet accèdent à votre instance wger pour suivre leurs séances d’entraînement, faites défiler la page jusqu’à la section « Application », et définissez :

 ALLOW_REGISTRATION=False
ALLOW_GUEST_USERS=False

Sauvegardez et quittez nano avec Ctrl + Opuis Ctrl + X.

La dernière chose à faire est de configurer les certificats TLS et les clés de chiffrement pour s’assurer que les fouineurs ne peuvent pas utiliser une attaque de type « man-in-the-middle » (MITM) pour intercepter votre trafic.

 sudo certbot 

Sélectionnez votre nom de domaine dans la liste, et Certbot ira chercher et déploiera les certificats TLS et les clés de cryptage. Redémarrez Apache une fois de plus pour que les changements soient pris en compte :

 sudo service apache2 restart 

Toute connexion à votre site wger workout sera mise à niveau vers HTTPS.

Utilisez Wger sur Raspberry Pi pour gérer votre forme physique

femme s'accroupissant avec un haltère

Après tout ce dur labeur au clavier, vous êtes presque prêt à faire de la gym ! Connectez-vous à votre compte en utilisant les informations d’identification que vous avez fournies plus tôt, et vous verrez un tableau de bord vide avec trois sections : « Entraînement », « Plan de nutrition » et « Poids ». C’est à vous de saisir les données dans chacune d’elles, en utilisant les boutons verts en bas de chaque colonne.

tableau de bord wger

Vous pouvez soit créer des entrées manuellement, soit cliquer sur la barre de menu de chaque catégorie en haut de chaque page et importer un fichier CSV avec vos données.

Le menu pour Formation contient tout ce qui a trait à vos entraînements, y compris les horaires, le calendrier, la galerie, et plus encore. Cliquez sur Entraînements, alors Ajouter une séance d’entraînement. Donnez un nom à votre entraînement, puis cochez les cases pour sélectionner les jours où vous souhaitez l’effectuer. Une fois que vous avez cliqué sur Sauvegardervous pourrez ajouter des exercices spécifiques à votre programme d’entraînement. Lorsque vous tapez dans la case, vous verrez apparaître des suggestions contenant ce texte.

suggestions de wger pour l'exercice crunch

Lorsque vous avez sélectionné les exercices, vous pouvez utiliser un curseur pour définir le nombre de répétitions et ajouter des détails tels que les poids concernés. Enregistrez la séance d’entraînement et vous verrez un résumé, avec les groupes de muscles à entraîner surlignés en rouge. Vous pouvez ajouter des notes à toute séance d’entraînement en cliquant sur le rouage et en sélectionnant Nouveau journal de poids.

exemple de séance d'entraînement wger

Sous Nutritionvous pouvez vérifier votre IMC, créer des plans de nutrition et calculer votre apport calorique quotidien. Inutile de chercher les ingrédients : vous choisissez vos repas quotidiens parmi plus de 78 000 produits et voyez les valeurs nutritionnelles. Ajoutez des repas au plan nutritionnel et gardez une vue d’ensemble de votre régime dans le calendrier.

Suivez vos séances d’entraînement pendant vos déplacements

Peu de gens emportent un ordinateur portable à la salle de sport, et bien que wger s’affiche bien dans la plupart des navigateurs, il fonctionne mieux si vous utilisez l’application wger dédiée pour Android. L’application est également disponible sur Google Play.

Après avoir installé l’application sur votre appareil Android, ouvrez-la de la manière habituelle et choisissez Utiliser un serveur personnalisé. Entrez votre nom d’utilisateur et votre mot de passe, puis entrez l’URL de votre serveur.

L’application mobile wger fonctionne de la même manière que l’application Web. Vous pouvez accéder à vos journaux d’entraînement, ajouter des séances d’entraînement et saisir vos plans de repas.

Installez Wger sur votre Raspberry Pi : Succès

Wger est la solution parfaite si vous vous souciez de la vie privée et si vous voulez planifier des séances d’entraînement et des régimes sérieux sans que vos données soient vendues à des tiers. Si cela ne vous concerne pas, envisagez l’une des nombreuses offres commerciales disponibles sur les magasins d’applications mobiles.

Lire  Les 7 meilleures applications gratuites de jeux de société pour toutes les occasions festives