Mesurer son audience avec ses logs d’accès et Matomo

tbowan

26 mai 2020

Mesurer l’audience de son site web sans javascrit? c’est possible via ses journaux d’accès! Aujourd’hui, on vous montre comment les utiliser avec Matomo.

Pour mesurer l’audience de notre application, nous avons installé Matomo. Après avoir préparé notre système, installé les fichiers et configuré Matamo, est venue la question d’insérer un tracker en javascript…

Comme vous vous en doutez, on est pas fan de ces méthodes intrusives et on a donc royalement snobé cette étape de l’installation. Problème, aucune mesure statistique ne remonte et notre tableau de bord était donc désespérément vide…

Utiliser les traces, illustration de ddzphoto

Pour le remplir, nous avons donc utilisé l’autre méthode proposée par Matomo : utiliser les traces laissées par les visiteurs, en lisant les journaux d’accès au serveur. C’est ce qu’on va vous montrer aujourd’hui…

Les journaux d’accès

Pour nos chers lecteurs qui ne voient pas de quoi il s’agit, les serveurs web (apache, IIS, nginx, …) fournissent un journal des accès. Comme ses homologues, journaux intimes ou journaux de bords, il s’agit d’un document qui liste tous les faits marquants au fur et à mesure qu’ils se produisent.

Contrairement aux journaux intimes, les machines n’ayant pas de sensibilité artistique ou philosophique, ces journaux sont froids et sans vie.

Ainsi, chaque fois qu’un visiteur demande un accès à une ressource de votre application web, le serveur va journaliser cette demande et sa réponse (en tout cas, son statut et sa taille). Ce fichier contenant toute l’activité sur votre site web, on peut l’utiliser pour construire des statistiques de visites (i.e. avec goaccess qui est conçu pour ça).

Ces journaux contenant l’adresse IP du visiteurs, ils sont couverts par le RGPD, vous devrez les anonymiser pour vous en servir pour mesurer votre audience.

Suivant le serveur et le système sur lequel il fonctionne, ces fichiers sont enregistrés dans des répertoires différents :

Si vous utilisez les services d’un hébergeur tiers, il faudra voir avec lui quelle est son interface pour lire et récupérer ces fichiers (i.e. comment les récupérer chez kimsufi).

Pour la suite, je vais partir du principe que vos journaux sont disponibles depuis le serveur sur lequel vous avez installé Matomo. Que vous l’installiez directement sur votre serveur web, ou que vous rapatriez les journaux avec une tâche planifiée.

Envoyer les journaux à Matomo

Maintenant que les journaux sont disponibles, il faut les envoyer à Matomo pour qu’il les lise, mette à jour sa base de données et produise les rapports d’audience. Les grandes lignes sont décrites dans la documentation officielle.

Obtenir l’ID du site

Comme Matomo est conçu pour mesurer l’audience de plusieurs sites, vous allez avoir besoin de l’identifiant du site correspondant à vos journaux.

Cette information vous est montrée lorsque vous configurez un nouveau site mais si vous ne l’avez pas notée, vous pouvez la retrouver via les menus d’administration.

Pour voir l’ID du site, vous devez vous rendre dans l’interface d’administration de Matomo, via le menu en haut à droite (icône de roue crantée si votre écran est large, ou simplement « Administration » sinon). Ensuite, via le menu à droite, cherchez la section « Sites web » et cliquez sur « Gérer ». Vous obtiendrez alors la liste des sites mesurés avec, sous le nom du site, l’ID.

Liste des site web gérés

Intégrer les logs

Avec les journaux d’accès et l’ID du site, nous allons pouvoir utiliser le script officiel conçu pour envoyer vos journaux dans matomo.

Notez que ce script est développé en python 2, ce qui peut poser problème si votre serveur préfère python 3…

Le script dispose d’une aide (via l’argument --help ou sa page sur github), comme je l’utilise en local, je n’ai pas besoin de beaucoup d’options :

sudo -u www-data \
    /var/www/matomo/misc/log-analytics/import_logs.py \
        --url=https://votredomaine \
        --idsite=1 \
        --enable-static \
        access.log

Le sudo est facultatif mais bien pratique. Sans lui, je devrais fournir un nom d’utilisateur et un mot de passe (dans les arguments 😢) pour que le script se connecte à Matomo. Avec sudo, le script n’a pas besoin de ces identifiants et va chercher un token dans les fichiers. Et pour éviter d’utiliser les droits de l’administrateur lorsque ça n’est pas nécessaire, j’utilise -u www-data pour n’utiliser que les droits du serveur web.

Archivage des mesures

Une fois les logs insérés dans la base, Matomo doit encore les archiver. D’habitude, il le fait au fil de l’eau lorsque vous visualisez les pages de statistiques. Pour les petits sites, ou si vous visualisez vos statistiques très souvent, le processus est rapide et personne ne s’en rend compte.

Avec nos journaux, ça ne marche plus aussi bien. Les journaux contenant beaucoup d’événements insérés en une seule fois, l’archivage est long. Croyez-moi, ça se ressent et c’est plutôt pénible de devoir attendre bêtement pour avoir le tableau de bord.

Heureusement, vous pouvez déclencher ce processus directement en ligne de commande. En le faisant juste après l’import, Matomo n’aura plus besoin de le faire lors de vos visites. Le script correspondant a plein d’options mais une seule est nécessaire dans notre cas :

sudo -u www-data \
    /var/www/matomo/console core:archive \
        --url='https://votredomaine'

Et puisqu’on lance l’archivage nous-même, on va configurer Matomo pour ne plus déclencher le processus lorsqu’on regarde ses statistiques. Pour ça, on va dans le menu d’administration puis dans la section « Système » on clique sur « Paramètres généraux ».

archive

Et après ?

Si, comme nous, vous souhaitez avoir une vue de votre audience tout en respectant la vie privée de vos visiteurs, on vous suggère les articles suivants…

Installer Matomo

11 mai 2020 Mesurer l’audience de son site web en restant éthique? c’est possible! Aujourd’hui, on aborde Matomo, une des solutions proposée par la CNIL.

Configurer HTTPS pour Matomo

15 Juin 2020 Obligatoire si vous utilisez le traceur javascript, recommandé quoi qu’il arrive, voici comment sécuriser la communication avec Matomo via HTTPS, oui, c’est encore une histoire de certificats…

Anonymiser les adresses IP pour faire des statistiques

23 Mars 2020 Je ne sais pas vous, mais moi, j’adore faire des statistiques. Le problème, c’est lorsqu’on traite de données personnelles. Aujourd’hui, je vais vous expliquer pourquoi et comment anonymiser ces adresses.

Statistiques web éthiques avec Goaccess

20 Avril 2020 Ce n’est pas parce qu’on veut mesurer son audience qu’on doit forcément utiliser des méthodes intrusives et peu respectueuse des visiteurs. Aujourd’hui on vous montre une solution avec goaccess.