À propos du projet
SparkyFitness est une plateforme de suivi de fitness et de santé auto-hébergée, présentée comme une alternative respectueuse de la vie privée à des applications comme MyFitnessPal, Flo, Hevy et Shotsy. Elle se compose d'un serveur backend (API et stockage de données), d'un frontend web et d'applications natives iOS et Android, et conserve les données de santé sur une infrastructure contrôlée par l'utilisateur.
Le suivi principal couvre la nutrition, l'exercice, l'hydratation, le sommeil, le jeûne, l'humeur et les mesures corporelles, ainsi que la définition d'objectifs, les check-ins quotidiens, des graphiques interactifs et des rapports à long terme. Elle prend en charge plusieurs profils utilisateurs avec accès familial, des thèmes clair et sombre, et des options d'authentification incluant OIDC, TOTP, passkeys et MFA.
Les intégrations santé et appareils listées incluent Apple Health, Google Health Connect, Google Health API, Fitbit, Garmin Connect, Withings, Polar Flow, Oura, Hevy, Strava (partiellement testé), Yazio (API non officielle), ainsi que des bases de données alimentaires telles qu'OpenFoodFacts, USDA, Fatsecret, Nutritionix, Mealie, Tandoor, Norish, Swiss Food Database, Free Exercise DB et Wger. Ces intégrations synchronisent des données d'activité comme les pas, les entraînements et le sommeil, ainsi que le poids et les mesures corporelles. Les phases de sommeil, la VFC et la glycémie sont importées depuis des appareils externes plutôt que mesurées par l'application.
Des fonctionnalités IA bêta optionnelles (SparkyAI) fournissent une interface conversationnelle pour enregistrer les aliments, l'exercice, les statistiques corporelles et les pas, y compris le téléversement d'images d'aliments pour l'enregistrement automatique des repas, avec conservation de l'historique des conversations. Le README mentionne également un serveur MCP et la prise en charge d'un LLM personnel.
L'installation se fait principalement via Docker Compose : créer un dossier, télécharger le fichier compose de production, configurer un fichier .env (un générateur dans le navigateur, un modèle minimal à cinq valeurs ou une référence complète sont proposés), définir les secrets requis comme le mot de passe de la base de données, la clé de chiffrement de l'API, le secret d'authentification et l'URL du frontend, puis exécuter docker compose pull et up, en accédant à l'application sur le port 3004. Les utilisateurs non techniques peuvent déployer via des fournisseurs hébergés tiers PikaPods ou Zenith. La documentation, un guide d'installation, un générateur .env interactif, la documentation des fonctionnalités et des guides développeurs sont hébergés sur un site de documentation séparé, avec un court tutoriel vidéo et un support communautaire Discord.
La licence est explicitement source-available plutôt qu'open source : la licence est non commerciale et exige une autorisation pour un usage commercial. Le README inclut un tableau comparatif rédigé par le projet lui-même face à wger, MyFitnessPal, Cronometer, Hevy, Zero, Flo, Garmin Connect et Google Health, et précise que ce tableau est écrit par le projet et peut être obsolète.
Le projet est en développement actif, avertit que des changements cassants peuvent survenir entre les versions, déconseille la mise à jour automatique des conteneurs, et marque le chatbot IA, l'accès famille et amis, et la documentation de l'API comme bêta. Les traductions sont gérées via Weblate.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.