mermio/audit
最新稳定版本:0.2.0
Composer 安装命令:
composer require mermio/audit
包简介
Package Laravel pour auditer des sites web via sitemap et Google PageSpeed Insights up
README 文档
README
Package Laravel pour auditer des sites web via sitemap et Google PageSpeed Insights avec Filament V4.
Installation
Installation via Composer
Installez le package via Composer :
composer require mermio/audit
Publier les fichiers
Publier la configuration :
php artisan vendor:publish --tag=audit-config
Publier les migrations :
php artisan vendor:publish --tag=audit-migrations
Exécuter les migrations
php artisan migrate
Configurer la queue
Les audits sont traités en arrière-plan via des jobs Laravel. Assurez-vous d'avoir un worker de queue en cours d'exécution :
php artisan queue:work
Ou utilisez un supervisor pour gérer automatiquement les workers en production.
Configuration
Variables d'environnement
Ajoutez dans votre fichier .env :
# URL du sitemap à auditer
# Peut être une URL complète : https://example.com/sitemap.xml
# Ou un chemin relatif : sitemap.xml (sera combiné avec APP_URL)
AUDIT_SITEMAP_URL=sitemap.xml
# Clé API Google PageSpeed Insights
PAGESPEED_API_KEY=votre_cle_api_google
# Canal de log pour l'audit (optionnel, utilise 'stack' par défaut)
AUDIT_LOG_CHANNEL=stack
Note importante sur AUDIT_SITEMAP_URL :
- Si vous fournissez une URL complète (ex:
https://example.com/sitemap.xml), elle sera utilisée telle quelle - Si vous fournissez un chemin relatif (ex:
sitemap.xml), il sera automatiquement combiné avecAPP_URL - Cela permet d'auditer facilement un site différent de celui où tourne l'application
Vous pouvez également modifier la configuration dans config/audit.php après publication.
Configuration Filament
Vous devez enregistrer le plugin manuellement dans votre PanelProvider (par exemple app/Providers/Filament/AdminPanelProvider.php) :
use Filament\Panel;
use Mermio\Audit\Filament\AuditPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ... autres configurations
->plugin(AuditPlugin::make());
}
Personnaliser le groupe de navigation
Par défaut, les ressources d'audit apparaissent dans le groupe de navigation "Audit". Vous pouvez personnaliser ce groupe lors de l'enregistrement du plugin :
use Filament\Panel;
use Mermio\Audit\Filament\AuditPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ... autres configurations
->plugin(
AuditPlugin::make()
->navigationGroup('Paramètres')
);
}
Utilisation
Lancer un audit
- Accédez à l'interface Filament
- Allez dans le menu "Audit"
- Cliquez sur "Lancer un audit"
- Confirmez dans la modale (le nom et les sitemaps sont générés automatiquement)
- L'audit se lancera automatiquement en arrière-plan via des jobs
Consulter un rapport
- Cliquez sur un audit dans la liste
- Le rapport affiche :
- Les informations générales de l'audit
- La liste des pages analysées avec :
- Le code réponse HTTP
- Le score PageSpeed Insights
- La date de vérification
Commande Artisan
Vous pouvez également lancer un audit via la ligne de commande :
php artisan audit:run {audit_id}
Fonctionnalités
- ✅ Analyse automatique du sitemap (support des sitemaps index et multiples sitemaps)
- ✅ Support des sitemaps multilingues (sitemap_index.xml avec sitemap_fr.xml.gz, sitemap_en.xml.gz, etc.)
- ✅ Support des fichiers compressés (.gz)
- ✅ Vérification du code réponse HTTP de chaque page
- ✅ Intégration Google PageSpeed Insights API (Performance, Accessibilité, Bonnes pratiques, SEO)
- ✅ Interface Filament V4 complète
- ✅ Rapports détaillés avec scores de performance
- ✅ Traitement asynchrone via jobs Laravel (non bloquant)
- ✅ Parallélisation des analyses PageSpeed
- ✅ Gestion des erreurs et logs
Configuration avancée
Sitemaps multilingues et compressés
Le package gère automatiquement :
Sitemaps index : Si votre sitemap principal (ex:
sitemap_index.xml) contient des références vers d'autres sitemaps, le package les détectera et les parsera automatiquement de manière récursive.Fichiers compressés : Les fichiers
.gz(ex:sitemap_fr.xml.gz,sitemap_en.xml.gz) sont automatiquement décompressés avant le parsing.
Exemple de structure supportée :
sitemap_index.xml
├── sitemap_fr.xml.gz
├── sitemap_en.xml.gz
├── sitemap_de.xml.gz
└── sitemap_es.xml.gz
Il suffit de fournir l'URL du sitemap index lors de la création de l'audit, et toutes les URLs de tous les sous-sitemaps seront automatiquement extraites et analysées.
Stratégie PageSpeed
Par défaut, la stratégie est définie sur desktop. Vous pouvez la changer pour mobile dans config/audit.php :
'pagespeed' => [
'api_key' => env('PAGESPEED_API_KEY'),
'api_url' => 'https://www.googleapis.com/pagespeedonline/v5/runPagespeed',
'strategy' => 'mobile', // ou 'desktop'
],
Sitemaps multiples
Vous pouvez configurer plusieurs sitemaps dans config/audit.php :
'sitemap_urls' => [
'https://example.com/sitemap.xml',
'https://example.com/sitemap-blog.xml',
],
Support
Pour toute question ou problème, veuillez ouvrir une issue sur le dépôt GitHub.
Licence
MIT
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-10