Comment centraliser les données Garmin, Apple Health et Whoop sans prise de tête
Imaginez ceci : vous avez décidé de créer une application de suivi de fitness ou de biohacking. Et puis le « plaisir » commence. Pour intégrer votre service avec Garmin, vous devez traverser sept cercles de l'enfer avec leur API. Pour Apple Health, vous devrez écrire du code natif pour iOS. Pour Google Health Connect — pour Android. Au final, au lieu de créer des fonctionnalités sympas, vous passez six mois à gérer des autorisations OAuth, différents formats JSON et à convertir des miles en kilomètres.
Le projet Open Wearables essaie de résoudre ce problème radicalement. L'équipe construit une plateforme open-source qui gère tout le travail d'intégration complexe avec les wearables. Vous obtenez une seule API unifiée, tandis que toute la complexité des fournisseurs reste en arrière-plan.
Pourquoi ceci quand il existe des SDK prêts à l'emploi
Généralement, les développeurs choisissent entre deux chemins : construire les intégrations eux-mêmes ou payer des agrégateurs cloud comme Terra ou Rook. La première option est lente et coûteuse à maintenir. La seconde implique une dépendance à un service externe et des factures mensuelles par utilisateur.
Open Wearables propose une troisième voie : une solution auto-hébergée. Vous déployez la plateforme sur votre propre serveur, les données restent chez vous, et vous ne payez aucun frais. De plus, le projet ne se contente pas de faire transiter les données — il les normalise selon un standard unifié. Que le rythme cardiaque provienne de montres Suunto ou d'un anneau Oura — dans votre backend, cela aura un aspect identique.
Ce que la plateforme peut faire actuellement
Le projet en est à ses débuts, mais la structure de base est déjà assez fonctionnelle. Voici ce que vous pouvez essayer dès maintenant :
- Tableau de bord développeur unifié. Après le lancement via Docker, vous obtenez un panneau d'administration où vous pouvez gérer les utilisateurs, générer des clés API et surveiller l'état de synchronisation des données.
- Flux d'autorisation prêts à l'emploi. La plateforme gère la danse OAuth avec Garmin, Polar et Suunto. Vous générez simplement un lien pour l'utilisateur, il se connecte avec son fournisseur, et les données commencent à affluer dans votre base de données.
- SDK mobiles. Pour ceux qui travaillent avec les données directement sur le téléphone, il existe des bibliothèques natives pour iOS (Swift), Android (Kotlin), et même un wrapper Flutter. C'est critique pour Apple Health, dont les données ne peuvent pas être récupérées simplement via une requête cloud.
- Synchronisation en arrière-plan. Celle-ci est gérée par FastAPI et Celery. Le système interroge automatiquement les fournisseurs et met à jour les métriques d'activité et d'entraînement.
Stack technique et architecture
Les développeurs n'ont pas réinventé la roue et ont construit le projet avec des outils éprouvés. Le backend est écrit en FastAPI — la norme pour les services Python modernes, rapide et avec une excellente auto-documentation Swagger (disponible juste après le lancement).
PostgreSQL est utilisé pour le stockage des données, et Redis pour les files d'attente de tâches et la mise en cache. Le frontend du panneau d'administration est construit avec React utilisant TanStack Router. Un point intéressant : les auteurs soulignent que la plateforme est conçue comme mono-tenant. Cela signifie qu'une instance dessert une organisation. Pas de complexité supplémentaire avec la séparation des droits d'accès entre différentes entreprises au sein d'une même base de données.
Fonctionnalités IA : Plans futurs
La chose la plus intéressante sur la feuille de route est Health Insights. Les développeurs prévoient d'ajouter une couche d'automatisation basée sur le langage naturel. L'idée est que vous pouvez écrire une condition en texte : « Si le rythme cardiaque au repos d'un utilisateur a augmenté de 20 % sur trois jours, envoyez un webhook. » Le système interprétera cela lui-même et configurera le déclencheur.
Ils promettent également un AI Health Assistant — un widget de chat que vous pouvez intégrer dans votre application. L'utilisateur pourra demander : « Comment ai-je dormi cette semaine par rapport à la semaine dernière ? », et l'IA analysera les données accumulées depuis la base de données Open Wearables.
Comment lancer et tester
Si vous avez Docker installé, vous pouvez lancer le projet en littéralement quelques minutes. Les instructions sont simples :
- Clonez le dépôt :
git clone https://github.com/the-momentum/open-wearables.git cd open-wearables - Copiez les exemples de configurations :
cp ./backend/config/.env.example ./backend/config/.env cp ./frontend/.env.example ./frontend/.env - Démarrez le projet :
docker compose up -d
Après cela, le portail s'ouvre sur le port 3000, et l'API sur le port 8000. Pour éviter de rechercher de vrais appareils pour les tests, vous pouvez exécuter la commande make seed, qui peuplera la base de données avec de faux utilisateurs et entraînements.
Qui devrait jeter un œil à ce projet
Open Wearables est une trouvaille exceptionnelle pour les startups Health & Fitness. Si vous construisez un portail de bien-être en entreprise, une application de coaching ou un projet de recherche qui nécessite de collecter des données depuis différents appareils, cela vous fera économiser des centaines d'heures de développement.
Bien sûr, le projet est encore jeune (version pré-1.0), et l'API peut évoluer. Mais le code open source et la capacité d'auto-hébergement compensent ces risques. Si vous ne voulez pas confier les données médicales confidentielles de vos utilisateurs à des services propriétaires tiers, cet outil est probablement la meilleure solution actuellement disponible en open source pour de telles tâches.
Au fait, l'équipe dispose d'une communauté Discord active où vous pouvez discuter directement avec les mainteneurs. Si vous décidez de l'implémenter — jetez-y un œil, ils répondent assez rapidement.
Projets similaires