Aide à la connexion

Brancher votre source de données.

Trois chemins existent : Strava, Intervals.icu, ou le dépôt manuel d'un fichier. Aucun ne demande de nous envoyer un mot de passe, et aucun ne s'active aujourd'hui : cette page décrit ce qui est prévu, pas ce qui fonctionne déjà.

MANQUANT: aucun flux de connexion n'est actif en préproduction

1. Se connecter avec Strava

C'est la voie la plus rapide si vos activités sont déjà sur Strava. Aucune clé à copier : vous passez par la page d'autorisation de Strava, et vous pouvez tout révoquer plus tard.

  1. Cliquez sur « Se connecter avec Strava » depuis la page d'accueil du portail. Si vous n'êtes pas connecté à Strava dans ce navigateur, Strava vous demande d'abord votre mot de passe — chez Strava, jamais chez nous.
  2. Lisez l'écran d'autorisation. Strava affiche le nom de l'application (RideHorizon Training) et la liste des droits demandés. Nous demandons un seul périmètre : activity:read_all.
  3. Cliquez sur « Autoriser ». Vous revenez automatiquement sur le portail, connecté, avec vos activités récentes disponibles.
  4. Vous pouvez révoquer à tout moment. Strava → Paramètres → Applications → RideHorizon Training → Retirer l'accès. Le portail perd alors l'accès immédiatement.

Ce que demande exactement activity:read_all

La lecture de vos activités, y compris celles marquées privées. Le suffixe _all est indispensable : sans lui, Strava ne transmet que les activités publiques, et le portail afficherait une charge incomplète. Nous ne demandons aucun droit d'écriture, aucun accès à votre profil, à vos segments, à vos abonnés ou à vos messages.

Ce qu'il reste à faire de notre côté

MANQUANT: Strava Client ID + Client Secret — impact: le bouton Strava reste inactif

Ces deux valeurs s'obtiennent en créant une application sur strava.com/settings/api. Elles ne seront jamais publiées dans une page ni dans ce dépôt : elles vivent dans la configuration serveur, lues à l'exécution. L'URL d'autorisation utilisée a la forme https://www.strava.com/oauth/authorize?client_id=…&redirect_uri=…&response_type=code&scope=activity:read_all.


2. Se connecter avec Intervals.icu

Intervals.icu est la plateforme qui calcule déjà CTL, ATL et TSB à partir de vos activités. C'est la source la plus complète, et celle que le portail privilégie. Deux voies existent.

Voie A — OAuth (recommandée)

Le principe est identique à Strava : vous autorisez, vous ne copiez aucun secret.

  1. Cliquez sur « Se connecter avec Intervals.icu » depuis l'accueil.
  2. Vous êtes redirigé vers la page d'autorisation d'Intervals.icu (intervals.icu/oauth/authorize), avec le périmètre ACTIVITY.
  3. Vous acceptez. Intervals.icu vous renvoie sur le portail avec un code d'autorisation.
  4. Le portail échange ce code contre un jeton, côté serveur, et récupère au passage votre identifiant d'athlète. Vous n'avez rien à saisir.

MANQUANT: enregistrement de l'application OAuth Intervals.icu (client_id entier + client_secret) — impact: bouton inactif

Voie B — Athlete ID + clé API (si l'OAuth n'est pas disponible)

Certains comptes, ou certains environnements, ne peuvent pas passer par l'OAuth. La clé API reste alors possible, à condition de la traiter comme un mot de passe.

  1. Dans Intervals.icu : Settings → Developer. Vous y trouvez votre Athlete ID (de la forme i12345) et votre clé API.
  2. Saisissez ces deux valeurs dans le formulaire du portail — formulaire à venir, voir ci-dessous. La clé est transmise une seule fois, en HTTPS.
  3. Le portail la stocke chiffrée, avec des permissions restreintes au serveur, et l'utilise en authentification Basic sous la forme API_KEY:<votre clé>.
  4. Vous pouvez régénérer la clé à tout moment dans Intervals.icu : l'ancienne cesse aussitôt de fonctionner.

MANQUANT: formulaire Athlete ID + clé API — impact: voie B non disponible

Ne nous envoyez jamais une clé par e-mail

Une clé API circule mal par message : elle reste dans la boîte, dans les sauvegardes, dans les fils transférés. La saisie doit se faire uniquement dans le formulaire du portail, sur une connexion HTTPS. En cas de doute, régénérez la clé : c'est immédiat et sans conséquence.


3. Dépanner avec un fichier .fit ou .tcx

Si aucune connexion n'aboutit — compte sans API, montre non prise en charge, fichier exporté depuis un autre logiciel — il reste le dépôt manuel d'une activité.

  1. Exportez la séance depuis votre montre, votre compteur ou votre plateforme, en .fit ou .tcx.
  2. Sur votre page profil, déposez le fichier dans la zone prévue.
  3. Le portail en extrait la durée, la charge et le type de séance, puis l'ajoute à votre historique.

MANQUANT: implémentation du dépôt de fichier (.fit / .tcx)
Aucune zone de dépôt n'est affichée sur cette version : nous préférons ne pas montrer un formulaire qui ne ferait rien. Le fallback sera disponible avec la première version connectée.


4. La limite Strava, expliquée franchement

Strava n'autorise pas les applications qui utilisent son API à repartager les données ainsi obtenues vers d'autres applications. Intervals.icu est soumis à cette règle. Conséquence concrète : si vous connectez Strava à Intervals.icu, puis que ce portail lit Intervals.icu, une partie de vos activités peut ne jamais nous parvenir.

Nous ne pouvons ni contourner cette règle, ni promettre un résultat complet. Le plus sûr est de choisir la connexion dont vous avez besoin, en connaissance de cause.

Quelle connexion pour quel usage
Voie Ce que vous faites Ce que le portail reçoit À choisir si…
Strava → portail Vous autorisez Strava directement, scope activity:read_all. Vos activités Strava, y compris privées. Rien d'autre. vous ne voulez qu'une seule connexion et que tout passe par Strava.
Intervals.icu → portail recommandé Vous autorisez Intervals.icu, qui détient déjà vos activités. Tout ce qu'Intervals.icu expose pour votre compte — sous réserve de ce qui y est entré légalement. vous voulez les chiffres de charge les plus complets.
Source d'origine → Intervals.icu → portail Vous branchez Garmin, Wahoo, Polar, Suunto ou un import de fichiers sur Intervals.icu. L'intégralité des activités de cette source. vous voulez garder Strava privé, ou éviter sa limite de partage.
Fichier .fit / .tcx Vous déposez une séance à la main. La séance déposée, et elle seule. vous dépannez ponctuellement, sans compte à connecter.

Nous ne stockons pas de données Strava au-delà de ce qui remplit votre page, et nous ne les transmettons à personne. Si votre priorité est la confidentialité, la troisième ligne du tableau est la bonne : la montre parle directement à Intervals.icu, Strava n'entre pas dans la chaîne.


5. Ce que nous faisons de vos accès

  • Chiffrement au repos. Les jetons et les clés sont stockés chiffrés, hors du répertoire publié sur le web, avec des permissions restreintes au compte serveur.
  • Rien en clair dans la page. Aucun jeton, aucune clé, aucun identifiant d'athlète n'est écrit dans le HTML. Si un jour un identifiant doit être affiché, il est tronqué aux quatre derniers caractères.
  • Rafraîchissement automatique. Les jetons OAuth expirent : le portail les renouvelle avant échéance, sans vous redemander d'autorisation.
  • Révocation immédiate. Retirer l'accès chez Strava ou Intervals.icu suffit : le portail ne peut plus rien lire.
  • Cloisonnement. Une page athlète ne contient que les données de son athlète. Aucun accès croisé entre comptes.

En cas de blocage

Si l'autorisation échoue, si votre montre n'apparaît pas, ou si vous ne savez pas quelle voie choisir, écrivez-nous : page de contact RideHorizon. Indiquez le fournisseur visé et le message d'erreur affiché — jamais une clé, jamais un mot de passe.

Portail en préproduction : les procédures ci-dessus décrivent le comportement prévu. Aucun flux d'autorisation n'est encore actif.