Bienvenue sur LibreAnalytics v2.0.1

Mise à jour du 15/01/2026 : Le pixel est maintenant multi-tenant, l'API REST est en bêta, et l'intégration LemonSqueezy sera active une fois la beta test terminée. Pour le moment l'outils reste gratuit.

LibreAnalytics est une solution d'analytics web souveraine, open-source et respectueuse de la vie privée. Conçue comme une alternative souveraine à Google Analytics, elle vous permet de reprendre le contrôle de vos données tout en bénéficiant d'un dashboard simple et intuitif.

100% Français

Code et données hébergés en France. Aucune fuite vers les GAFAM.

RGPD natif

Pas de cookie banner nécessaire. Anonymisation par défaut.

Script 4KB

Impact zéro sur les performances et le Core Web Vitals.

Open source

Code auditable sur GitHub. Vous pouvez même auto-héberger.

Installation en 2 minutes

Étape 1 : Créer un compte

Rendez-vous sur la page d'accueil et cliquez sur "Créer mon premier dashboard". Remplissez le formulaire avec votre email, choisissez un mot de passe et indiquez l'URL de votre site.

Étape 2 : Récupérer votre code de tracking, le Smart Pixel !

Une fois connecté, vous arrivez sur le dashboard. Vous verrez votre tracking code (ex: SP_79747769), situé en bas à gauche de l'écran.

Étape 3 : Installer le script

Copiez-collez la ligne suivante juste avant la balise </head> de votre site :

tracker.js
<!-- LibreAnalytics -->
<script data-sp-id="SP_24031987" src="https://gael-berru.com/LibreAnalytics/smart_pixel_v2/public/tracker.js" async></script>
✅ C'est fini ! Les premières données apparaîtront dans votre dashboard sous 1 à 2 minutes mais peuvent dans certain cas, prendre jusqu'à 24H. Le script collecte automatiquement : pages vues, clics, source, UTM, géolocalisation, appareil, navigateur...

Premiers pas

Comprendre les métriques

Métrique Description
Visites Nombre total de sessions (une session = 30 min d'inactivité max).
Visiteurs uniques Nombre d'utilisateurs distincts (basé sur session ID + empreinte).
Pages vues Nombre total de pages consultées.
Taux de rebond % de visites avec une seule page.
Insight Actions à mettre en place selon vos data.
Source D'où viennent vos visiteurs (Google, direct, réseau social...).

Filtres de période

En haut du dashboard, vous pouvez sélectionner : Aujourd'hui, 7 derniers jours, 30 derniers jours, ou une plage d'un an.

Astuce : Passez la souris sur les graphiques pour voir les valeurs précises. Les tableaux sous les graphiques sont triables par colonne.

Plans et tarifs

Fonctionnalité Gratuit Pro (9€/mois) Version à venir ! Business (29€/mois) Version à venir !
Nombre de sites 1 10 50
Visites / mois 1 000 100 000 Illimité
Dashboard temps réel
Géolocalisation (pays/ville)
Tracking UTM
API REST
Webhooks
Support Communauté Email 24h Téléphone prioritaire

Le paiement est géré par Lemon Squeezy (paiement européen, pas de commission USA). Nous ne stockons aucune information de carte bancaire.

Pour passer en Pro/Business : Dashboard → Mon compte → Mise à niveau. Le changement est instantané.

Utilisation du dashboard

Onglets disponibles

  • Aperçu : Vue d'ensemble avec les métriques clés, graphique d'évolution, top sources, top pages.
  • Trafic : Analyse détaillée des sources (référents, réseaux sociaux, campagnes).
  • Audience : Géolocalisation, appareils, navigateurs, résolution d'écran.
  • Comportement : Pages populaires, flux de navigation (à venir), clics enregistrés.
  • Événements : Liste de tous les événements personnalisés (clics, formulaires, etc).
Gestion des sites

Dans la colonne de gauche, vous voyez la liste de vos sites. Cliquez sur un site pour visualiser ses données. Le code de suivi affiché est unique pour chaque site.

Tracking des clics et événements

LibreAnalytics tracke automatiquement tous les clics sur les liens et boutons, CTA (sauf si vous avez installé data-sp-ignore). Vous pouvez également envoyer des événements personnalisés.

Événements automatiques

  • Clics : tag, id, class, texte, href, position (x, y).
  • Page view : titre, URL, referrer.

Événements personnalisés (JS)

JavaScript
// Envoyer un événement personnalisé
SmartPixel.trackEvent('inscription', {
  method: 'email',
  user_id: 123
});
Important : Les événements ne sont envoyés qu'après le chargement complet de la page (évite les doublons). L'objet eventData est limité à 500 caractères.

Géolocalisation

La géolocalisation est effectuée côté serveur via l'API ip-api.com (limitation : 45 req/min en gratuit). Les données sont stockées en base (pays, ville).

Comment ça marche ?

  1. Le pixel reçoit l'IP du visiteur.
  2. Une requête est faite à ip-api.com (timeout 1s pour ne pas bloquer).
  3. Le pays et la ville sont enregistrés dans la table smart_pixel_tracking.
  4. Si l'API échoue, la valeur par défaut est "Unknown".
Vie privée : Nous ne stockons que le pays et la ville. L'IP publique n'est pas conservée dans les rapports (elle sert uniquement à la géoloc), concernant l'IP privée elle n'est évidement pas accessible pour des raison de sécurité et de normes RGPD. Vous pouvez désactiver la géoloc dans votreconfig.php.

Sources de trafic et paramètres UTM

LibreAnalytics capture automatiquement les paramètres UTM de l'URL et les sources.

Paramètres reconnus

  • utm_source → source (Google, newsletter, etc.)
  • utm_medium → medium (cpc, email, social)
  • utm_campaign → nom de la campagne
  • utm_term → mots-clés
  • utm_content → contenu spécifique

Source automatique

Cela vous permet de savoir laquelle de vos campagnes à le plus de trafic et d'où vient ce traffic. Si aucun UTM n'est présent, la source est extraite du document.referrer :

  • Réseaux sociaux : Facebook, Twitter, LinkedIn → "social"
  • Moteurs de recherche : Google, Bing, DuckDuckGo → "organic"
  • Direct : pas de referrer → "direct"

Tracker - Documentation technique

Notre code JavaScript est le cœur de la collecte côté client. Il est conçu pour être léger (4KB) et asynchrone.

Fonctions disponibles

API JavaScript
SmartPixel.load('SP_XXXXXX'); // Chargement manuel
SmartPixel.trackEvent('eventName', {data}); // Événement personnalisé
SmartPixel.getOrCreateSessionId(); // Récupère l'ID de session

Paramètres de l'URL du pixel

Paramètre Description Exemple
t Tracking code (obligatoire) SP_79747769
sid Session ID sess_abc123
viewport Résolution écran 1920x1080
s Source google.com
utm_campaign Campagne ete2025
ref Referrer complet https://...
click Données de clic (JSON) {"tag":"A"}

Pixel.php - Point d'entrée serveur

Notre code PHP reçoit les données, valide le tracking code, enrichit avec la géoloc, et insère en base. Il retourne toujours un Pixel transparent.

Fonctionnement

  1. Vérification du paramètre t (tracking code).
  2. Requête en base pour trouver le site_id et user_id.
  3. Récupération de l'IP et appel à ip-api.com pour la géoloc (timeout 1s).
  4. Insertion en base avec toutes les données collectées.
  5. Envoi du GIF 1x1.

Optimisation

  • Le script est optimisé pour < 100ms de réponse.
  • Les erreurs sont loggées silencieusement (pas d'affichage).
  • Le cache est désactivé (headers no-cache).

🔌 API REST (Pro & Business) Fonctionnalitées en beta test

L'API REST vous permet d'accéder à vos données programmatiquement. Elle est en bêta depuis janvier 2026.

Authentification

Utilisez votre api_key (disponible dans Mon compte → API).

Tutoriel : Utiliser l'API LibreAnalytics

1. Récupérer tes identifiants

Pour utiliser l'API, tu as besoin de :

  • Code de tracking : Identifiant de ton site (ex: SP_24m87bb).
  • Clé API : Clé secrète pour authentifier tes requêtes (ci-dessus).

Tu peux trouver ton code de tracking dans la section "Mes sites" du dashboard.

2. Construire l'URL de l'API

L'URL de base est :

https://gael-berru.com/LibreAnalytics/smart_pixel_v2/public/api.php

Ajoute les paramètres suivants :

  • site_id : Ton code de tracking (ex: SP_24m87bb).
  • api_key : Ta clé API (copie-la ci-dessus).
  • start_date (optionnel) : Date de début (ex: 2026-01-01).
  • end_date (optionnel) : Date de fin (ex: 2026-02-01).
Exemple d'URL complète :
https://gael-berru.com/LibreAnalytics/smart_pixel_v2/public/api.php?site_id=SP_24m87bb&api_key=sk_1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p&start_date=2026-01-01&end_date=2026-02-01

3. Récupérer les données

Tu peux récupérer les données de 3 manières :

  • Depuis un navigateur : Copie-colle l'URL dans la barre d'adresse, ou crée ton propre dashboard,
  • Avec notre template.
  • Avec cURL (terminal) : curl "https://gael-berru.com/.../api.php?site_id=SP_24m87bb&api_key=sk_1a2b3c..."
  • Avec JavaScript (fetch) : fetch(`https://gael-berru.com/.../api.php?site_id=SP_24m87bb&api_key=sk_1a2b3c...`) .then(response => response.json()) .then(data => console.log(data));

4. Exemple de réponse JSON

Voici un exemple de réponse :

{ "success": true, "data": [ { "date": "2026-01-01", "visits": 42, "unique_visitors": 30, "sessions": 35 }, { "date": "2026-01-02", "visits": 50, "unique_visitors": 38, "sessions": 40 } ], "meta": { "site_id": "SP_24m87bb", "start_date": "2026-01-01", "end_date": "2026-02-01", "total_visits": 92, "total_unique_visitors": 68 } }

Les champs disponibles :

  • date : Date des données.
  • visits : Nombre total de visites.
  • unique_visitors : Visiteurs uniques (par IP).
  • sessions : Nombre de sessions.

5. Intégrer avec des outils

Tu peux utiliser ces données avec :

  • Google Data Studio : Crée une source de données personnalisée.
  • Excel/Google Sheets : Utilise =IMPORTDATA("https://...").
  • Tableau de bord custom : Utilise Chart.js (voir ci-dessous).

Exemple de code pour un graphique avec Chart.js :

<canvas id="visitsChart" width="800" height="400"></canvas> <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> <script> fetch(`https://gael-berru.com/.../api.php?site_id=SP_24m87bb&api_key=sk_1a2b3c...`) .then(response => response.json()) .then(data => { const labels = data.data.map(item => item.date); const visits = data.data.map(item => item.visits); new Chart(document.getElementById('visitsChart'), { type: 'line', data: { labels, datasets: [{ label: 'Visites', data: visits }] } }); }); </script>

6. Gérer les erreurs

Voici les erreurs possibles et leurs solutions :

  • 400 : Paramètres manquants. Vérifie l'URL.
  • 403 : Clé API ou code de tracking invalide. Vérifie tes identifiants.
  • 404 : Site non trouvé. Vérifie le site_id.
  • 500 : Erreur serveur. Contacte le support.

Webhooks (Business)

Recevez des notifications en temps réel sur vos événements analytics.

Événements disponibles

  • page_view - Nouvelle page vue
  • click - Nouveau clic
  • daily_report - Rapport quotidien (8h du matin)

Configuration

Dans Mon compte → Webhooks, ajoutez votre URL (ex: https://mondomaine.com/webhook). Nous enverrons un POST avec un payload JSON contenant les données.

Exemple de payload
{
  "event": "page_view",
  "site_id": 42,
  "data": {
    "page_url": "/accueil",
    "timestamp": "2026-01-15T10:30:00Z",
    "visitor_id": "sess_abc123"
  }
}

Gestion de votre compte

Changer de mot de passe

Allez dans Dashboard → Mon compte → Sécurité. Vous pouvez modifier votre mot de passe à tout moment.

Ajouter/Supprimer un site

Dans la colonne de gauche, cliquez sur "Ajouter un site". Remplissez le nom et l'URL. Le tracking code sera généré automatiquement. Pour supprimer, survolez le site dans la liste et cliquez sur la corbeille.

Clé API ( en cours de dev, peut ne pas focntionner correctement )

Disponible dans Mon compte → API. Régénérez-la si nécessaire (cela cassera les anciennes intégrations).

Paiement avec Lemon Squeezy

Nous utilisons Lemon Squeezy, une plateforme de paiement européenne (pas de frais cachés).

Processus

  1. Vous cliquez sur "Mettre à niveau" dans le dashboard.
  2. Vous êtes redirigé vers une page de checkout hébergée par Lemon Squeezy.
  3. Vous payez par carte ou PayPal.
  4. Lemon Squeezy nous envoie un webhook pour confirmer le paiement.
  5. Votre compte est automatiquement mis à niveau.

Gestion des abonnements

Vous pouvez annuler, modifier ou consulter votre abonnement directement sur le portail client Lemon Squeezy (lien dans l'email de confirmation).

RGPD et conformité

Conforme par conception - LibreAnalytics a été pensé pour respecter la vie privée dès la base.

Ce que nous collectons

  • Pages vues (URL, titre, referrer)
  • Informations techniques (navigateur, OS, écran)
  • Géolocalisation (pays et ville uniquement, pas d'adresse précise)
  • Clics (élément cliqué, pas de données personnelles)

Ce que nous ne collectons PAS

  • Cookies tiers
  • Empreinte numérique complète (fingerprinting)
  • Données de formulaires (sauf si vous envoyez un événement custom)

Hébergement

Toutes les données sont hébergées sur des serveurs en France. Aucune donnée ne transite par les USA.

F.A.Q

LibreAnalytics est-il vraiment gratuit ?

Oui, le plan gratuit est illimité dans le temps pour 1 site et 1000 visites/mois. Pas de carte bleue demandée.

Puis-je auto-héberger LibreAnalytics ?

Absolument ! Le code est open source (MIT). Suivez les instructions sur GitHub.

Comment désinstaller le tracker ?

Supprimez simplement la ligne de script de votre site. Les données historiques restent dans votre dashboard.

Y a-t-il une application mobile ?

Pas encore, mais le dashboard est responsive et fonctionne parfaitement sur mobile. Une app Flutter est prévue pour 2027.

Que faire si mes données n'apparaissent pas ?

Vérifiez : 1) que le tracking code est correct, 2) que le script est bien placé avant </head>, 3) que votre site n'est pas bloqué par un adblocker. Consultez la console navigateur pour d'éventuelles erreurs.

Codes erreur et dépannage

Code Signification Solution
ERR_INVALID_TRACKING Tracking code invalide Vérifiez que le code SP_XXXXXX est correct.
ERR_SITE_INACTIVE Site désactivé Activez le site dans le dashboard.
ERR_GEOLOC_FAILED Géolocalisation impossible L'API ip-api est peut-être down, les données sont marquées "Unknown".
ERR_DB_INSERT Échec insertion base Contactez le support si persistant.

Support

Email

contact
Réponse sous 24h

GitHub Issues

Ouvrez un ticket
Suivi public

Discord

Serveur communautaire
Entraide entre utilisateurs