Place aux coachs · exploration
Planification de saison
Version épurée. Exit les périodes-tiroirs et les assistants à rallonge : une saison, ce sont des thèmes — ce qu'on veut faire progresser — dans lesquels on crée ses entraînements. Les thèmes se chevauchent librement, les vacances sont des trous assumés, et l'écran répond d'abord à la seule question du mardi soir : qu'est-ce qu'on fait aujourd'hui ?
Le modèle, en trois objets
La saison
Un nom (celui de l'équipe), deux bornes, des catégories — plus, si on veut, un groupe de travail avec qui la partager. Pas de mots-clés : ils vivent sur les thèmes. Elle porte les thèmes, et rien d'autre : c'est tout ce qu'on demande à la création.
Le thème
Un titre, un texte libre (TipTap), des tags, une période indicative. Plusieurs thèmes peuvent courir en même temps — un fil de fond sur l'année, un thème serré sur six semaines.
L'entraînement
Créé dans un thème, ou rattaché après coup. Il garde sa date, facultative — on la pose d'un clic depuis la ligne du thème.
Les trois cas d'usage
01
Le coach qui démarre
Crée une saison vide, pose ses thèmes (titre, texte, tags), puis crée ses entraînements dedans, au fil des semaines.
02
Le coach qui a déjà 47 entraînements
Crée sa saison et range son historique dans les thèmes : sélection multiple, suggestions par mots-clés, rattachement sans copie.
03
Le coach qui recommence en 2027–2028
Duplique la saison précédente : les thèmes sont recopiés, les entraînements rattachés, les dates repartent à zéro. Il n'a plus qu'à améliorer.
Les écrans
01
Planification — vue d'ensemble
La page d'entrée, au clic sur « Planification » : une carte par équipe, avec la séance qui vient et les thèmes du moment. On entraîne souvent plusieurs équipes — cet écran répond avant d'ouvrir quoi que ce soit. Les saisons archivées sont au même endroit, repliées en bas, avec la duplication vers l'année suivante.
Ouvrir →
02
La saison — desktop
L'écran principal. En haut, la prochaine séance prête à animer. Puis la trame : une frise mois par mois où l'on voit les thèmes se chevaucher et les vacances hachurées. Puis les thèmes, éditables en place, chacun avec ses entraînements et un bouton « nouvel entraînement dans ce thème ».
Ouvrir →
03
La saison — mobile
Planification ouvre sur toutes les équipes. Chaque carte tient la planification entière de sa saison : bornes et compteurs, groupe de partage, la séance qui vient avec un bouton Animer qui la lance sans ouvrir la saison, la séance suivante, et les thèmes du moment avec période et nombre de séances. Le second écran est la saison elle-même.
Ouvrir →
04
Créer une saison
Une modale, un seul écran : nom, bornes, catégories (le sélecteur de l'app), plus un bouton Partager qui ouvre la liste des groupes de travail. Aucun mot-clé n'est demandé — c'est l'affaire des thèmes. Pas de deuxième étape — la saison s'ouvre sur son premier thème.
Ouvrir →
05
Rattacher l'existant
Coche, choisis un thème, valide. Les entraînements aux mots-clés proches remontent en tête, et la communauté propose ses entraînements sur les mêmes tags.
Ouvrir →
06
L'entraînement & les dates
Comment la saison se voit dans la liste des entraînements et dans l'éditeur, desktop et mobile — sur les composants existants (onglets de contexte, pilule de filtres, carte à rail) —, puis les trois règles qui règlent le problème des dates : la date se pose depuis le thème, dater n'est jamais obligatoire, et le tri existant ne change pas.
Ouvrir →
Décisions
- Tout s'édite en place — le nom de la saison est un titre éditable, et ses dates et ses catégories sont des chips cliquables dans la ligne de métadonnées : mêmes composants et même geste que sur l'en-tête d'un entraînement. Aucun écran de réglages à part.
- Écrans de concentration — dès qu'on entre dans une saison (édition, rattachement), le rail de navigation s'efface et un bouton de retour prend sa place : on travaille sur une seule chose à la fois, et on remonte d'un cran par ce bouton.
- Un seul écran de saisons — pas de page « Mes saisons » à part : la planification porte tout, les saisons en cours dépliées et les archivées repliées en bas, d'un clic. Une liste séparée aurait fait un aller-retour pour une poignée de saisons dont on ne consulte presque jamais les anciennes.
- Une saison par équipe — plusieurs saisons peuvent être en cours en même temps. « Planification » ouvre donc une vue d'ensemble (une carte par équipe : prochaine séance + thèmes du moment), puis le détail d'une saison, puis la liste complète avec les archives.
- Les mots-clés sont au thème, pas à la saison — une saison dure un an et traverse tout ; ce qu'on travaille, lui, change d'un thème à l'autre. Mettre des mots-clés sur la saison reviendrait à figer l'année entière sur trois étiquettes, et à les répéter sur chaque thème. La saison ne porte donc que ses catégories (la tranche d'âge, qui, elle, ne bouge pas) ; les mots-clés qui alimentent les suggestions de la communauté viennent du thème.
- Thèmes, pas périodes — un thème porte titre, texte TipTap, tags et une période indicative ; deux thèmes peuvent se chevaucher ou courir toute l'année.
- L'entraînement naît dans le thème — le bouton principal d'un thème crée un entraînement déjà rattaché, avec les tags du thème pré-remplis.
- La saison reste facultative — le bouton « Nouvel entraînement » crée toujours une séance sans rien demander ; un entraînement hors saison garde son champ date, s'affiche normalement dans la liste, et le filtre propose « Sans saison » pour le retrouver.
- Le tri de la liste ne change pas — toujours
date_seance décroissant : seul l'endroit où on le remplit change. « Modifié récemment » serait plus juste mais demande une colonne indexée (la date de modification est aujourd'hui enfouie dans le JSONB) — décision séparée.
- On date depuis le thème — la date reste le champ actuel de l'entraînement, mais elle se pose d'un clic sur sa ligne dans le thème, via le même calendrier que dans l'éditeur. Dater n'est jamais obligatoire, le rattachement ne demande aucune date, et le calendrier montre les jours déjà pris.
- Les vacances sont des zones sans séance, hachurées dans la trame — elles n'obligent à rien et expliquent les trous.
- Rattacher ≠ copier — ses propres entraînements sont référencés ; seuls ceux de la communauté sont copiés (l'auteur reste crédité).
- La communauté nourrit les thèmes — suggestions filtrées sur les tags du thème, dans le thème lui-même et dans l'écran de rattachement.
- La création tient en un écran — nom, bornes, catégories, et le partage avec un groupe de travail (le même mécanisme que pour un entraînement). Pas de deuxième étape : la saison s'ouvre sur son premier thème à écrire.
- DA — les composants existants de l'app (rail de navigation, onglets de contexte, pilule de filtres, carte à rail, en-tête d'éditeur), filets plutôt qu'ombres lourdes, kicker à trait orange, dates en JetBrains Mono, mode nuit complet.
Astuce : la touche T bascule clair / nuit — sauf sur les deux pages présentées sur fond sombre (le mobile et la modale de création), qui sont volontairement figées.
Un mot sur le vocabulaire : « séance » et « entraînement » désignent le même objet — l'entraînement de l'application. On dit « séance » quand on parle de celui qui est daté et qui arrive (« la séance de mardi »), « entraînement » quand on parle du contenu. Il n'y a pas de troisième objet : rien ne s'intercale entre le thème et l'entraînement.
Écarté à cette étape : les périodes exclusives qui découpaient l'année en tiroirs (un entraînement ne pouvait être qu'à un endroit, et les vacances créaient des trous gênants) ; l'assistant de création en quatre blocs, qui demandait des décisions avant d'avoir rien vu ; et le « banc » de séances non placées, remplacé par le rattachement dans un thème.