Matomo

Comment installer Matomo pour avoir les statistiques de votre site en local. Adieu Google analytics !

Matomo

Bonjour,

Un des points que je m’étais fixé en passant sous docker c’était d’essayer de diminuer la dépendance à des services externes si c’est réalisable avec mon petit niveau. J’ai commencé avec Google analytic qui est utilisé pour le suivi des visiteurs sur le site pour avoir les stats. A la place je me suis tourné vers Matomo, qui est l’un des trackers qui est recommandé par la CNIL. Ce n’est pas pour ça que je l’ai choisi mais parcequ’il est open source et les critiques que j’ai pu lire sont très bonnes. Je cherche une solution qui est simple, qui traite les données en local et qui me donne des statistiques basiques, pas besoin de trucs super méga fashion, ça ne me sert à rien. D’où Matomo.

Prérequis:
Serveur sous Ubuntu ou autre.
Docker & Docker compose installés.
Traefik installé avec deux networks : frontend (web) et backend (privé).
Une base de donnée sous docker installée (pour moi MariaDB).

Pour l’installation, c’est d’une simplicité extrême avec Docker, ça ressemble à quelque chose comme ça (à adapter suivant votre installation) dans mon fichier docker-compose (à noter qu’il est dans le même fichier stack que mon wordpress, ça me permet de faire un tout en un pour le site web):

version: "3.5"
# Matomo : Web site analytics instead of google / No external data-servers
# https://hub.docker.com/_/matomo
services:
  matomo:
  image: matomo:latest
  depends_on:
    - votredatabase
  restart: unless-stopped
  container_name: matomo
  networks:
    - frontend
    - backend
  volumes:
    - ./matomo:/var/www/html
    # Install our own php.ini, which can be customized.
    - ./php.ini:/usr/local/etc/php/php.ini
  environment:
    MATOMO_DATABASE_HOST: votredatabase:3306
    MATOMO_DATABASE_TABLES_PREFIX: leprefixe_
    MATOMO_DATABASE_USERNAME: userdatabase
    MATOMO_DATABASE_PASSWORD: passdatabase
    MATOMO_DATABASE_DBNAME: namedatabase
  TZ: Europe/Paris
  labels:
    - "traefik.docker.network=frontend"
    - "traefik.enable=true"
    - "traefik.frontend.rule=Host:votresiteweb; PathPrefixStrip:/analytics/"
    - "traefik.port=80"
    - "traefik.protocol=http"
    - "traefik.backend=matomo"

networks:
  frontend:
    external: true
  backend:
    external: true

Une fois que c’est fait ou ajouté à votre fichier docker compose, il suffit de lancer le classique :

docker-compose up -d

Ensuite vous vous rendez sur votre site à cette adresse : votresiteweb/analytics/ (pensez bien au / à la fin).

Vous allez arriver sur la page de configuration de Matomo. Bon la c’est très simple, si vous avez bien rempli votre fichier docker-compose, tout est déjà pré-rempli, il faudra juste choisir un login/password pour le superuser. La configuration de base est bonne (et protège la vie privée), vous allez récupérer le script de suivi javascript à insérer suivant votre thème wordpress dans votre header ou votre onglet analytics si vous en avez un (c’est le cas pour moi).

En allant gratter ensuite dans les options, vous allez pouvoir très facilement choisir d’anonymiser les données : IP, ID utilisateur, suppression des données après un certain temps, mise en place de la désinscription des utilisateurs pour les cookies, en gros tout ce que demande le RGPD. C’est excellent, super rapide et simple à mettre en place, j’aurais du m’y mettre plus tôt !

Voici au final ce que vous allez avoir dans votre tableau de bord:

Et si vous cliquez sur une personne en particulier, voici le niveau de détail que vous pouvez obtenir. On voit bien que les deux derniers bits de votre adresse IP sont anonymisés, de même pour votre ID, c’est juste un numéro. Ca permet d’avoir la précision et les données suffisantes pour vos statistiques, il n’y a pas besoin de plus.

Et voila, maintenant on a un serveur de statistiques qui traite les données en local et qui bien configuré respecte les recommandations de la CNIL sur le suivi des cookies et vous aide pour le RGPD. Cool !

@+