// src/pages/Journal/Journal.jsx // Page Journal d'audit — historique des actions utilisateurs import { useState, useEffect } from 'react'; import { getJournal } from '../../services/api'; import DataTable from '../../components/common/DataTable'; import LoadingSpinner from '../../components/common/LoadingSpinner'; import ErrorMessage from '../../components/common/ErrorMessage'; import styles from './Journal.module.css'; export default function Journal() { const [entries, setEntries] = useState([]); const [loading, setLoading] = useState(true); const [erreur, setErreur] = useState(''); useEffect(() => { async function load() { setLoading(true); setErreur(''); try { const data = await getJournal(); setEntries(Array.isArray(data) ? data : []); } catch (e) { setErreur(e.message || 'Erreur lors du chargement du journal.'); } finally { setLoading(false); } } load(); }, []); const columns = [ { key: 'date_action', label: 'Date' }, { key: 'username', label: 'Utilisateur' }, { key: 'action', label: 'Action' }, { key: 'detail', label: 'Détail' }, { key: 'ip', label: 'Adresse IP' }, ]; return (

Journal d'audit

Historique des actions effectuées sur la plateforme par les utilisateurs.

{loading ? ( ) : erreur ? ( ) : ( )}
); }