Journal d'événements¶
Le module Journal d'événements retient qui a fait quoi, quand, sur quelle entité et dans quelle organisation. Chaque module de la plateforme y dépose ses faits marquants — un inventaire validé, une opération exécutée, un export de données — et le journal les rassemble en une seule liste, consultable et exportable.
Pour qui ?¶
Toute organisation qui doit rendre des comptes : retrouver l'auteur d'une correction de stock, justifier une sortie de marchandise devant un contrôle, ou simplement comprendre l'enchaînement des gestes qui a mené à l'état actuel d'un dossier.
Un journal métier, pas un journal technique
Le module ne recueille que des faits métier. Les traces techniques — erreurs applicatives, temps de réponse, redémarrages de serveur — vivent ailleurs et ne remontent jamais ici. Un événement du journal se lit comme une phrase : Awa Koné a validé l'inventaire INV-2026-0042.
Ce que fait le module¶
- Rassembler les événements de tous les modules en une liste unique, propre à votre organisation
- Filtrer cette liste par source, par type, par niveau, par période ou par texte libre
- Détailler un événement : son acteur, son entité, et les données métier qui l'accompagnent
- Exporter un résultat de recherche au format CSV, l'export étant lui-même journalisé
- Recueillir les messages que la plateforme n'a pas su lire, dans l'écran des lettres mortes
Les écrans¶
Journal des événements¶
L'écran principal liste les événements du plus récent au plus ancien. Chaque ligne porte la date, la source, le type, l'acteur, l'entité concernée et le niveau. Les filtres — source, type, niveau, période, recherche libre — se combinent, et l'icône en forme d'œil ouvre le détail d'une ligne.
Le détail reprend l'en-tête de l'événement et affiche ses données métier telles quelles, au format JSON : le module ne les interprète pas, il les restitue.
Le bouton Exporter CSV enregistre le résultat de la recherche en cours, filtres compris.
Lettres mortes¶
Un message qu'aucune règle ne permet de lire — enveloppe mal formée, type invalide, taille dépassée — n'est pas perdu : il est mis de côté et présenté dans l'écran Lettres mortes. Cet écran sert au diagnostic ; en régime normal, il reste vide.
Les niveaux¶
| Niveau | Quand il est employé |
|---|---|
INFO |
Le cas courant : un fait métier ordinaire, réussi |
WARN |
Un fait qui mérite l'attention sans être une faute |
SECURITY |
Une connexion, une permission refusée, un export de données |
ERROR |
Un échec métier notable |
Les permissions¶
Les droits du module sont préfixés par LOGS. et suivent la forme LOGS.RESSOURCE.ACTION. Aucun n'est restreint par établissement ou par point de vente : ils valent pour toute l'organisation.
| Code | Libellé | Ce qu'il permet |
|---|---|---|
LOGS.EVENT.READ |
Consulter le journal | Ouvrir l'écran Journal des événements, filtrer la liste et lire le détail d'un événement |
LOGS.EVENT.EXPORT |
Exporter le journal | Employer le bouton Exporter CSV |
LOGS.DLQ.READ |
Consulter les lettres mortes | Ouvrir l'écran Lettres mortes |
Deux profils sont recommandés :
| Code | LOGS.EVENT.READ |
LOGS.EVENT.EXPORT |
LOGS.DLQ.READ |
|---|---|---|---|
ADMINISTRATOR |
Oui | Oui | Oui |
AUDITOR |
Oui | Oui | — |
Exporter est un acte journalisé
Un export émet lui-même l'événement logs.events.exported, de niveau SECURITY, avec les filtres employés. Sortir des données de la plateforme laisse donc une trace dans la plateforme.
Renvoyer vers le journal depuis un autre module¶
Un module qui affiche une entité peut proposer un lien vers son historique. L'écran du journal accepte deux paramètres d'adresse, subjectType et subjectId, et s'ouvre directement filtré sur cette entité :
#/events?subjectType=inventory&subjectId=6f1c8e2a-9b34-4d51-8a7e-2c3f5b1d0e77
Le type et l'identifiant sont ceux que le module émetteur a placés dans le sujet de l'événement. Un tel lien évite à l'utilisateur de reconstruire le filtre à la main.
Comment les événements arrivent¶
Les modules n'écrivent pas dans le journal : ils publient une enveloppe sur le sujet logs d'Apache Pulsar, et le module la consomme pour son propre compte. L'émetteur n'attend rien et ne sait rien du stockage.
Les événements sont conservés 24 mois par défaut. Cette durée, retention-months, se règle pour l'ensemble de la plateforme et non organisation par organisation.
Contenu¶
Changelog¶
- 1.0 (23 août 2026) : création du document.