承接 mermio/audit 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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é avec APP_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

  1. Accédez à l'interface Filament
  2. Allez dans le menu "Audit"
  3. Cliquez sur "Lancer un audit"
  4. Confirmez dans la modale (le nom et les sitemaps sont générés automatiquement)
  5. L'audit se lancera automatiquement en arrière-plan via des jobs

Consulter un rapport

  1. Cliquez sur un audit dans la liste
  2. 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 :

  1. 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.

  2. 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

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-10