feat(system): page Status avec endpoint API Platform et composants Vue

- Nouveau domaine System/Domain/Model/SystemStatus (value object)
- QueryHandler agrégeant métriques mangas, chapitres, jobs (global/24h/7j), stockage et sources
- Endpoint GET /api/system/status via API Platform (singleton)
- Calcul de l'espace disque par RecursiveDirectoryIterator sur public/images
- Page Vue /system/status avec 6 cards (Mangas, Chapitres, Jobs, Stockage, Sources, Système)
- Nettoyage du router : suppression des PlaceholderComponent et routes placeholder
- Sidebar : suppression des entrées sans page réelle
This commit is contained in:
ext.jeremy.guillot@maxicoffee.domains
2026-03-17 22:04:48 +01:00
parent c2b55e9018
commit ca8791cc0d
21 changed files with 825 additions and 61 deletions

View File

@@ -0,0 +1,26 @@
import { defineStore } from 'pinia';
import { ApiStatusRepository } from '../../infrastructure/api/ApiStatusRepository';
const statusRepository = new ApiStatusRepository();
export const useStatusStore = defineStore('system-status', {
state: () => ({
status: null,
loading: false,
error: null,
}),
actions: {
async loadStatus() {
this.loading = true;
this.error = null;
try {
this.status = await statusRepository.getStatus();
} catch (e) {
this.error = e.message ?? 'Erreur lors du chargement du statut système';
} finally {
this.loading = false;
}
},
},
});