Aller au contenu
Design system @paulperigault

Composants

GaugeChart

À quoi il sert

GaugeChart situe une valeur unique dans un intervalle et dans des zones nommées, en demi-cercle ou en cercle complet, en SVG statique.

Quand l’utiliser

Quand ne pas l’utiliser

Exemples

Taux de remplissage de la salle
Taux de remplissage de la salleJauge « Taux de remplissage » : 72 % sur un intervalle de 0 % à 100 %, zone « Vigilance ». Zones : Critique : de 0 % à 40 % ; Vigilance : de 40 % à 80 % ; Nominal : de 80 % à 100 %. Le tableau des données suit le graphique.72%VigilanceTaux de remplissage0 %100 %
  • Critique : de 0 % à 40 %
  • Vigilance : de 40 % à 80 %
  • Nominal : de 80 % à 100 %
Données du graphique
Taux de remplissage de la salle : Données du graphique
ZoneDeÀValeur actuelle
Critique0 %40 %
Vigilance40 %80 %72 %
Nominal80 %100 %
Stock de pièces en entrepôt
Stock de pièces en entrepôtJauge « Stock de pièces » : 58 % sur un intervalle de 0 % à 100 %, zone « Vigilance ». Zones : Critique : de 0 % à 40 % ; Vigilance : de 40 % à 80 % ; Nominal : de 80 % à 100 %. Le tableau des données suit le graphique.58%VigilanceStock de pièces
  • Critique : de 0 % à 40 %
  • Vigilance : de 40 % à 80 %
  • Nominal : de 80 % à 100 %
Données du graphique
Stock de pièces en entrepôt : Données du graphique
ZoneDeÀValeur actuelle
Critique0 %40 %
Vigilance40 %80 %58 %
Nominal80 %100 %
Charge du serveur, valeur hors intervalle
Charge du serveur, valeur hors intervalleJauge « Charge du serveur » : 112 % sur un intervalle de 0 % à 100 %, zone « Saturée ». Valeur au-dessus du maximum, représentée à 100 %. Zones : Normale : de 0 % à 70 % ; Élevée : de 70 % à 90 % ; Saturée : de 90 % à 100 %. Le tableau des données suit le graphique.112%Saturéeau-dessus du maximumCharge du serveur0 %100 %
  • Normale : de 0 % à 70 %
  • Élevée : de 70 % à 90 %
  • Saturée : de 90 % à 100 %
Données du graphique
Charge du serveur, valeur hors intervalle : Données du graphique
ZoneDeÀValeur actuelle
Normale0 %70 %
Élevée70 %90 %
Saturée90 %100 %112 %
Temps de traitement d’une demande
Temps de traitement d’une demandeJauge « Temps de traitement » : 34 min sur un intervalle de 0 min à 60 min, zone « Lent ». Zones : Rapide : de 0 min à 15 min ; Acceptable : de 15 min à 30 min ; Lent : de 30 min à 45 min ; Trop lent : de 45 min à 60 min. Le tableau des données suit le graphique.34minLentTemps de traitement0 min60 min
  • Rapide : de 0 min à 15 min
  • Acceptable : de 15 min à 30 min
  • Lent : de 30 min à 45 min
  • Trop lent : de 45 min à 60 min
Données du graphique
Temps de traitement d’une demande : Données du graphique
ZoneDeÀValeur actuelle
Rapide0 min15 min
Acceptable15 min30 min
Lent30 min45 min34 min
Trop lent45 min60 min
---
import GaugeChart from '@paulperigault/astro/GaugeChart.astro';
---

<GaugeChart
  id="remplissage"
  title="Taux de remplissage de la salle"
  value={72}
  unit="%"
  label="Taux de remplissage"
  zones={[
    { label: 'Critique', to: 40, tone: 'bad' },
    { label: 'Vigilance', to: 80, tone: 'warning' },
    { label: 'Nominal', tone: 'good' },
  ]}
/>

Variantes

Recommandation d’usage

Une jauge porte une valeur unique et un seuil ou des zones. Ne l’employer que si la position dans l’intervalle compte autant que la valeur ; sinon, écrire la valeur.

Budgets de poids

  • Demi-cercle et cercle complet : sous 10 ko et 400 nœuds, zones et textes compris.

Limites connues

  • Les couleurs --pp-chart-1..6 restent figées sur l’accent par défaut tant que l’issue #121 n’est pas faite.
  • Le libellé central est tronqué à l’affichage ; le texte complet reste dans le desc.

Teinte d’accent

--pp-accent-hue règle la teinte OKLCH en degrés ; clarté et chroma restent ceux du système. Le branchement dans le build de tokens n’est pas fait (#121) : les graphiques ci-dessus utilisent les jetons figés sur la teinte 270.7. Le tableau montre ce que la dérivation donnerait pour la teinte 150, calculée à la construction de la page.

Jetons catégoriels figés et dérivation à une autre teinte
RangFigé, teinte 270.7, clairDérivé, teinte 150, clairDérivé, teinte 150, sombre
--pp-chart-1oklch(47% 0.19 270.7)oklch(47% 0.1294 150)oklch(78% 0.1 150)
--pp-chart-2oklch(64% 0.1491 60.7)oklch(68% 0.31 330)oklch(56% 0.24 315)
--pp-chart-3oklch(20% 0.0787 30.7)oklch(20% 0.0986 315)oklch(88% 0.086 315)
--pp-chart-4oklch(64% 0.1091 195.7)oklch(48% 0.095 345)oklch(52% 0.1235 120)
--pp-chart-5oklch(44% 0.1781 0.7)oklch(24% 0.0661 150)oklch(56% 0.1 180)
--pp-chart-6oklch(64% 0.2026 285.7)oklch(64% 0.1346 165)oklch(92% 0.2184 120)

Accessibilité

Clavier

Lecteur d’écran

Garanti par le composant

À la charge de l’intégrateur

Propriétés

Propriétés de GaugeChart
PropriétéTypeDéfautDescription
value (obligatoire)number | null—Valeur mesurée ; `null` : état vide. Hors intervalle, l'aiguille est bornée et le dit.
minnumber0Borne basse de l'intervalle (défaut 0).
maxnumberDEFAULT_MAXBorne haute de l'intervalle ; strictement supérieure à min.
unitstring''Unité écrite avec la valeur et les bornes (`%`, `ms`…).
labelstring''Libellé central, tronqué à l'affichage ; le texte complet reste dans `<desc>`.
zonesZoneSpec[][]Zones dans l'ordre : `{ label, to, tone? }`, la dernière s'arrête au maximum (`to` omis).
shape"half" | "full"'half'`half` (défaut) : demi-cercle ; `full` : cercle complet depuis midi.
labelsPartial<GaugeLabels>{}Textes de l'interface (défaut : français).
id (obligatoire)string—Préfixe unique des ids du titre et de la description : lettres, chiffres et tirets.
title (obligatoire)string—Titre du graphique, premier élément de son nom accessible.
localestring'fr'Locale des nombres et des dates. Défaut : `fr`.
tableLabelstring—Libellé du tableau de données lié.
emptyLabelstring—Message de l'état vide (aucune valeur présente).
errorLabelstring—Début du message d'erreur de rendu ; le code d'erreur le suit.
classstring—Réservé au placement du composant dans son parent.

Jetons utilisés

Preuves et décisions