# Filtres dynamiques du header (/docs/dashboards/filtres-dynamiques)



## Pourquoi des filtres globaux [#pourquoi-des-filtres-globaux]

Un dashboard FormaPulse n'est pas figé sur une équipe ou un joueur. Les **filtres du header** redéfinissent le contexte de tous les composants en un clic. Tu peux donc :

* construire **un seul** dashboard « Compte-rendu individuel » et l'utiliser pour les 25 joueurs de ton effectif,
* comparer la même semaine sur deux équipes différentes,
* basculer instantanément d'une vue « 60 derniers jours » à une vue « saison complète »,
* exporter un PDF personnalisé par joueur sans rien reconstruire.

<VideoAVenir titre="Utiliser les filtres dynamiques" />

## Filtres disponibles dans le header [#filtres-disponibles-dans-le-header]

### Période — 3 modes au choix [#période--3-modes-au-choix]

| Mode                          | À quoi ça sert                                                                                                                         |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **Plage de dates** (du / au)  | Choisir une période fixe (saison, phase de préparation, cycle de matchs).                                                              |
| **Nombre de jours glissants** | Toujours afficher les **30**, **60**, **90**, **180** ou **365 derniers jours** depuis aujourd'hui. Idéal pour un dashboard récurrent. |
| **Date unique**               | Centrer le dashboard sur une seule journée (compte-rendu de match, séance précise).                                                    |

<Callout type="info">
  Pour un dashboard que tu consulteras toutes les semaines, **privilégie
  toujours le mode glissant**. Une plage absolue figée demande de la
  maintenance manuelle à chaque saison.
</Callout>

### Sportif [#sportif]

Dropdown avec photo qui filtre tous les composants sur **un seul joueur**. C'est la base du **compte-rendu individuel** : tu changes le sportif sélectionné, le dashboard se rejoue intégralement.

### Équipe [#équipe]

Dropdown qui filtre sur une **équipe** de ton club. Combinable avec les autres filtres.

### Type d'événement [#type-dévénement]

Trois options :

* **Tous** — séances + matchs,
* **Séances** uniquement,
* **Matchs** uniquement.

Utile par exemple pour comparer la charge GPS en match vs en entraînement.

### Tags ressources [#tags-ressources]

Multi-sélection des **tags colorés** posés sur tes séances. Permet de cibler une catégorie d'entraînement (ex: « tactique », « récupération », « test physique ») sans changer toute la configuration du dashboard.

### Bouton Recharger [#bouton-recharger]

Force un **re-fetch** complet des données. À utiliser après avoir saisi de nouvelles données (séance, GPS, test) sans avoir à recharger la page entière.

## Comportement de propagation [#comportement-de-propagation]

Les filtres du header s'appliquent **automatiquement à tous les composants** posés sur le canvas. C'est une propagation implicite : tu n'as rien à configurer composant par composant.

**Conséquence pratique** : un dashboard est un **modèle**. Le contenu (charge, GPS, présences, blessures…) reste défini par les composants, mais le **scope** (qui ? quand ?) est piloté depuis le header.

## Cas pratique : le compte-rendu individuel [#cas-pratique--le-compte-rendu-individuel]

L'usage le plus puissant des filtres dynamiques.

### 1. Construire le modèle une fois [#1-construire-le-modèle-une-fois]

Crée un dashboard « Compte-rendu individuel ». Pose les composants utiles pour suivre un joueur :

* une **courbe** charge UA + RPE sur 60 jours,
* un **KPI** distance totale parcourue,
* un **box plot** distribution des sprints par séance,
* un **tableau** des derniers tests physiques,
* un **système d'alerte** sur les seuils de fatigue.

Sélectionne un joueur type pour valider visuellement.

### 2. Le partager au staff [#2-le-partager-au-staff]

Sauvegarde le dashboard, partage-le aux entraîneurs et préparateurs concernés (lecture seule suffit la plupart du temps).

### 3. Rejouer pour n'importe quel joueur [#3-rejouer-pour-nimporte-quel-joueur]

Chaque coach ouvre le dashboard, change le filtre **Sportif** → toutes les courbes, KPI, tableaux et alertes se recalculent **pour le joueur sélectionné**, sans toucher au modèle.

### 4. Exporter en PDF [#4-exporter-en-pdf]

Bouton **Exporter en PDF** du header → un PDF prêt à transmettre, généré pour le joueur courant. Recommencer pour chaque joueur prend quelques secondes.

## Filtres header vs options de composant [#filtres-header-vs-options-de-composant]

Il faut bien distinguer **deux niveaux** de filtrage :

| Niveau                  | Outil                      | Effet                                                                                                                                           |
| ----------------------- | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Dashboard** (scope)   | Header dynamique           | Définit *qui* / *quand* / *quoi* — propagé à tous les composants.                                                                               |
| **Composant** (analyse) | Configurateur du composant | Définit *comment* la donnée est traitée — granularité, agrégation, valeurs manquantes, moyennes mobiles, Z-Score, ACWR, zones de sollicitation. |

Autrement dit : le header répond à « **sur quel périmètre** ? », le configurateur répond à « **avec quel traitement statistique** ? ». Les options analytiques sont détaillées dans [Composants graphiques](/docs/dashboards/composants-graphiques).

## Mise en cache des résultats [#mise-en-cache-des-résultats]

Les calculs des dashboards sont **mis en cache** pour rester fluides même sur de gros volumes (charge, GPS, tests). Quand tu rouvres un dashboard avec les mêmes filtres que la veille, l'affichage est quasi instantané.

<Callout type="info">
  Si tu viens de saisir de nouvelles données (séance, GPS, test,
  questionnaire) et qu'elles n'apparaissent pas immédiatement, clique
  sur le bouton **Recharger** du header pour forcer le recalcul.
</Callout>

## Aller plus loin [#aller-plus-loin]

<Cards>
  <Card title="Constructeur de dashboard" href="/docs/dashboards/construire-dashboard" description="L'anatomie complète du builder et le partage entre staff." />

  <Card title="Indicateurs disponibles" href="/docs/dashboards/indicateurs-disponibles" description="Toutes les sources de données filtrables." />

  <Card title="Composants graphiques" href="/docs/dashboards/composants-graphiques" description="Options analytiques composant par composant." />
</Cards>
