À 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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.