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.complete et 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 authorId et calcule des stats.

Voir Cartes de tableau de bord pour le pattern d'auteur.