Statistiques de site respectueuses de la vie privée pour votre site LaraClassifier / JobClass. Suivez les pages vues, les visiteurs uniques, les référents, les pays, les navigateurs, les plateformes, les mots-clés de recherche et les campagnes marketing — sans scripts tiers ni cookies.
Suivi des pages vues
Enregistre automatiquement chaque visite de page du front-end via un middleware. Aucune instrumentation manuelle requise.
Visiteurs uniques
Suivi des visiteurs uniques respectueux de la vie privée grâce à des empreintes hachées IP + User-Agent. Aucun cookie nécessaire.
Données géographiques
Résolvez les adresses IP des visiteurs en pays grâce à la bibliothèque GeoIP du cœur, avec des pilotes interchangeables.
Sources de trafic
Suivez les domaines et URL référents pour comprendre d'où provient votre trafic.
Navigateur & plateforme
L'analyseur de User-Agent intégré détecte le navigateur, la plateforme (OS) et le type d'appareil (ordinateur/mobile/tablette).
Suivi des campagnes UTM
Capture automatiquement les paramètres UTM (source, medium, campaign, term, content) des URL entrantes.
Widget du tableau de bord
Indicateurs de trafic en un coup d'œil, injectés directement dans le tableau de bord d'administration avec des graphiques de tendance.
Cas d'utilisation
Site portfolio ou d'agence
Vous gérez un site portfolio et souhaitez comprendre quels projets attirent le plus l'attention.
- Voyez quelles pages du portfolio obtiennent le plus de vues et depuis quels pays.
- Identifiez les principaux domaines référents qui génèrent du trafic vers votre site.
- Suivez les tendances quotidiennes et hebdomadaires sans dépendre de Google Analytics ou d'autres outils tiers.
Site orienté contenu avec blog
Vous publiez des articles et souhaitez mesurer leurs performances dans le temps.
- Comparez les pages vues sur différentes périodes (7 jours, 30 jours, 90 jours, 1 an).
- Identifiez les navigateurs et plateformes utilisés par votre audience afin d'optimiser la compatibilité.
- Utilisez la répartition par type d'appareil (ordinateur, mobile ou tablette) pour prioriser vos efforts de conception responsive.
Organisation soucieuse de la vie privée
Vous avez besoin de statistiques de base sans intégrer de scripts de suivi tiers ni déposer de cookies.
- Toutes les données restent sur votre propre serveur : aucun appel d'API externe pour le suivi (GeoIP est facultatif).
- L'unicité d'un visiteur est déterminée via une empreinte hachée, et non par des cookies ou des identifiants persistants.
- La rétention des données configurable purge automatiquement les anciens enregistrements.
Prérequis
- LaraClassifier / JobClass v19.0.0 ou ultérieur
- PHP 8.3+
- MySQL 8.0+
Installation
Étape 1 : Téléverser l'add-on
Dans le panneau d'administration, allez dans Admin → Extensions → Add-ons et cliquez sur le bouton Téléverser un add-on. Sélectionnez le fichier ZIP de l'add-on : le système l'extrait automatiquement et l'add-on apparaît dans la liste des add-ons installés.
Étape 2 : Activer l'add-on
Repérez Site Statistics dans la liste et cliquez sur Activer. Ses migrations, ses seeders (le cas échéant) et ses permissions sont mis en place automatiquement.
Étape 3 : Configurer
Rendez-vous dans Admin → Statistiques → Paramètres pour configurer les visiteurs suivis, la rétention des données et les règles d'exclusion. Voir Configuration.
Code d'achat (clé de licence)
Site Statistics est vendu comme un produit distinct : il possède donc son propre code d'achat (clé de licence) — différent du code d'achat de l'application principale et de celui de chaque autre add-on. Il vous est demandé lorsque vous activez Site Statistics dans Panneau d'administration → Add-ons.
Nos produits sont vendus sur trois plateformes. La manière dont vous recevez un code d'achat dépend de l'endroit où vous avez acheté le produit.
| Plateforme / Fournisseur | Comment obtenir le code d'achat | Où le retrouver |
|---|---|---|
| Boutique bedigit.com Achat sur le site (Boutique) |
Généré automatiquement lorsque la commande est payée, puis envoyé par e-mail — soit dans un e-mail de licence dédié, soit dans l'e-mail de confirmation de commande. | Mon compte → Mes licences sur bedigit.com |
| Gumroad | Créé dès que Gumroad nous notifie la vente, puis envoyé dans un e-mail séparé, en plus du reçu Gumroad. | L'e-mail de licence, votre Bibliothèque Gumroad et Mon compte → Mes licences sur bedigit.com |
| Envato Market CodeCanyon |
Délivré par Envato, et non par nous, et jamais envoyé par e-mail : vous le téléchargez vous-même depuis votre compte Envato. | Compte Envato → Downloads → License certificate & purchase code |
1. Boutique bedigit.com (achat sur le site)
- Dès que le statut de paiement de la commande passe à Payée, une clé de licence est générée automatiquement pour chaque article sous licence de la commande (une clé par unité achetée — l'achat de 3 unités donne 3 clés distinctes).
- Elle est envoyée à l'adresse e-mail utilisée pour la commande, soit dans un e-mail de licence dédié, soit dans l'e-mail de confirmation de commande. Vérifiez votre boîte de réception et votre dossier spam / courrier indésirable.
- La clé reste disponible dans votre compte sous Mon compte → Mes licences. Les clés sont masquées dans la liste ; ouvrez la page de détail de la licence pour révéler et copier la clé complète, voir les domaines sur lesquels elle est activée, et désactiver un domaine pour libérer un emplacement d'activation.
- La facture correspondante se trouve sous Mon compte → Mes commandes.
2. Gumroad
- Un achat sur Gumroad génère deux e-mails distincts : le reçu Gumroad (envoyé par Gumroad, donnant accès aux fichiers) et un e-mail de clé de licence (envoyé par bedigit.com) qui contient votre code d'achat.
- L'e-mail de clé de licence est généré dès que Gumroad nous notifie la vente : il arrive donc normalement quelques secondes après le paiement. Là encore, vérifiez votre boîte de réception et votre dossier spam / courrier indésirable.
- Lorsque le produit Gumroad utilise la fonctionnalité de clés de licence propre à Gumroad, la même clé apparaît aussi dans votre reçu Gumroad et sous Bibliothèque → votre achat sur gumroad.com.
- Utilisez la même adresse e-mail sur bedigit.com que sur Gumroad : vos clés sont alors liées automatiquement à votre compte et listées sous Mon compte → Mes licences, même si vous vous inscrivez après l'achat. Vous pouvez aussi ajouter une clé Gumroad manuellement depuis Mon compte → Mes licences Gumroad.
3. Envato Market (CodeCanyon)
- Les codes d'achat Envato sont délivrés et fournis par Envato Market, jamais envoyés par e-mail par nos soins — il n'y a donc rien à chercher dans votre dossier de spam : vous récupérez le code depuis votre compte Envato.
- Connectez-vous à votre compte Envato / CodeCanyon, ouvrez la page Downloads, repérez l'article, puis choisissez License certificate & purchase code dans le menu déroulant Download. Le code est inscrit dans ce certificat.
- Un code d'achat Envato ressemble à
12345678-90ab-cdef-1234-567890abcdef(8-4-4-4-12 caractères). Il ne change jamais, et le renouvellement du support de l'article n'en génère pas de nouveau. - Article officiel Envato : Where Is My Purchase Code?
Configuration
Tous les paramètres sont gérés dans Admin → Statistiques → Paramètres (stockés dans la table settings,
groupe stats). Les valeurs par défaut proviennent de config/stats.php.
| Paramètre | Description | Par défaut |
|---|---|---|
stats_enabled |
Interrupteur principal pour activer ou désactiver le suivi des pages vues. Lorsqu'il est désactivé, aucune nouvelle donnée n'est collectée, mais les données existantes restent accessibles. | true |
stats_retention_days |
Nombre de jours de conservation des données brutes de pages vues. Les enregistrements plus anciens sont purgés automatiquement chaque jour. Définissez 0 pour conserver les données indéfiniment. |
90 |
stats_exclude_bots |
Exclure les bots et robots d'indexation connus (Googlebot, Bingbot, etc.) des statistiques. | true |
stats_exclude_admins |
Exclure du suivi les utilisateurs administrateurs connectés. | true |
stats_track_unique |
Suivre les visiteurs uniques à l'aide d'un hachage SHA-256 de l'IP + User-Agent (respectueux de la vie privée, sans cookies). | true |
stats_geoip_enabled |
Résoudre les adresses IP des visiteurs en pays grâce à la bibliothèque GeoIP du cœur. | true |
stats_per_page |
Nombre de lignes affichées par page dans les tableaux de statistiques de l'administration. | 25 |
stats_utm_tracking_enabled |
Activer la capture automatique des paramètres UTM (source, medium, campaign, term, content) des URL entrantes. | true |
config/stats.php fournit les valeurs par défaut. Les paramètres en base de données
(enregistrés via le panneau d'administration) ont toujours la priorité sur les valeurs du fichier de configuration.
Admin : Tableau de bord Vue d'ensemble
La page Vue d'ensemble (Statistiques → Vue d'ensemble) offre un aperçu complet du trafic de votre site.
Toutes les vues acceptent un paramètre de requête ?period= pour changer la plage de temps.
Sélecteur de période
Un bouton déroulant disponible sur toutes les pages de statistiques vous permet de basculer entre les périodes :
| Valeur | Libellé |
|---|---|
7d | 7 derniers jours |
30d | 30 derniers jours (par défaut) |
90d | 90 derniers jours |
365d | 365 derniers jours |
Widget du tableau de bord
Un widget de synthèse du trafic est injecté automatiquement dans le tableau de bord principal de l'administration. Il affiche :
- Vues du jour : nombre total de pages vues pour la journée en cours
- Visiteurs uniques du jour : nombre de visiteurs uniques pour la journée en cours
- Vues de la semaine : nombre total de vues pour la semaine en cours
- Vues du mois : nombre total de vues pour le mois en cours
- Indicateur de tendance : variation en pourcentage par rapport à la veille
- Mini graphique : graphique du trafic sur 30 jours (ordinateur) / sur 7 jours (mobile)
Graphiques & indicateurs de la vue d'ensemble
La page complète de vue d'ensemble comprend :
- Cartes de synthèse : Total des vues et Visiteurs uniques pour la période sélectionnée
- Graphique du trafic : graphique à barres empilées montrant les vues et les visiteurs uniques au fil du temps
- Top 10 des pages : pages les plus consultées avec leur nombre de vues
- Top 10 des référents : principaux domaines référents générant du trafic
- Top 10 des pays : pays classés par nombre de vues
- Top 10 des navigateurs : répartition des navigateurs
- Répartition par type d'appareil : proportions ordinateur, mobile et tablette affichées sous forme de barres de progression
- Principales plateformes : répartition des OS (Windows, macOS, Linux, Android, iOS, etc.)
Admin : Rapports
Chaque rapport fournit une vue dédiée et paginée pour une dimension de données spécifique. Tous les rapports
prennent en charge le sélecteur de période et respectent le paramètre stats_per_page.
Rapport Pages
Route : Statistiques → Pages
Un tableau paginé de tous les chemins de pages suivis, affichant :
- Rang : position selon le nombre total de vues
- Chemin : le chemin de l'URL (ex.
/about,/portfolio/my-project) - Vues : nombre total de pages vues sur la période sélectionnée
- Visiteurs uniques : nombre de visiteurs uniques pour cette page
Rapport Référents
Route : Statistiques → Référents
Un tableau paginé des domaines référents, affichant :
- Rang : position selon le nombre total de hits
- Domaine : le domaine référent (ex.
google.com,twitter.com) - Hits : nombre de visites référées
Rapport Pays
Route : Statistiques → Pays
Un tableau paginé des pays des visiteurs, affichant :
- Rang : position selon le nombre total de vues
- Pays : badge du code pays ISO + nom du pays
- Vues : nombre total de vues depuis ce pays
- Visiteurs uniques : visiteurs uniques depuis ce pays
stats_geoip_enabled est défini sur true
et que la bibliothèque GeoIP du cœur est correctement configurée.
Rapport Navigateurs
Route : Statistiques → Navigateurs
Un tableau paginé des navigateurs détectés, affichant :
- Rang : position selon le nombre total de vues
- Navigateur : nom du navigateur avec icône (Chrome, Safari, Firefox, Edge, etc.)
- Part : pourcentage du total des vues, affiché sous forme de barre de progression
- Vues : nombre total de vues pour ce navigateur
Rapport Plateformes
Route : Statistiques → Plateformes
Un tableau paginé des systèmes d'exploitation détectés, affichant :
- Rang : position selon le nombre total de vues
- Plateforme : nom de l'OS avec icône (Windows, macOS, Linux, Android, iOS, Chrome OS)
- Part : pourcentage du total des vues, affiché sous forme de barre de progression
- Vues : nombre total de vues pour cette plateforme
Admin : Mots-clés
La section Mots-clés (Statistiques → Mots-clés) vous éclaire sur la façon dont les visiteurs trouvent votre site grâce au suivi des paramètres UTM (campagnes marketing).
Suivi des paramètres UTM
Le suivi UTM capture automatiquement les paramètres de campagne marketing des URL entrantes. Lorsqu'un visiteur arrive
via une URL contenant des paramètres UTM (ex. ?utm_source=newsletter&utm_campaign=spring_sale),
les données sont enregistrées et affichées dans la section Mots-clés.
Paramètres suivis
| Paramètre | Description | Exemple |
|---|---|---|
utm_source |
Source du trafic (obligatoire pour que le suivi s'active) | google, newsletter, facebook |
utm_medium |
Support marketing | cpc, email, social |
utm_campaign |
Nom de la campagne | spring_sale, product_launch |
utm_term |
Terme de recherche ou mot-clé | web+design, laravel+cms |
utm_content |
Variante de publicité ou de lien (pour les tests A/B) | banner_v1, sidebar_link |
Rapports
Les données UTM sont disponibles dans deux onglets dédiés de la section Mots-clés :
- Termes UTM : affiche toutes les valeurs
utm_termsuivies avec le nombre de visites, les sources et les pages d'atterrissage - Campagnes UTM : affiche toutes les valeurs
utm_campaignsuivies avec le nombre de visites, les sources et les supports
La page de vue d'ensemble affiche également des cartes de synthèse avec le total des visites UTM et des visiteurs UTM uniques pour la période sélectionnée.
utm_source est présent dans l'URL, un enregistrement est créé dans la table stats_utm_visits
et les agrégats quotidiens sont mis à jour dans stats_utm_daily. Aucun cookie ni JavaScript n'est impliqué.
Admin : Paramètres
La page des paramètres (Statistiques → Paramètres) est organisée en quatre sections :
Options de suivi
Des interrupteurs pour contrôler les données collectées :
- Activer le suivi : interrupteur principal pour démarrer/arrêter la collecte de données
- Suivre les visiteurs uniques : activer le suivi des visiteurs uniques basé sur une empreinte SHA-256
- Activer la détection du pays : résoudre les IP en pays via GeoIP
- Exclure les bots : filtrer les robots d'indexation et bots connus
- Exclure les administrateurs : ne pas suivre les utilisateurs administrateurs connectés
Gestion des données
- Rétention des données : liste déroulante pour choisir la durée de conservation (Illimitée, 30, 60, 90, 180, 365 ou 730 jours)
- Éléments par page : liste déroulante pour choisir la taille de la pagination (10, 15, 25, 50 ou 100 éléments)
Suivi UTM
Interrupteur pour activer ou désactiver la capture automatique des paramètres UTM des URL entrantes. Lorsqu'il est activé,
le middleware de suivi extrait utm_source, utm_medium, utm_campaign,
utm_term et utm_content des URL des visiteurs.
Avis de confidentialité
Un encadré informatif rappelant aux administrateurs que l'add-on respecte la vie privée : aucun script tiers, aucun cookie, et toutes les empreintes des visiteurs sont hachées.
Mise à jour
Il existe deux façons de mettre à jour cet add-on : via le panneau d'administration (recommandé) ou en remplaçant manuellement les fichiers.
Méthode 1 : Téléversement via le panneau d'administration (recommandé)
- Téléchargez le dernier fichier
.zipde cet add-on. - Allez dans Panneau d'administration → Add-ons et cliquez sur le bouton Téléverser.
- Sélectionnez ou glissez le fichier
.zipdans la zone de téléversement. - Une demande de confirmation affichera les numéros de version actuelle et nouvelle. Cliquez sur Remplacer pour continuer.
- Allez dans Panneau d'administration → Mise à jour du système (
/admin/update) pour appliquer les éventuelles migrations de base de données en attente.
Méthode 2 : Remplacement manuel des fichiers
Étape 1 : Remplacer les fichiers
Remplacez le répertoire de l'add-on par la nouvelle version.
Étape 2 : Exécuter les migrations
Étape 3 : Vider les caches
Étape 4 : Vérifier
Rendez-vous dans Statistiques → Vue d'ensemble et confirmez que les données s'affichent correctement. Consultez la page des paramètres pour vérifier que votre configuration a été conservée.
Dépannage
Aucune donnée n'est enregistrée
- Vérifiez que
stats_enabledest défini surtruedans Statistiques → Paramètres. - Vérifiez que l'add-on est activé dans Admin → Add-ons.
- Si vous êtes connecté en tant qu'administrateur, vérifiez que
stats_exclude_adminsn'est pas activé (ou testez dans une fenêtre de navigation privée). - Assurez-vous que les migrations ont été exécutées (
php artisan migrate) : la tablestats_page_viewsdoit exister.
Les données par pays sont absentes ou affichent “Inconnu”
- Vérifiez que
stats_geoip_enabledest défini surtrue. - Vérifiez que le pilote GeoIP du cœur est correctement configuré dans Admin → Paramètres → GeoIP.
- Les IP locales/privées (127.0.0.1, 192.168.x.x, etc.) ne peuvent pas être résolues et apparaîtront comme inconnues.
- Si vous utilisez un pilote GeoIP basé sur une API, vérifiez que la clé d'API est valide et que les limites de requêtes n'ont pas été dépassées.
- En production, envisagez d'utiliser le pilote MaxMind Database (
maxmind_database) avec le fichierGeoLite2-City.mmdbpour des résolutions hors ligne fiables.
Le widget du tableau de bord ne s'affiche pas
- Le widget est injecté via un view composer. Assurez-vous que l'add-on est actif et que le ServiceProvider a bien démarré.
- Videz le cache des vues :
php artisan view:clear. - Vérifiez que l'utilisateur possède la permission
stats.view.
Les pages de statistiques affichent “Aucune donnée disponible”
- Si l'add-on vient d'être installé, attendez qu'un peu de trafic front-end soit enregistré.
- Essayez de passer le sélecteur de période sur une plage plus large (ex. 90 jours ou 365 jours).
- Vérifiez si la rétention des données a purgé les anciens enregistrements : ajustez
stats_retention_dayssi nécessaire.
Le trafic des bots gonfle les statistiques
- Activez
stats_exclude_botsdans les paramètres. Cela filtre plus de 30 signatures de bots connues. - Notez que certains bots utilisent des chaînes User-Agent d'apparence légitime et peuvent ne pas être détectés.
Consultez la table
stats_page_viewset sa colonneis_botpour effectuer un audit.
Les données UTM ne sont pas enregistrées
- Vérifiez que
stats_utm_tracking_enabledest défini surtruedans Statistiques → Paramètres. - Le suivi UTM requiert au minimum le paramètre
utm_sourcedans l'URL. Les URL sansutm_sourcesont ignorées. - Vérifiez que les URL contiennent des paramètres UTM valides :
?utm_source=test&utm_term=keyword. - Le suivi principal des statistiques doit également être activé (
stats_enabled) pour que le suivi UTM fonctionne.
Utilisation élevée de l'espace de stockage de la base de données
- Réduisez le paramètre
stats_retention_daysà une durée plus courte. - La tâche planifiée quotidienne à 3h00 purge automatiquement les anciennes données. Assurez-vous que votre planificateur Laravel
est en cours d'exécution :
php artisan schedule:work(ou configuré via cron). - La table
stats_page_viewsest celle qui grossit le plus vite. Les tables d'agrégats (stats_daily, etc.) sont beaucoup plus petites puisqu'elles stockent une ligne par dimension et par jour.
Préoccupations de performance en cas de trafic élevé
- Le middleware effectue son traitement de manière asynchrone après l'envoi de la réponse : il n'ajoute aucune latence au chargement des pages.
- Toutes les requêtes de statistiques utilisent les tables d'agrégats dotées d'index appropriés, et non la table brute
stats_page_views. - Pour les sites à très fort trafic, envisagez de réduire la rétention à 30 jours et d'utiliser le pilote GeoIP MaxMind hors ligne afin d'éviter les appels d'API externes.
Site Statistics v1.0.0 : un add-on LaraClassifier / JobClass.
© BeDigit. Tous droits réservés.