Tableaux de bord
Tableau de bord à widgets réellement personnalisable : affichez, masquez, réordonnez et redimensionnez 8 widgets (métriques, graphiques, tableau, objectif, flux de commandes). La disposition est sauvegardée et restaurée automatiquement. Testez dans le Simulateur.
À propos
Le module Tableaux de bord laisse chaque utilisateur composer sa propre vue : il choisit les widgets affichés depuis un catalogue (métriques, courbe des ventes, CA par région, top produits, objectif trimestre, flux de commandes), les réordonne, les redimensionne (1 ou 2 colonnes) et les masque. La disposition est sauvegardée localement et restaurée à la prochaine visite — chacun retrouve « son » tableau de bord.
Composants utilisés
bpm.metric, bpm.lineChart, bpm.barChart, bpm.table, bpm.progressRing, bpm.activityFeed, bpm.panel (bibliothèque), bpm.button (barre d'outils par widget), bpm.confirmModal (réinitialisation) et bpm.toast.
import bpm
# Chaque widget du catalogue rend un vrai composant bpm
bpm.metric("CA du mois", "142,5 k€", delta="+12,3 %")
bpm.line_chart(ventes_12_mois) # 12 points mensuels
bpm.bar_chart(ca_par_region) # 6 régions
bpm.table(columns=[("ref", "Réf."), ("nom", "Produit"), ("ca", "CA")], data=top_produits)
bpm.progress_ring(78, max=100) # objectif trimestre
bpm.activity_feed(dernieres_commandes) # 4 dernières commandes
# La disposition (ordre, taille, visibilité) est un simple JSON persisté
layout = [
{"id": "metric-ca", "size": 1},
{"id": "line-ventes", "size": 2},
]Personnalisation
- Personnaliser — active le mode édition : bordures pointillées et barre d'outils sur chaque widget ; « Terminer » pour en sortir.
- ↑ / ↓ — réordonne les widgets (boutons désactivés aux extrémités).
- ⤢ — bascule la taille du widget entre 1 et 2 colonnes.
- Masquer / Ajouter — retire un widget vers la bibliothèque, ou l'en ressort dans la grille.
- Réinitialiser la disposition — retour à la disposition par défaut, avec confirmation explicite.
Le simulateur fonctionne entièrement en local (données seedées, persistance localStorage, aucune API requise). En production, remplacer la persistance locale par un enregistrement par utilisateur côté serveur. Voir la documentation pour le catalogue de widgets et le modèle de configuration.