Journal d'audit
Vérifié contre le produit le .
Route de l’application : /admin/audit
À quoi sert cet écran
Section intitulée « À quoi sert cet écran »Répondre à une question, et à une seule : « qui a fait ça, et quand ? »
Le journal d’audit La trace horodatée des actions sensibles : qui a créé, modifié ou supprimé quoi, et quand. trace les actions sensibles de l’établissement — « Qui a créé, modifié ou supprimé quoi, et quand — actions sensibles de l’établissement. » Il ne trace pas tout, et la partie utile de cette page est celle qui dit ce qu’il ne trace pas.
Qui y a accès
Section intitulée « Qui y a accès »Permission requise : .
La portent Administrateur — plus, le cas échéant, les rôles personnalisés de votre établissement qui la contiennent.
Sans cette permission, l'entrée n'existe pas dans le menu. Elle n'y figure ni grisée ni cadenassée : la navigation est filtrée sur les droits résolus, pas désactivée. Une section absente n'est donc pas une panne — et au tout premier affichage, le menu peut être plus court une fraction de seconde, le temps que les permissions arrivent.
Une permission peut être limitée à certains campus ou formations. Dans ce cas l'écran s'ouvre, mais les ressources hors périmètre en sont absentes — voir Portée.
Sans cette permission, l’onglet « Audit » n’apparaît pas dans la section Administration, et l’adresse directe renvoie à l’accueil.
Le journal est en lecture seule pour tout le monde, y compris pour vous : aucune entrée ne peut être modifiée ni supprimée depuis le produit.
Ce qu’on y voit
Section intitulée « Ce qu’on y voit »L’écran est titré « Journal d’audit ».
Les filtres, tous combinables et portés par l’adresse — une vue filtrée se partage par son lien : « Acteur », « Type d’entité », « Action », « Période », chacun s’ouvrant sur « Tous ».
La timeline, une ligne par événement, en français : « Marie Dupont a modifié Salle B-204 », « Marie Dupont s’est connecté(e) », « Échec de connexion pour bob@exemple.fr ». Les colonnes sont « Horodatage », « Événement » et « Détail », l’horodatage étant affiché dans le fuseau de l’établissement.
Le bouton « Diff » ouvre le détail d’une modification : « Champ », « Avant », « Après », plus le « JSON brut » pour qui veut tout voir.
« Charger plus », en bas, poursuit la lecture — la liste ne se pagine pas par numéros.
« Exporter en CSV » exporte le résultat filtré.
Ce qu’une entrée contient
Section intitulée « Ce qu’une entrée contient »| Élément | Détail |
|---|---|
| L’acteur | son nom, recopié au moment de l’action — l’entrée survit à la suppression du compte. « Système » quand l’action n’a pas d’auteur humain |
| L’action | « Création », « Modification », « Suppression », « Archivage », « Connexion », « Échec de connexion », « Import », « Invitation », « A rejoint » |
| L’entité | son type et un libellé lisible — le code d’une salle, le nom d’un rôle |
| Le diff | uniquement les champs qui ont changé, avant et après |
| L’horodatage | l’instant de l’action |
Une modification qui ne change rien ne produit aucune entrée. Enregistrer un formulaire sans avoir rien touché ne laisse pas de trace : c’est voulu, cela évite de noyer le journal.
Le diff est volontairement pauvre. Il ne contient jamais de contenu libre volumineux, et jamais d’adresse e-mail dans une attribution de rôle — seuls le nom du rôle et son périmètre y figurent. C’est une exigence de minimisation des données personnelles, pas une limite technique.
Ce qui est tracé
Section intitulée « Ce qui est tracé »Vérifié service par service dans le code, et non d’après la documentation technique — qui est en retard sur ce point :
- le patrimoine — campus, bâtiments, salles (y compris l’archivage), types de salles, équipements, indisponibilités de salle ;
- les droits — rôles personnalisés, attributions de rôle, invitations, adhésions ;
- le calendrier — périodes académiques, créneaux, réglages d’établissement ;
- les règles de réservation et les réglages de contraintes ;
- les réservations et les décisions d’approbation ;
- le planning — séances placées, attribution automatique de salles, application d’un calcul d’optimisation, et chaque publication avec son périmètre et son nombre de changements ;
- les imports — une entrée par exécution, avec ses compteurs ;
- les connexions, réussies comme échouées.
Ce qui n’est pas tracé
Section intitulée « Ce qui n’est pas tracé »C’est la section à lire avant de chercher pendant vingt minutes.
| Ce que vous ne trouverez pas | Pourquoi |
|---|---|
| Toute la pédagogie — cours, matières, enseignants, étudiants, formations, promotions, sous-groupes | ce module n’est pas instrumenté ; créer ou supprimer un cours ne laisse aucune trace |
| Les plans d’étage | idem |
| Les consultations | personne ne saura qui a regardé quoi : seules les écritures sont tracées |
| Un échec de connexion sur une adresse inconnue | il n’y a aucun établissement auquel rattacher l’entrée — l’événement est journalisé côté serveur, pas ici |
| Le détail ligne à ligne d’un import | une entrée par exécution, avec ses compteurs — jamais une entrée par ligne |
La rétention
Section intitulée « La rétention »La rétention annoncée est de 24 mois.
Ce qu’on peut y faire
Section intitulée « Ce qu’on peut y faire »| Action | Permission | Où c’est expliqué |
|---|---|---|
| Filtrer par acteur, entité, action, période | cette page | |
| Ouvrir le détail d’une modification | cette page | |
| Exporter le résultat filtré en CSV | cette page | |
| Partager une vue filtrée | cette page |
On ne fait rien d’autre. Pas de suppression, pas d’annotation, pas de retour arrière : lire une entrée d’audit ne défait pas l’action qu’elle décrit.
États particuliers
Section intitulée « États particuliers »| Ce que vous voyez | Ce que ça veut dire |
|---|---|
| « Chargement… » | vos permissions ou les entrées arrivent |
| « Une erreur est survenue. Veuillez réessayer. » | la liste n’a pas pu être chargée |
| « Aucune entrée d’audit ne correspond aux filtres. » | soit vos filtres sont trop étroits, soit l’action cherchée n’est pas de celles qui sont tracées |
| « Système » dans la colonne acteur | l’action n’a pas d’auteur humain : expiration automatique d’une demande, tâche de fond |
| Aucun bouton « Diff » sur une ligne | l’événement n’a pas de diff — une connexion, par exemple |
| « Charger plus » disparaît | vous êtes au bout du journal |
| « L’export CSV a échoué. » | l’export n’a pas abouti ; le filtre reste appliqué à l’écran |
| Un export plus court que la liste | l’export est plafonné à 10 000 lignes : resserrez la période avant d’exporter |
| Une entrée manque juste après une opération | l’écriture d’audit se fait après coup ; un incident serveur au mauvais moment peut la perdre |
| Vous êtes renvoyé à l’accueil | vous n’avez pas |
Sur le journal vide : un établissement neuf a un journal vide, et c’est normal. Sur un établissement en service, un journal vide avec les filtres à « Tous » est en revanche anormal — signalez-le.
Sur une opération annulée : une opération qui échoue ne laisse aucune trace. Le journal ne raconte que ce qui a réussi ; ne cherchez pas la trace d’une tentative avortée.
Sur les bornes de dates : le filtre « Période » travaille en journées universelles, sans conversion vers le fuseau de l’établissement. Une entrée survenue à quelques heures de minuit peut donc apparaître dans la journée voisine de celle que vous attendiez. Élargissez d’un jour en cas de doute.
Sur le temps réel : cet écran ne se met pas à jour tout seul. Rechargez pour voir les événements survenus depuis l’ouverture de la page.
Sur le hors-périmètre : la portée d’un rôle ne filtre pas ce journal. Qui porte voit tout l’établissement.
Écrans liés
Section intitulée « Écrans liés »- Utilisateurs — les attributions de rôle et les invitations que ce journal trace.
- Rôles — les rôles dont il trace les changements.
- Imports CSV — les imports, tracés par exécution.
- Publication du planning — chaque publication laisse une entrée.
- Détail d'une salle — les salles et leurs indisponibilités, tracées.
- Structure pédagogique — la zone que ce journal ne trace pas.
- Journal d’audit — la définition courte.