Serveur PHP et tracker first-party réunis dans un même dépôt
Open Web Analytics (OWA) est un outil de mesure d'audience web open source, écrit en PHP, à installer sur son propre serveur. Son README le présente comme une alternative aux outils commerciaux comme Google Analytics, pour garder la main sur les données collectées. Le dépôt contient le serveur, qui range les données dans MySQL et affiche les rapports, et le tracker JavaScript first-party à ajouter aux pages. Pour WordPress, une extension officielle pose le suivi ; pour une application PHP, le projet publie un SDK.
Comme Matomo, OWA est une application PHP adossée à MySQL, mais ses cartes de clics et ses enregistrements de sessions sont dans le cœur, sous GPL, quand Matomo les vend en extension payante. PostHog enregistre aussi des sessions, mais son édition auto-hébergée tourne sous Docker Compose, sur une machine de 4 vCPU et 16 Go de RAM selon l'éditeur.
Le comparatif des outils d'analytics web auto-hébergés met le rythme des versions d'OWA en regard de ceux de Plausible et de PostHog.
Cartes de clics et rejeu de sessions livrés d'office
- Cartes de clics et Domstream : la carte de chaleur des clics et les enregistrements de sessions rejouables (Domstream) sont fournis par le serveur, sans module à ajouter.
- Rapports sur mesure : depuis la 1.13.0, chaque utilisateur peut assembler ses propres rapports avec les pièces des rapports intégrés, et la 1.14.0 permet de les partager.
- Origine du visiteur figée : la 1.14.0 enregistre sur chaque nouveau visiteur la source, le support, la campagne, l'annonce et les termes de recherche de sa première visite, qu'aucune campagne ultérieure n'écrase.
- Une instance, plusieurs sites : un seul serveur suit un nombre illimité de sites, avec plusieurs comptes utilisateurs.
- Tables partitionnées par date : depuis la 1.11.0, purger les anciennes données revient à supprimer une partition plutôt qu'à lancer un
DELETEsur des millions de lignes.
Tâche cron, cookie d'un an et versions par à-coups
OWA demande PHP, MySQL et une tâche cron. Il faut PHP 8.2 ou plus récent (testé jusqu'en 8.4) avec un pilote MySQL et l'extension mbstring, et MySQL 5.7 ou plus, MariaDB et Aurora compris. Le serveur web documenté est Apache 2.x ; sous nginx, les règles du .htaccess sont à traduire soi-même. Depuis la 1.11.0, une entrée cron lance le planificateur chaque minute : il faut pouvoir exécuter PHP en ligne de commande. L'archive packaged jointe à chaque release s'installe telle quelle ; depuis Git, il faut Composer et un build npm.
Le tracker pose par défaut un cookie visiteur d'un an. L'identifiant owa_v vaut 364 jours et se réécrit à chaque page vue. Depuis la 1.14.0, le snippet peut raccourcir cette durée ou passer tous les cookies en cookies de session. Le README justifie ce réglage par les exemptions de consentement, dont celle du droit néerlandais, qui supposent un faible impact sur la vie privée.
Les versions sortent par à-coups. Aucune n'est parue entre la 1.7.8 (janvier 2023) et la 1.7.9 (juin 2025). Cette dernière et la 1.8.0 corrigeaient des failles critiques qui permettaient, dans certains cas, de réinitialiser un mot de passe sans autorisation. Après la 1.8.1 (septembre 2025), dix versions ont suivi entre le 22 juillet et le 21 septembre 2026, de la 1.8.2 à la 1.14.0.
Les mises à jour touchent la base et les liens. Les quatre dernières versions modifient le schéma de la base (php cli.php cmd=update). La 1.13.0 a changé les URL des rapports sans redirection : un ancien favori répond 404. Elle prépare une branche 2.0 qui retirera les interfaces dépréciées listées dans UPGRADING.md, dont dépendent modules tiers, surcharges de gabarits et thèmes maison.
Les intégrations n'ont pas suivi le serveur. L'extension WordPress officielle en est à la 2.1.5, testée jusqu'à WordPress 6.0, et sa dernière mise à jour date du 6 décembre 2022. Le dépôt de l'extension MediaWiki n'a reçu aucun commit depuis avril 2020.
