5.6 KiB
title: FitTrackee created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, fitness, activity-tracker, python, flask, gpx, strava-alternative] confidence: high contested: false sources: [https://selfh.st/apps/?tag=fitness, https://github.com/FitTrackee/FitTrackee]
FitTrackee 🚴
Tracker d'activités sportives auto-hébergeable écrit en Python/Flask, avec import GPX/TCX, multi-utilisateurs et interface épurée. Alternative francophone à Strava.
| Métadonnée | Valeur |
|---|---|
| Site web | https://fittrackee.org/ |
| GitHub | https://github.com/FitTrackee/FitTrackee |
| License | AGPL-3.0-or-later |
| Langage | Python (Flask + Vue.js) |
| Étoiles | ⭐74 (selfh.st rank) |
| Dernière MAJ | 2026-05-22 |
| Catégorie | cat-fitness |
Description
FitTrackee est une application web libre de suivi d'activités sportives (course, vélo, randonnée, natation, etc.) conçue par un développeur français (Samy Rabih). Elle permet d'importer des traces GPX, TCX et FIT, d'analyser les performances (distance, dénivelé, vitesse, fréquence cardiaque), et de partager ponctuellement des segments avec d'autres utilisateurs.
Fonctionnalités clés :
- Import de fichiers GPX, TCX, FIT (depuis montre/GPS)
- Carte OpenStreetMap des activités avec profil altimétrique
- Statistiques par sport, période, équipement
- Multi-utilisateurs avec comptes isolés
- API REST documentée (OpenAPI)
- Équipements (vélo, chaussures) avec suivi de kilométrage
- Segments : découpage manuel de tronçons
- Notifications par e-mail
- Mode sombre et interface responsive
L'architecture repose sur un backend Flask + SQLAlchemy (PostgreSQL ou SQLite), un worker Dramatiq + Redis pour les tâches asynchrones (envoi d'e-mails, génération de tuiles de carte), et un frontend Vue.js 3. Le projet est français à l'origine, ce qui garantit une traduction de qualité et une documentation claire pour la communauté FR.
Installation
Via Docker Compose
services:
fittrackee-db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: fittrackee
POSTGRES_PASSWORD: ${DB_PASSWORD:-changeme}
POSTGRES_DB: fittrackee
volumes:
- fittrackee_db:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U fittrackee"]
interval: 10s
timeout: 5s
retries: 5
fittrackee-redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- fittrackee_redis:/data
fittrackee-backend:
image: fittrackee/fittrackee:latest
restart: unless-stopped
depends_on:
fittrackee-db:
condition: service_healthy
fittrackee-redis:
condition: service_started
environment:
FLASK_APP: fittrackee
DATABASE_URL: postgresql://fittrackee:${DB_PASSWORD:-changeme}@fittrackee-db:5432/fittrackee
REDIS_URL: redis://fittrackee-redis:6379
SECRET_KEY: ${FLASK_SECRET_KEY:-changez-moi}
EMAIL_URL: smtplogin://user:pass@smtp.example.com:587
TILE_SERVER_URL: https://tile.openstreetmap.org/{z}/{x}/{y}.png
WEATHER_API_KEY: ${WEATHER_API_KEY:-}
volumes:
- fittrackee_uploads:/usr/src/app/uploads
ports:
- "5000:5000"
fittrackee-worker:
image: fittrackee/fittrackee:latest
restart: unless-stopped
depends_on:
- fittrackee-backend
command: dramatiq fittrackee.worker
environment:
DATABASE_URL: postgresql://fittrackee:${DB_PASSWORD:-changeme}@fittrackee-db:5432/fittrackee
REDIS_URL: redis://fittrackee-redis:6379
volumes:
- fittrackee_uploads:/usr/src/app/uploads
volumes:
fittrackee_db:
fittrackee_redis:
fittrackee_uploads:
Installation manuelle
Voir la documentation officielle https://docs.fittrackee.org/installation.html (sections Docker, manuel Python, etc.).
Configuration
DATABASE_URL: PostgreSQL ou SQLite (SQLite possible pour petit usage)REDIS_URL: pour la file de tâchesSECRET_KEY: secret Flask (obligatoire en production)EMAIL_URL: pour notifications (formatsmtplogin://user:pass@host:port)TILE_SERVER_URL: serveur de tuiles (par défaut OSM, peut être changé)WEATHER_API_KEY: optionnel, pour récupérer la météo des activités
L'admin se crée en CLI : flask users create --admin.
Alternatives
Open source :
- app-wger : orienté routines d'entraînement, pas activités outdoor
- app-endurain : clone Strava plus récent, Go
- app-statistics-for-strava : si vous voulez juste des stats sur vos données Strava
- Runalyze : allemand, riche, plus lourd à héberger
Propriétaire :
- Strava : leader, segments sociaux, gratuit avec limitations
- Garmin Connect : si écosystème Garmin
- Komoot : orienté randonnée/vélo itinérance
Sécurité
- Changer toutes les clés par défaut avant déploiement
- Mettre en place HTTPS (reverse proxy type Caddy/Traefik)
- Sauvegardes :
pg_dumpquotidien + volumefittrackee_uploads - Les fichiers GPX/FIT uploadés peuvent contenir des données de localisation précises : sécuriser l'accès
Ressources
- GitHub : https://github.com/FitTrackee/FitTrackee
- Site officiel : https://fittrackee.org/
- Documentation : https://docs.fittrackee.org/
- selfh.st : https://selfh.st/apps/?tag=fitness
Pages Liées
- cat-fitness
- recettes-docker-compose
- app-wger — orienté routines
- app-endurain — clone Strava
- app-statistics-for-strava — pour les stats Strava