- Backend IA : - Intégration d'OpenCV (WebAssembly) pour la détection et certification des cibles (anneaux concentriques, confiance). - Ajout du système de journalisation complet des uploads (SQLite, IP, appareil, statut, métadonnées). - Implémentation du système de modération (bannissement/débannissement de wallets, rejet 403 avec motifs). - Harmonisation des codes d'erreur et messages JSON (UPLOAD_SUCCESS, WALLET_BANNED, etc.). - Dashboard Next.js : page dédiée aux logs avec filtres, export CSV et actions de modération en un clic. - Application Mobile (Flutter) : - Encapsulation des réponses d'export dans AiExportResult avec gestion fine des erreurs et statuts. - Mise à jour du disclaimer de participation à l'entraînement IA avec avertissements stricts de bannissement. - Révocation de l'envoi de photos et affichage d'un bandeau explicatif en cas de suspension. - Ajout d'un bouton manuel « Actualiser mon statut » dans les paramètres pour synchroniser l'état du compte. - Possibilité de configurer l'URL/IP du serveur IA directement depuis les paramètres.
31 lines
718 B
TypeScript
31 lines
718 B
TypeScript
import { fetchApi } from "@/lib/api";
|
|
import LogsManager from "./LogsManager";
|
|
|
|
export const metadata = {
|
|
title: "Logs d'Uploads | Bully IA Dashboard",
|
|
description: "Journal complet des téléversements de sessions et métadonnées",
|
|
};
|
|
|
|
export default async function LogsPage() {
|
|
let logs = [];
|
|
let stats = null;
|
|
|
|
try {
|
|
const [logsRes, statsRes] = await Promise.all([
|
|
fetchApi('/api/logs?limit=100'),
|
|
fetchApi('/api/logs/stats')
|
|
]);
|
|
logs = logsRes.logs || [];
|
|
stats = statsRes.stats || null;
|
|
} catch (error) {
|
|
console.error("Erreur chargement initial des logs:", error);
|
|
}
|
|
|
|
return (
|
|
<LogsManager
|
|
initialLogs={logs}
|
|
initialStats={stats}
|
|
/>
|
|
);
|
|
}
|