Loggrep
Toutes les modifications en base de données sont enregistrées. On enregistre l'utilisateur (qu'on récupère via l'utilisateur unix si jamais c'est fait via un shell django), l'adresse IP utilisée, la date, le type de modèle ajouté/modifié/supprimé, le type de modification (ajout/modification/suppression), la clé primaire (le pk) de l'objet en question, et le diff en JSON (voir le modèle logs.Changelog).
On a donc tout ce qu'on peut vouloir. C'est accessible via l'API avec des bons filtres.
Problème : c'est pas ultra user-friendly. Ça a pas forcément lieu de l'être, mais bon ça peut être pénible de savoir qui a quel identifiant, quel modèle à quel identifiant, ...
Je propose d'ajouter un script appelé loggrep
qui permet de faire une recherche interactive (ou via des paramètres) dans les logs ergonomiquement.
En particulier, on doit pouvoir filtrer par modèle donné en anglais, par pk (le plus important ^^), éventuellement s'amuser à mettre des filtres qui vont chercher dans le diff JSON. La sortie peut être assez belle, paginée si on a la fois mais c'est compliqué, mais surtout on indique la personne ayant fait l'action et pas son identifiant.
Libre à celui ou celle qui implémente cette fonctionnalité de faire ce qu'il ou elle veut.
Je l'ai pas dit mais c'était implicite : il faut un script CLI, hors de question d'avoir une interface web pour les logs.
Ah, et bien sûr : ce script doit être documenté (bon il y a encore du boulot à faire sur ce point je sais ...)