Alternative française et open source à Google Analytics
Analysez votre trafic sans compromettre la vie privée de vos visiteurs, avec un outil 100% européen.
Dashboard - Api - Doc - Chat - Articles
Vous pouvez sponsoriser LibreAnalytics via :
- GitHub Sponsors - SOON
- Solana :
D6khWoqvc2zX46HVtSZcNrPumnPLPM72SnSuDhBrZeTC - Dont en BTC, SOL, USDC...
Disponible
✅ V.0.0.1 pixel auto hebergé | 2024 | statut - gratuit open source
✅ V.0.1.0 pixel multi tenant | 2025 | statut - gratuit pour 1 dashboard
✅ V.1.0.1 software friendly | 2026 | statut - MVP fonctionnel + API
▶️ V.1.0.7 software fullindé | 2026 | statut - en cours de dev ...
- Fonctionnalités
- Versions et statut
- Guide Utilisateur
- Tutoriel API
- Mise à niveau
- FAQ & Support
- Glossaire
- Note de l'auteur
- Roadmap
Architecture optimisée pour les PME, agence et indé.
- Base de données légère : LibreAnalytics utilise une base de données MySQL pour stocker les données de manière efficace, sans dépendre de solutions externes.
- Pas de frameworks lourds : Développé en PHP natif, sans dépendances inutiles, pour une maintenance simple et des performances maximales.
- Hébergement souverain : Less data center de nos partenaires sont tous situé en Européene. Nous migrerons otute nos données en France, à la fin de notre phaze beta test.
- Base de données MySQL : Stockage structuré et sécurisé des données (tables
user_sites,smart_pixel_tracking). - Authentification robuste : Gestion des sessions PHP, vérification des droits d’accès, protection contre les accès non autorisés.
- Génération de clés uniques :
tracking_codeetpublic_keyaléatoires pour chaque site, garantissant l’isolation des données. - Limitation des sites par plan : Logique de quota (ex: 1 site en gratuit, 10 en Pro), avec messages d’erreur clairs.
- Multi-sites : Gestion de plusieurs sites depuis un seul compte, avec bascule facile entre les tableaux de bord.
- Filtrage par période : 7 jours, 30 jours, 90 jours, 1 an.
- Statistiques en temps réel :
- Vues totales, visiteurs uniques, pages/session, temps moyen.
- Sources de trafic (Google, réseaux sociaux, direct, etc.).
- Géolocalisation (pays, villes).
- Appareils (mobile, desktop, tablette).
- Navigateurs (Chrome, Firefox, Safari, etc.).
- Visualisation des données :
- Graphiques interactifs (Chart.js, amCharts).
- Cartes géographiques des visiteurs.
- Tableaux de données détaillées (IP, pages visitées, horodatage).
- Insights automatisés :
- Analyse des tendances (ex: "+20% de trafic cette semaine").
- Recommandations d’amélioration (ex: "Votre taux de rebond est élevé, optimisez vos landing pages").
- Accès programmatique : Récupération des données via API (JSON/CSV), idéal pour les devs et les intégrations externes.
- Exemples d’utilisation :
- Intégration avec Google Data Studio, Excel, ou des dashboards custom (HTML/JS).
- Webhooks et notifications en temps réel (en développement).
- Design moderne et responsive : Sidebar rétractable, interface intuitive, dark mode.
- Code d’intégration simplifié : Un seul script à copier-coller dans le
<head>. - Gestion des limites : Messages clairs quand l’utilisateur atteint sa limite de sites/visites.
- Hébergement 100% français : Pas de dépendance aux GAFAM, conformité RGPD native.
- Anonymisation des IP : Respect de la vie privée.
- Pas de cookies intrusifs : Solution "no cookies" ou barre de consentement intégrée.
- Tracking en temps réel : Page views, sessions, utilisateurs uniques
- Géolocalisation : Pays et ville des visiteurs (via IP)
- Sources de trafic : Référents, campagnes UTM, médias sociaux
- Clics utilisateur : Tracking automatique des interactions, section, cta, etc.
- Données techniques : Viewport, user-agent, résolution
- Sessions : Identification unique par visite
- Formulaire : Page contact avec captcha fait maison ( aucun appel vers google captcha)
- rgpd cookie : barre des cookies
- Doc compléte : doc pour l'installation analytics + auto hebergé.
- Smart Assistant : recevez des insight actionnable et conseil SEO adapté à vos résultat.
- Toutes les fonctionnalité précedemment cité plus :
- Dashboard multi-sites : Gérer plusieurs sites par compte
- API : Accéder à vos données d'un simple appel API avec votre Key unique. ( 30 requetes / jour )
- Gratuit pour un dashboard
- Pro 10 Dashboard (~ 100 pages ) 9€/mois ou 90€/an
- License Droit d'exploitation et d'adaptation du logiciel à vos besoins ...€/an
- Inclure la barre des cookies dans le pixel id
- Rapport hebdomadaire : Les rapport fonctionne manuellement pour le moment, l'automatisation est en cours de dev.
- Export JSON/CSV : Données brutes pour traitement externe
- Webhooks : Notifications en temps réel
- Intégrations : ... wordpress / shopify ...
- Limites personnalisées : Plans selon le volume de données
Crée ton premier dashboard gratuitement
Bienvenue sur Libre Analytics, l'alternative française simple et respectueuse à Google Analytics. Ce guide vous aidera à installer, configurer et utiliser votre tableau de bord analytics dans son plein potentiel.
Rendez-vous sur https://gael-berru.com/LibreAnalytics/ et cliquez sur "CRÉER MON PREMIER DASHBOARD".
Vous aurez besoin de :
- Votre email
- Crée un mot de passe
- L'URL de votre site
✅ Le premier dashboard est gratuit.
Une fois connecté, votre tableau de bord affiche votre code d'intégration Ewemple :
<script data-sp-id="SP_24031987"
src="https://gael-berru.com/LibreAnalytics/smart_pixel_v2/public/tracker.js"
async>
</script>Copiez-collez cette ligne juste avant la balise </head> de votre site web.
Le script :
- Se charge en arrière-plan (async)
- Ne ralentit pas votre site (4KB seulement)
- Commence à tracker instantanément
Une fois connecté, votre tableau de bord se compose de plusieurs onglets :
- Visites totales : nombre de pages vues
- Visiteurs uniques : comptés par adresse IP
- Sources de trafic : d'où viennent vos visiteurs
- Évolution : graphique sur un an
- Carte interactive des pays visiteurs
- Top 10 des pays
- Villes principales
- Types d'appareils
- Naviguateur utilisé
- Pages consultées
- Sous domaine consultées ( parametre utm )
- Données de clics récentes
- Liste complète des dernières visites
- Adresses IP (anonymisées)
- Pages visitées
- Horodatage
- Ville
- Pays
- Analyse des Tendances
- Points d'améliorations
| Métrique | Définition |
|---|---|
| Visites | Nombre total de pages vues (un visiteur peut faire plusieurs visites) |
| Visiteurs uniques | Compté par adresse IP (approximatif, sans cookie) |
| Source | D'où vient le visiteur (Google, lien direct, réseau social) |
| Pages vues | Combien de pages ont été consultées |
- Direct : visiteur a tapé votre URL directement
- Google / Bing : vient d'un moteur de recherche
- Facebook / Twitter : vient d'un réseau social
- email : vient d'une campagne email
Les paramètres UTM vous permettent de tracer précisément vos campagnes marketing.
Ajoutez ces paramètres à vos URLs lors de partage ou backlink:
https://votre-site.fr?utm_source=facebook&utm_medium=social&utm_campaign=ete2026
utm_source: d'où vient le trafic (facebook, newsletter, google)utm_medium: le support (social, email, cpc)utm_campaign: nom de votre campagne (promo_ete, lancement)
👉 Ces données apparaîtront dans la colonne "Contenue" de votre tableau de bord.
Le plan gratuit vous permet de suivre 1 site. Pour ajouter un site :
- Dans la barre latérale, cliquez sur "Ajouter un site"
- Donnez un nom à votre site
- Entrez l'URL
- Récupérez le nouveau code de tracking
- Votre Api Key
Chaque site a son propre tracking code (ex: SP_24031987). Installez le code correspondant sur chaque site. Votre clef api est valable pour tout vos Tracking code.
URL d’exemple :
https://gael-berru.com/LibreAnalytics/smart_pixel_v2/public/api.php?site_id=SP_24031987&start_date=2026-01-01&end_date=2026-02-01&api_key=TON_TOKEN
fetch(`https://ton-domaine.com/smart_pixel_v2/public/api.php?site_id=SP_24031987&start_date=2026-01-01&end_date=2026-02-01&api_key=TON_TOKEN`)
.then(response => response.json())
.then(data => console.log(data));Alternative open-source à Google Analytics
- Un compte Libre Analytics (gratuit pour 1 site).
- Une clé API (disponible dans ton tableau de bord).
- Le code de tracking de ton site (ex:
SP_24031987).
- Connecte-toi à ton tableau de bord Libre Analytics.
- Clique sur "Parametre" dans le menu puis sur L'API et sa Documentation
- Dans la section "Clé API", clique sur l’icône pour copier ta clé.
- Ne partage jamais cette clé (elle donne accès à tes données).
- Retour au menu dans la section Code d'intégration
- Copie le code de tracking (ex:
SP_24031987).
L’URL de base pour accéder à tes données est :
https://gael-berru.com/LibreAnalytics/smart_pixel_v2/public/api.php
| Paramètre | Description | Exemple |
|---|---|---|
site_id |
Code de tracking de ton site. | SP_24031987 |
api_key |
Ta clé API (copiée plus tôt). | 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p |
| Paramètre | Description | Exemple | Défaut |
|---|---|---|---|
start_date |
Date de début (format AAAA-MM-JJ). |
2026-01-01 |
Il y a 7 jours |
end_date |
Date de fin (format AAAA-MM-JJ). |
2026-02-01 |
Aujourd’hui |
https://gael-berru.com/LibreAnalytics/smart_pixel_v2/public/api.php?
site_id=SP_24031987&
api_key=1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p&
start_date=2026-01-01&
end_date=2026-02-01
curl "https://gael-berru.com/LibreAnalytics/smart_pixel_v2/public/api.php?
site_id=SP_24031987&
api_key=1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p&
start_date=2026-01-01&
end_date=2026-02-01"const siteId = 'SP_24031987';
const apiKey = '1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p';
const startDate = '2026-01-01';
const endDate = '2026-02-01';
fetch(`https://gael-berru.com/LibreAnalytics/smart_pixel_v2/public/api.php?
site_id=${siteId}&
api_key=${apiKey}&
start_date=${startDate}&
end_date=${endDate}`)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erreur:', error));Voici à quoi ressemble une réponse typique :
{
"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_24031987",
"start_date": "2026-01-01",
"end_date": "2026-02-01",
"total_visits": 92,
"total_unique_visitors": 68
}
}| Champ | Description |
|---|---|
date |
Date des données (format AAAA-MM-JJ). |
visits |
Nombre total de visites. |
unique_visitors |
Nombre de visiteurs uniques (par IP). |
sessions |
Nombre de sessions. |
total_visits |
Somme des visites sur la période. |
- Exemple de requête SQL (pour les devs qui veulent self-hoster) :
-- Exemple de requête pour récupérer les stats par jour SELECT DATE(timestamp) as date, COUNT(*) as visits, COUNT(DISTINCT ip_address) as unique_visitors FROM smart_pixel_tracking WHERE site_id = 'SP_24031987' GROUP BY DATE(timestamp) ORDER BY date ASC;
- Intégration de l’API en Python :
import requests response = requests.get( "https://gael-berru.com/LibreAnalytics/smart_pixel_v2/public/api.php", params={ "site_id": "SP_24031987", "api_key": "VOTRE_CLE_API", "start_date": "2026-01-01", "end_date": "2026-02-01" } ) data = response.json() print(data["data"])
- Cas d’usage avancé :
- Comment utiliser vos données LibreAnalytics via l'api pour alimenter un bot Discord ou un script d’alertes (ex: "Si trafic > 1000 visites/jour, envoyer une alerte").
-
Crée une nouvelle source de données :
- Sélectionne "Connexion personnalisée" > "URL".
- Colle ton URL d’API.
-
Mappe les champs :
date→ Dimension (date).visits→ Métrique (nombre).
-
Crée un graphique :
- Sélectionne un graphique en lignes ou en barres.
- Ajoute
dateen axe X etvisitsen axe Y.
- Dans Excel :
- Va dans Données > À partir d’une source Web.
- Colle ton URL d’API.
- Dans Google Sheets :
- Utilise la formule
=IMPORTDATA():=IMPORTDATA("https://gael-berru.com/LibreAnalytics/smart_pixel_v2/public/api.php?site_id=SP_24031987&api_key=1a2b3c...")
- Utilise la formule
<!DOCTYPE html>
<html>
<head>
<title>Dashboard Smart Pixel</title>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
<h1>Dashboard pour les utilisateurs de <a href="https://gael-berru.com/smart_phpixel/">LibreAnalytics, l'analytics souverains"</a></h1>
<div id="status" class="loading">Chargement des données...</div>
<div class="chart-container">
<canvas id="visitsChart"></canvas>
</div>
<script>
const siteId = 'SP_ton_id'; // Remplace par ton vrai site_id
const apiKey = 'ton_api_key'; // Remplace par ta vraie api_key
const startDate = '2026-01-01';
const endDate = '2026-02-26';
// Remplace l'URL dans ton code JS par :
const proxyUrl = 'https://cors-anywhere.herokuapp.com/';
const url = `${proxyUrl}https://gael-berru.com/LibreAnalytics/smart_pixel_v2/public/api.php?
site_id=${encodeURIComponent(siteId)}&
api_key=${encodeURIComponent(apiKey)}&
start_date=${encodeURIComponent(startDate)}&
end_date=${encodeURIComponent(endDate)}`;
console.log("URL de l'API :", url); // Affiche l'URL dans la console
fetch(url)
.then(response => {
if (!response.ok) {
throw new Error(`Erreur HTTP : ${response.status}`);
}
return response.json();
})
.then(data => {
document.getElementById('status').textContent = "Données chargées avec succès !";
console.log("Données reçues :", data); // Affiche les données dans la console
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: labels,
datasets: [{
label: 'Visites',
data: visits,
borderColor: '#9d86ff',
backgroundColor: 'rgba(74, 107, 255, 0.1)',
tension: 0.3,
fill: true
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
scales: {
y: { beginAtZero: true }
}
}
});
})
.catch(error => {
console.error("Erreur :", error);
document.getElementById('status').textContent = `Erreur : ${error.message}`;
document.getElementById('status').className = "error";
});
</script>
</body>
</html>Ouvrir le template dasn codepen
| Code d’erreur | Cause probable | Solution |
|---|---|---|
400 |
Paramètres manquants (site_id ou api_key). |
Vérifie l’URL. |
403 |
Clé API ou code de tracking invalide. | Vérifie tes identifiants dans "Parametre". |
404 |
Site non trouvé. | Vérifie que le site_id est correct. |
500 |
Erreur serveur. | Contacte le support (avec le message d’erreur). |
Si ta clé API est compromise :
- Va dans "Parametre".
- Clique sur "Régénérer la clé API".
- Met à jour tes intégrations avec la nouvelle clé.
// Récupérer les données des 30 derniers jours
const today = new Date().toISOString().split('T')[0];
const startDate = new Date();
startDate.setDate(startDate.getDate() - 30);
const formattedStartDate = startDate.toISOString().split('T')[0];
fetch(`https://gael-berru.com/.../api.php?
site_id=SP_24031987&
api_key=1a2b3c...&
start_date=${formattedStartDate}&
end_date=${today}`)Modifie l’URL pour inclure des données géographiques :
https://gael-berru.com/.../api.php?
site_id=SP_24031987&
api_key=1a2b3c...&
group_by=country
(À implémenter côté serveur si besoin.)
- Problème technique ? Ouvre un ticket via le formulaire de contact.
- Idée d’amélioration ? Propose-la sur GitHub.
Tu peux maintenant : ✅ Exporter tes données vers Excel, Google Sheets, ou Data Studio. ✅ Créer des tableaux de bord personnalisés avec Chart.js. ✅ Automatiser tes rapports avec des scripts.
Besoin d’aide pour une intégration spécifique ? Contacte-nous ! 😊
Prochaine étape :
- Tester l’API avec ton site.
- Créer un tableau de bord custom.
- Partager tes feedbacks !
| Fonctionnalité | Gratuit | Pro (9€/mois) | Business (29€/mois) |
|---|---|---|---|
| Sites | 1 | 10 | 50 |
| Vues/mois | 1 000 | 100 000 | Illimité |
| Historique | 365 jours | 365 jours | 2 ans |
| API | ❌ | ✅ | ✅ |
| Support | Communauté | Prioritaire | Téléphone |
| Export données | ❌ | ✅ | ✅ |
- Allez dans l'onglet "Mise à niveau"
- Choisissez votre plan
- Renseignez votre email
- Paiement sécurisé via Lemon Squeezy
- Votre compte est mis à jour instantanément
Oui. Libre Analytics est hébergé en France. Aucune donnée n'est vendue à des tiers. Pas de GAFAM, pas de revente. Le code est open source.
Non. Le script fait 4KB et se charge en async. C'est 15 fois plus léger que Google Analytics.
365 jours pour tous les plans. Le plan Business passe à 2 ans.
Oui (plans payants). Format CSV ou JSON disponible dans l'onglet "Export".
Complètement. Le script inclut une gestion des cookies conforme. Les données IP sont anonymisables.
- 📧 Email : contact@gael-berru.com
- 💬 Discord : Rejoindre le serveur Gitingest ( à venir )
- 🐛 Signaler un bug : GitHub Issues
| Terme | Définition |
|---|---|
| Pixel | Image 1x1 transparente qui enregistre une visite |
| Tracking code ou Smart Pixel | Identifiant unique de votre site (ex: SP_24031987) |
| Session | Ensemble des actions d'un visiteur pendant une visite |
| Source | Origine du trafic (moteur, site, direct) |
| UTM | Paramètres d'URL pour tracer les campagnes |
| RGPD | Règlement européen sur la protection des données |
Document généré le 14 février 2026 - Version 1.0.1
Pour tendre vers la souveraineté total de nos données, je suis confronter à remplacer des outils gafam qu'il m'as fallu développer au fur et à mesure. Des tool tel que :
- L'API / en pur PHP et JavaScript
- System de Captcha / idem ( debug ec )
- Séquence email automatique / via cron et email() mais pour des raisons de limitaion journaliére je passerais sur SymfonyMailer ou PHPmailer qui sont des solution php native et souveraines.
- Hebergement propre dissocier de mon site ( apres la phaze beta test )
- Reorga de la structure interne à simplifier ( LibreAnalytics puis chaque dossier, pas de v2)
- Nom de domaine
- Mise en route du plan premium à 9€/mois, la license à ...€
- Config de lemonsqueezie comme moyen de paiement
- Developper l'api en ajoutant des appel à chaque table de la bdd
- Developper pixel pour récuperer plus de données, dans les limites RGPD.
- Recherche de partner...
berru-g 06/03/26

