Mise à jour¶
Danger
Si vous mettez à jour vers la version 1.0, des étapes supplémentaires sont requises, voir Mettre à jour vers la version 1.0.x.
Avertissement
Avant de procéder à la mise à jour, faire une sauvegarde de l'ensemble des données :
base de données (avec la commande pg_dump par exemple)
répertoire des fichiers téléversés (see Variables d'environnement)
Avertissement
Les versions publiées ne suivent pas la gestion sémantique de version. Toute version peut contenir des changements non rétro-compatibles.
Note
Selon le système d'exploitation et la version de Python installée, des dépendances supplémentaires peuvent être requises, telles que gcc ou libgdal-dev.
A partir de PyPI¶
Avertissement
Stopper l'application et activer l'environnement virtuel
Mettre à jour avec pip
$ pip install -U fittrackee
Mettre à jour les variables d'environnements si nécessaire et les activer
$ nano .env
$ source .env
Mettre à jour la base de données si nécessaire (voir le journal des changements pour les migrations) :
$ ftcli db upgrade
Redémarrer l'application et les workers de la file d'attente des tâches (si l'envoi des courriels est activé).
A partir des sources¶
Avertissement
Environnement de production¶
Arrêter l'application
Changer pour le répertoire dans lequel FitTrackee est localisé
Télécharger la dernière version (à ce jour, la version v1.1.0) et écraser les fichiers existants :
$ wget https://github.com/SamR1/FitTrackee/archive/v1.1.0.tar.gz
$ tar -xzf v1.1.0.tar.gz
$ cp -R FitTrackee-1.1.0/* FitTrackee/
$ cd FitTrackee
Mettre à jour le fichier .env si nécessaire (cf. Variables d'environnement).
Mettre à jour les paquets :
$ make install-python
Mettre à jour la base de données si nécessaire (voir le journal des changements pour les migrations) :
$ make upgrade-db
Redémarrer le serveur et les workers de Dramatiq :
$ make run
Note
Si l'envoi des courriels est désactivé : $ make run-server
Environnements de développement¶
Arrêter l'application et récupérer les derniers changements du dépôt :
$ git pull
Mettre à jour le fichier .env si nécessaire (cf. Variables d'environnement).
Mettre à jour les paquets :
$ make install-dev
Mettre à jour la base de données si nécessaire (voir le journal des changements pour les migrations) :
$ make upgrade-db
Redémarrer le serveur :
$ make serve
Démarrer les workers de Dramatiq :
$ make run-workers
Mettre à jour vers une version 1.0.x¶
Note
Ce paragraphe décrit la mise à jour à partir d'une version inférieure à la 1.0.0 vers une version 1.0.x.
La version 1.0.0 introduit des changements majeurs dans le traitement des fichiers des séances afin d'améliorer les performances et faciliter l'implémentation des futures fonctionnalités:
les données affichées dans le graphique de la séance sont maintenant stockées en base de données,
ainsi que les géométries des segments.
Ce dernier changement nécessite l'extension PostGIS, pour ajouter les fonctionnalitées géospatiales à la base de données PostgreSQL.
Instructions de mise à jour¶
Avertissement
Ces actions doivent être effectuées avant la mise à niveau vers la version 1.1.0.
Avertissement
Avant de procéder à la mise à jour, faire une sauvegarde de l'ensemble des données :
base de données (avec la commande pg_dump par exemple)
répertoire des fichiers téléversés (see Variables d'environnement)
Note
Selon le système d'exploitation et la version de Python installée, des dépendances supplémentaires peuvent être requises, telles que gcc ou libgdal-dev.
A partir PyPI ou des sources¶
PostGIS doit être installé sur le système d'exploitation. Vous pouvez trouver les instructions pour votre système d'exploitation dans la documentation de PostGIS.
Voici les instructions pour une installation sur ArchLinux avec yay (à adapter selon le système d'exploitation) :
arrêter l'application et les workers
installer PostGIS sur le serveur de la base de données
$ yay postgis
ajouter l'extension PostGIS à la base de données
$ psql -U <SUPER_USER> -d <FITTRACKEE_DATABASE_NAME> -c 'CREATE EXTENSION IF NOT EXISTS postgis;'
si le serveur exécutant l'application et différent de celui de la base de données, installer la librairie gdal le serveur exécutant l'application (GDAL est installé avec PostGIS)
$ yay gdal
mettre à jour fittrackee (voir les instructions pour la mise à jour)
exécuter les migrations de base de données
démarrer l'application et les workers
Avec Docker¶
arrêter l'application, les workers et la base de données
$ docker compose stop
remplacer l'image de la base de données
postgresdans le fichierdocker-compose.ymlparpostgis/postgis(en gardant la même version de PostgreSQL), par exemple :- image: postgres:17-alpine + image: postgis/postgis:17-3.5-alpine
Avertissement
démarrer uniquement la base de données
$ docker compose up fittrackee-db -d
ajouter l'extension PostGIS à la base de données
$ docker compose exec fittrackee-db psql -U <SUPER_USER> -d <FITTRACKEE_DATABASE_NAME> -c 'CREATE EXTENSION IF NOT EXISTS postgis;' CREATE EXTENSION
mettre à jour la version de l'image de fittrackee dans le fichier
docker-compose.ymlredémarrer l'application, les migration devraient s'exécuter sans erreur
Mise à jour des séances¶
Une nouvelle option de l'interface de lignes de commande (--add-missing-geometry) permet de réactualiser toutes les séances sans géométries et données du graphique.
Après avoir mis à jour fittrackee, exécuter la commande suivante avec éventuellement d'autres options selon le nombre de séances à mettre à jour et les capacités du serveur, avant d'activer les fonctionnalités géospatiales.
Par exemple pour les 1000 premières séances créées avec un fichier :
$ ftcli workouts refresh --add-missing-geometry --per-page 1000 -v
True dans le fichier .env.Important
La version 1.1.0 nécessite que toutes les séances soient mises à jour (l'option --add-missing-geometry est supprimée dans la version 1.1.0).