flexweg-metrics (must-use)
ajoute deux cartes au tableau de bord admin :
flexweg-metrics ajoute deux cartes au tableau de bord admin :
- Utilisation du stockage Flexweg — bytes utilisés / limite du plan, avec un CTA d'upgrade quand l'utilisation dépasse 80 %.
- Comptages de documents Firestore / SQLite — posts (en ligne vs brouillon), pages, termes, médias, utilisateurs.
Il est must-use parce que la carte de stockage est le seul nudge proactif pour upgrade le plan Flexweg avant de se prendre le mur en mi-publication (un hit-the-wall failure se manifeste comme des erreurs 413 mi-upload, avec un cleanup partiel d'état dur à récupérer).
Ce que vous voyez sur le tableau de bord
Sous les quatre cartes statistiques intégrées (Posts / Pages / Catégories / Tags), le plugin contribue une seconde rangée :
Carte « Stockage Flexweg »
Bytes utilisés actuellement (en MB ou GB selon la taille)
Limite du plan Flexweg
Barre de progression :
- Verte sous 75 %
- Orange entre 75-90 %
- Rouge au-dessus de 90 %
Si > 80 % : message « Considérez upgrader votre plan Flexweg »
Bouton Refresh pour re-fetcher
Carte « Documents backend »
Tableau ligne par ligne :
- Posts — total : N (online : X / brouillon : Y)
- Pages — total : N (online : X / brouillon : Y)
- Termes — catégories : X / tags : Y
- Médias — N (somme des bytes)
- Utilisateurs — N
Comment c'est fetché
Carte stockage
getStorageLimits() du runtime, qui appelle /files/storage-limits sur l'API Flexweg. Retourne { used, limit } en bytes.
Le fetch est fait au mount de la carte. Pas de polling — le tableau de bord se re-mount à chaque navigation away/back, ce qui re-déclenche le fetch.
Carte comptages
En mode Firebase : requêtes getCountFromServer() en parallèle sur chaque collection. Chacune coûte 1 read. Total : ~5 reads par mount de la carte (très bon marché).
En mode SQLite : requêtes COUNT(*) standard.
Les requêtes sont batchées avec Promise.all pour minimiser la latence.
Pas de page de réglages
Le plugin ne stocke pas de config. Les cartes tournent toujours.
Hook utilisé
Le plugin enregistre deux cartes via pluginApi.registerDashboardCard. Priorités configurées pour qu'elles apparaissent dans l'ordre Storage → Documents.
Désactivation
Pas possible — must-use. Mais comme les cartes ne sont rendues que sur le tableau de bord (pas sur les autres pages de l'admin), leur coût est nul ailleurs.
Si vous voulez monitorer plus
Le plugin ne couvre que ces deux cartes. Pour des métriques plus avancées :
- Latence de publication — pas couvert. Vous pouvez écrire un plugin custom qui s'accroche à
publish.before+publish.completeet calcule la durée. - Erreurs récentes — pas couvert. Vous pouvez écrire un plugin qui s'accroche aux toasts d'erreur ou aux throw des plugins.
- Métriques par auteur — pas couvert. Écrivez un plugin custom qui group les posts par
authorIdet calcule des stats.
Voir Cartes de tableau de bord pour le pattern d'auteur.