darken10/auditra
最新稳定版本:v0.0.1
Composer 安装命令:
composer require darken10/auditra
包简介
Auditra - A comprehensive Laravel audit logging package with automatic model auditing, manual audit recording, and a professional graphical interface
README 文档
README
Auditra is a comprehensive Laravel package for audit logging with automatic model auditing, manual audit recording, and a professional graphical interface.
Author: darken10
Installation
composer require darken10/auditra
Configuration
Publiez la configuration et les migrations :
php artisan vendor:publish --provider="Darken10\Auditra\AuditraServiceProvider"
Exécutez les migrations :
php artisan migrate
Utilisation
1. Ajouter le trait Auditable à vos modèles
<?php namespace App\Models; use Darken10\Auditra\Traits\Auditable; use Illuminate\Database\Eloquent\Model; class User extends Model { use Auditable; // Optionnel : spécifier les attributs à auditer protected $auditableAttributes = ['name', 'email', 'status']; // Optionnel : exclure certains attributs protected $auditExclude = ['password', 'remember_token']; // Optionnel : désactiver l'audit pour ce modèle protected $auditEnabled = true; }
2. Audit automatique
Une fois le trait ajouté, toutes les opérations created, updated, deleted et restored seront automatiquement auditées.
3. Audit manuel
use Darken10\Auditra\Facades\Auditra; // Audit d'une action personnalisée Auditra::manual('login_attempt', $user, [ 'metadata' => ['ip' => request()->ip()] ]); // Audit sans modèle associé Auditra::manual('system_maintenance', null, [ 'metadata' => ['action' => 'cache_cleared'] ]);
4. Interface graphique
Accédez au tableau de bord d'audit via l'URL :
/admin/audit
Fonctionnalités de l'interface :
- 📊 Dashboard avec statistiques - Vue d'ensemble de l'activité
- 🔍 Filtres avancés - Par utilisateur, événement, modèle, date
- 📈 Graphiques interactifs - Répartition des événements et activité
- 🔎 Recherche globale - Dans les URLs, IPs, utilisateurs
- 📄 Vue détaillée - Analyse complète de chaque audit
- 📤 Export CSV - Exportation des données filtrées
- 📱 Design responsive - Interface moderne et professionnelle
5. Consulter les logs d'audit (API)
// Récupérer tous les audits d'un modèle $user = User::find(1); $audits = $user->auditLogs; // Filtrer par événement $audits = \Darken10\Auditra\Models\AuditLog::byEvent('updated')->get(); // Filtrer par utilisateur $audits = \Darken10\Auditra\Models\AuditLog::byUser(auth()->id())->get(); // Filtrer par modèle $audits = \Darken10\Auditra\Models\AuditLog::byModel(User::class)->get(); // Filtrer par période $audits = \Darken10\Auditra\Models\AuditLog::whereBetween('created_at', [ now()->subDays(7), now() ])->get();
Configuration
Le fichier config/audit.php permet de personnaliser :
- enabled : Activer/désactiver l'audit globalement
- model : Modèle utilisé pour stocker les audits
- user_model : Modèle utilisateur
- table : Nom de la table des audits
- sensitive_fields : Champs sensibles à masquer
- events : Événements à auditer
- retention_days : Durée de conservation des logs
Fonctionnalités
✅ Trait Auditable - Facile à ajouter à n'importe quel modèle
✅ Observer automatique - Écoute les événements Eloquent
✅ Modèle AuditLog - Stockage structuré des audits
✅ Migration incluse - Table optimisée avec index
✅ Audit manuel - Via la facade Audit::record()
✅ Protection des données sensibles - Masquage automatique
✅ Métadonnées complètes - User, IP, User-Agent, Route, etc.
✅ Configuration flexible - Personnalisable via config
✅ Compatible Laravel 10+ - Utilise les dernières fonctionnalités
Prochaines étapes
- Commandes Artisan pour la maintenance
- Interface d'administration
- Exportation des audits
- Notifications d'audit
- Tests unitaires
Licence
MIT
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-22