À propos du projet

laravel-analytics est un package Laravel développé par Spatie pour récupérer des données d’analyse depuis Google Analytics en utilisant l’API de données Google Analytics. ## Fonctionnalités Le package expose une façade `Spatie\Analytics\Facades\Analytics` proposant plusieurs méthodes pratiques : - `fetchMostVisitedPages(Period $period, int $maxResults = 20)` — retourne fullPageUrl, pageTitle, screenPageViews - `fetchVisitorsAndPageViews(Period $period)` — retourne activeUsers et screenPageViews - `fetchVisitorsAndPageViewsByDate(Period $period)` — ajoute une clé date par ligne - `fetchTotalVisitorsAndPageViews(Period $period)` — agrège les totaux par date - `fetchTopReferrers(Period $period, int $maxResults = 20)` — retourne pageReferrer et screenPageViews - `fetchUserTypes(Period $period)` — retourne nouveaux vs utilisateurs récurrenants - `fetchTopBrowsers(Period $period, int $maxResults = 10)` — retourne browser et screenPageViews - `fetchTopCountries(Period $period, int $maxResults = 10)` — retourne country et screenPageViews - `fetchTopOperatingSystems(Period $period, int $maxResults = 10)` — retourne operatingSystem et screenPageViews - `get(Period $period, array $metrics, array $dimensions = [], ...)` — requêtes arbitraires GA4 avec tri, pagination, filtres de dimensions et filtres de métriques Toutes les méthodes retournent une `Illuminate\Support\Collection` de tableaux associatifs. ## Installation ```bash composer require spatie/laravel-analytics ``` Vous pouvez éventuellement publier la configuration : ```bash php artisan vendor:publish --tag="analytics-config" ``` La configuration publiée dans `config/analytics.php` demande : - `property_id` : votre identifiant de propriété GA4 - `service_account_credentials_json` : chemin vers une clé JSON de compte de service, ou un tableau contenant les identifiants - `cache_lifetime_in_minutes` : défaut à 1440 minutes ; mettez `0` pour désactiver la mise en cache - `cache.store` et préfixe/durée optionnels pour la mise en cache sous-jacente ## Configuration de l’authentification 1. Créez un projet sur [Google Cloud Console](https://console.developers.google.com/apis) 2. Activez **Google Analytics Data API** dans la bibliothèque d’APIs 3. Créez un compte de service et téléchargez sa clé JSON 4. Partagez au moins votre propriété GA4 avec l’adresse e‑mail du compte de service, en lui attribuant le rôle Analyst au minimum 5. Stockez le fichier JSON de manière sécurisée et pointez la configuration dessus ## Périodes La classe `Spatie\Analytics\Period` supporte : ```php Period::days(7) Period::months(6) Period::create($startDate, $endDate) // accepte des instances de Carbon ``` ## Tests avec des faux La façade fournit une méthode `fake` pour les tests unitaires et fonctionnels : ```php use Spatie\Analytics\Facades\Analytics; Analytics::fake(); // ou avec des réponses prédéfinies Analytics::fake([ ['pageTitle' => 'Home', 'activeUsers' => 10, 'screenPageViews' => 20], ]); ``` Les tests du package peuvent être exécutés avec : ```bash vendor/bin/pest ``` ## Licence Sous licence MIT. Consultez le fichier LICENSE du dépôt pour plus de détails.