NBA Feed
Your teams' news and games, with scores hidden until you reveal them.
Allure : saison, courses et mesures sportives.
Translation pending
Sports & fitnessJavaScript · CSSGitHub @benjbepoix-stackOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
App sport (PWA installable sur iPhone) : Courses, Saison (phases d'entraînement) et Mesures (poids, FTP vélo, mensurations). HTML / CSS / JavaScript purs (modules ES), sans build. Issue de la partie sport de Carnet. Données partagées avec Carnet Allure utilise la même base Firebase que Carnet (nœud app) et ne lit / n'écrit que trois tranches : • races : courses ; • objectives.seasonPhases : phases de la saison ; • bodyMetrics : poids, FTP, mensurations.Read the full README ↗
Anciennement Allure : le dépôt, les clés de stockage local (allure_…) et les données Firebase gardent ce nom, rien n'est à migrer.
App sport (PWA installable sur iPhone) : courses, phases d'entraînement et mesures (poids, FTP vélo, mensurations).
Un seul calendrier, quatre échelles, choisies en haut (Année, Mois, Semaine, Jour) ou d'un geste : écarter deux doigts plonge vers l'endroit touché, pincer recule (sur ordinateur : pincement du trackpad). Toucher un mois, une semaine (S…) ou un jour l'ouvre ; glisser à gauche / à droite (ou ‹ ›, ou glissement horizontal au trackpad) passe à l'année, au mois, à la semaine ou au jour suivant / précédent ; « Aujourd'hui » y revient.
Types de phase : le menu « Phase » de l'éditeur (lien « Modifier la liste ») et ⚙︎ › Réglages ouvrent la liste des types : ajouter, renommer (nom et nom court), changer la couleur, la charge (hauteur des barres de l'année) et le conseil, classer dans « Préparation spécifique », réordonner ou retirer. Un type retiré qui sert encore à des phases est seulement masqué du menu : ces phases gardent leur nom et leur couleur.
Barre du bas : Saison (le zoom), Suivi (courbes du poids et de la FTP, mensurations, historiques), Analyse (export RunGap) et Ajouter (course, phase, poids, test FTP, mensurations) : toute nouvelle mesure se saisit depuis Ajouter. Depuis l'échelle Jour, la course ou la phase ajoutée prend la date du jour affiché ; une course enregistrée s'ouvre sur son jour.
Onglet Analyse : « Importer l’export RunGap » lit le CSV complet exporté de RunGap (toutes les séances, tous sports). À chaque mise à jour, on redépose le fichier entier : seules les activités plus récentes que la dernière connue sont ajoutées ; les doublons Suunto / Garmin (départs à moins de 10 min) sont fusionnés. Les activités restent sur l’appareil (allure_activities, ~100 Ko pour 1 200 séances) : le nœud Firebase partagé avec Carnet n’accepte pas de nouvelle tranche.
Deux affichages : Bilan et Plan. En Bilan, la période (menu, ‹ ›) et le sport (menu) restent collés sous l'en-tête au défilement.
Bilan, périodes : Mois, 3 mois, 6 mois, 12 mois, Année, Saison (groupe de phases qui se suivent, coupé après une phase de transition), avec ‹ › pour remonter dans le temps.
objectives.analysis (synchronisés).Plan (inspiré de Frive) : phase de la semaine choisie (semaine x sur y, objectif et J−, cible et réalisé), volume cible par semaine (référence × facteur de la phase, une semaine sur quatre allégée en foncier et en spécifique ; réalisé superposé, toucher une barre affiche la semaine) et liste des phases en cours et à venir : toucher une phase ouvre sa fiche (dates, type, note, suppression), « Ajouter une phase » en crée une à la main.
Import : séparateur (virgule, point-virgule, tabulation) et encodage (UTF-8, UTF-16) détectés. Une erreur d'affichage d'une vue n'interrompt jamais la synchronisation ni l'import.
Ajouter › Phases automatiques (ou ⚙︎ › Réglages) : chaque course à venir est classée Objectif, Préparation (défaut) ou Ne compte pas (aussi dans la fiche de la course, champ « Importance » ; stocké dans objectives.racePriority). Seuls les objectifs placent les phases, à rebours : foncier, spécifique volume puis intensité (6 semaines), affûtage de 7 à 14 jours selon distance et D+ (≥ 60 km ou ≥ 2 500 m D+ : 14 j ; ≥ 21 km ou ≥ 1 000 m : 10 j), récupération après chaque objectif (raccourcie si le suivant est proche) et coupure de 2 semaines après le dernier. « Recalculer à partir du » (aujourd'hui par défaut) : les phases d'avant cette date ne changent pas. Les phases faites à la main (champ origin: 'manual' ; les anciennes sans origin sont manuelles sauf note « Auto · … ») qui touchent la période sont listées, cochées par défaut : une phase cochée reste telle quelle et le plan se place autour (bout de moins d'une semaine rattaché à la phase précédente), une décochée est recalculée. « Appliquer ce plan » (confirmation) : la phase en cours s'arrête la veille ou est prolongée si le plan commence par le même type.
HTML / CSS / JavaScript purs (modules ES), sans build. Issue de la partie sport de Carnet.
Cadence utilise le même compte que Mon Garage, Ma Maison, Carnet et Mon budget (projet Firebase test-e27e9, connexion e-mail / mot de passe).
Cadence partage le nœud de Carnet users/<uid>/carnet et n'y lit / n'écrit que trois tranches :
races : courses ;objectives.seasonPhases : phases de la saison ;objectives.phaseTypes : liste des types de phase, si elle a été modifiée (sinon la liste d'origine) ;bodyMetrics : poids, FTP, mensurations.Les autres données (agenda, tâches, planning de la semaine, garage_alerts, maison_alerts, marqueur migrated…) appartiennent à Carnet et aux autres apps et ne sont jamais réécrites. Une course ou une phase créée dans Cadence apparaît donc aussitôt dans le planning de Carnet.
Au premier instantané du nœud après connexion :
migrated → fonctionnement normal ;dashboard---projet, nœud app, délai max 8 s) et copie dans le nouveau nœud toutes les tranches de Carnet (dashboard, notes, theme, families, plans, objectives, races, bodyMetrics) qui n'y sont pas déjà, avec migrated: { from, at, by: 'allure' } ; comme le fait Carnet, l'ancien thème par défaut dark de Carnet est transféré en auto ;Tant que cet appareil n'a pas reçu le nœud (migré) du compte connecté, l'état local peut être vide ou périmé : enregistrer une seule course écraserait la liste complète partagée avec Carnet. Les modifications sont donc refusées, sauf :
allure_synced_once = uid du compte) : les modifications hors ligne sont envoyées à la reconnexion.Aucune règle à publier : le projet test-e27e9 autorise déjà chaque compte à lire et écrire users/<son uid>/… (tout nouveau nœud y est couvert).
database.rules.json contient désormais le verrou de l'ancienne base publique dashboard---projet (.read / .write à false), identique à celui du dépôt Carnet : à publier dans la console Firebase de dashboard---projet une fois que Carnet et Cadence ont migré les données sur tous les appareils. Ne jamais republier l'ancienne version de ce fichier (base lisible et modifiable par n'importe qui).
Style minimaliste (anthracite, cartes pleines), couleur Braise (dégradé orangé → rouge vif), également couleur des courses dans le calendrier ; chaque type de phase a sa propre teinte franche (bleu, indigo, violet, magenta, jaune, vert, gris par défaut, modifiable). Bouton ⚙︎ › Réglages : thème Auto (suit le réglage clair / sombre de l'iPhone, par défaut), Sombre ou Clair, mémorisé sur l'appareil. Un ancien choix « Sombre » (ancien défaut) devient « Auto » une seule fois ; « Clair » est conservé. Le thème est appliqué avant le premier rendu (pas de flash).
Icône Cadence (icon.svg, déclinée en PNG ; aussi logos/cadence.svg) : trois barres qui montent comme la charge d'entraînement, la blanche pour la coupure avant la course.
index.html vue Zoom, Suivi, barre du bas, connexion, feuilles de saisie et Réglages
css/ jetons, composants, vues, allure.css (style, palettes, connexion)
js/core/ store (3 tranches), schéma, saison, dates
js/services/ Firebase (compte, synchro par tranche, migration), stockage local
js/ui/ thème, connexion, modales, pastille de synchro, toasts
js/views/ zoom (calendrier 4 échelles), races, season et phase-types (éditeurs), metrics (Suivi)
js/features/ export calendrier .ics, mannequin des mensurations
python3 -m http.server 8000
puis http://localhost:8000.