Premiers pas avec Matomo

 

Le 10 février dernier, la CNIL, saisie par l'ONG autrichienne de défense de la vie privée NOYB, a déclaré Google Analytics illégal. Les données collectées sont transférées et stockées aux Etats-Unis, à la merci des services de renseignements américains, et même si on anonyme celles-ci, l'adresse IP du visiteur fuite vers les serveurs Google. Ce qui n'est pas conforme au règlement général sur la protection des données (RGPD)

Il va falloir trouver un autre outil, qui lui n'entraĂ®ne pas de transfert hors de l'Union europĂ©enne. Et allez, après Maps et reCaptcha, encore un produit Google pour lequel il va falloir chercher une alternative ! Dire que j'avais passĂ© des heures Ă  mettre Ă  jour la balise Analytics vers le global site tag l'annĂ©e dernière…

Matomo, nouveau nom de Piwik (lui-mĂŞme fruit du renommage de PhpMyVisites), est un logiciel libre et open source de mesure de statistiques web. Vous avez le choix entre

  • l'offre cloud (payante, hĂ©bergĂ©e sur un data-center Ă  Francfort… qui se rĂ©vĂ©lerait en rĂ©alitĂ© un serveur Amazon Web Service, donc pas du tout conforme aux exigences de la CNIL !)
  • la version auto-hĂ©bergĂ©e (on parle de « on-premise »)

J'ai opté pour la deuxième solution, bien sûr.

Configuration requise

Un serveur d'hĂ©bergement (Apache, Nginx…) sur tout type d'OS, php 7.2.5 ou supĂ©rieur (8 recommandĂ©), MySQL 5.5 ou plus (ou MariaDB), 50 Mo d'espace disque. Les extensions pdo et pdo_mysql (ou mysqli) doivent ĂŞtre activĂ©es).

Son hébergeur ne doit pas être soumis à la légalisation US, ni ses sous-traitants.

L'hĂ©bergement mutualisĂ© proposĂ© par O2Switch coche toutes les cases. D'ailleurs, ils proposent mĂŞme l'installation assistĂ©e via Softaculous, qui vous permet de dĂ©ployer Matomo sans tĂ©lĂ©chargement…

Softaculous dans le cPanel

 

Vous le trouvez dans la catégorie Sondages et Analyses.

Matomo sur Softaculous

Mais comme j'aime vivre dangereusement, j'ai choisi l'option téléchargement et installation à l'ancienne !

Téléchargement

Via FTP

Télécharger Matomo à partir de cette page, sous la forme d'un fichier Zip de 19 Mo, à dézipper sur votre disque dur. On se retrouve avec une bon gros pavé de près de 10000 fichiers, pour un poids total de 49,7 Mo. A la racine, un sous-répertoire /matomo et un fichier How to install Matomo.html qui est un raccourci vers le guide d'installation sur le site officiel.

Le contenu du sous-rĂ©pertoire /matomo est Ă  uploader via FTP dans un rĂ©pertoire de votre serveur, que vous pourriez (par exemple) baptiser /analytics. Et, mĂŞme avec la fibre, vous avez le temps d'aller vous faire un petit cafĂ©…

En attendant la fin de l'upload, vous pouvez déjà :

  • crĂ©er votre base de donnĂ©es et son utilisateur (qui devra avoir tous les privilèges). Petit guide pour le faire sous O2Switch
  • crĂ©er un sous-domaine (Ă  moins que vous prĂ©fĂ©riez y accĂ©der via https://mondomaine/analytics/)
  • (si nĂ©cessaire) gĂ©nĂ©rer son certificat pour pouvoir y accĂ©der en HTTPS

En ligne de commande

Sinon, sous O2Switch vous pouvez également le faire en ligne de commande, et ça c'est non seulement très classe, mais aussi très rapide ! Direction le terminal. Placez-vous dans le répertoire de destination grâce à la commande cd (chez moi ce sera /sites/analytics/)

Ensuite, saisir cette commande

wget https://builds.matomo.org/matomo.zip && unzip matomo.zip

Matomo est dézippé dans un sous-répertoire /matomo. Ensuite, il n'y a plus qu'à supprimer le zip qui s'est téléchargé avec le fichier .html, et déplacer les fichiers de Matomo un cran plus haut.

Installation de Matomo en ligne de commande

Par contre, sous OVH, si j'essaie la mĂŞme manip j'ai droit Ă  quelques injures

wget https://builds.matomo.org/matomo.zip && unzip matomo.zip
pathconf: Valeur trop grande pour le type défini de données
pathconf: Valeur trop grande pour le type défini de données
--2022-04-22 09:02:57-- https://builds.matomo.org/matomo.zip
Résolution de builds.matomo.org (builds.matomo.org)… 185.31.40.177, 2a00:b6e0:1:200:177::1
Connexion à builds.matomo.org (builds.matomo.org)|185.31.40.177|:443… échec : Connexion refusée.
Connexion à builds.matomo.org (builds.matomo.org)|2a00:b6e0:1:200:177::1|:443… échec : Famille d'adresses non supportée par le protocole.

J'ai coupé la poire en deux : téléchargement et upload manuel du zip, dézippage en ligne de commande.

Installation

Bon, ouf, ça y est, tous les fichiers sont en ligne. Saisissir l'URL de l'outil dans votre navigateur. Qui dépend de ce que vous avez choisi : le sous-répertoire d'un de vos sites, ou un sous-domaine.

Matomo nous promet une installation en 5 minutes.

Accueil de l'installation de Matomo

D'abord, Matomo analyse le serveur sur lequel vous l'avez installĂ©. C'est un vĂ©ritable Ă©tat des lieux ! Au dĂ©but, tout va bien…

Vérification du système

Mais dès qu'on descend un peu plus bas dans le rapport, ça se complique… Certains fichiers n'ont pas la bonne taille, et la requĂŞte GET vers matomo.php a Ă©chouĂ©. On n'a pas ce souci quand on a rĂ©cupĂ©rĂ© et dĂ©zippĂ© l'archive en ligne de commande.

Vérification du système

Les diffĂ©rences de taille sont minimes, mais bon… Je rĂ©uploade plusieurs fois les fichiers en question (principalement des scripts situĂ©es dans /vendor/symfony/polyfill-iconv/Resources/charset), mais l'erreur est toujours lĂ .

Je ne suis pas sûre que mod_security ait quelque chose à voir avec le pare-feu ModSecurity. Et je ne peux pas redémarrer mon serveur web, je suis sur un mutualisé.

Bref, je passe à l'étape suivante : l'installation de la base de données. J'utilise les paramètres de la base que j'ai crée un peu plus tôt. Sous O2switch, le serveur de DB est localhost, ce sera différent chez un autre hébergeur. Par défaut, le préfixe de la base est matomo_, j'en choisis un autre.

Installation de la base de données

Ce qui m'inquiète un peu, c'est qu'entre chaque écran de l'assistant, un message en rouge s'affiche. Mais trop fugacement pour que j'arrive à en lire le moindre mot ! Pourtant, les 24 tables sont bien créées.

Tables créées

L'étape suivante consiste à définir le Super Utilisateur. Enfilez votre cape et choisissez un login (autre chose que admin) et un mot de passe (autre chose que hello123)

Super Utilisateur

On avance ! Etape suivante, dĂ©finir le premier site que vous allez monitorer : son nom, son URL, son fuseau horaire, si c'est un site de e-Commerce ou pas. Ici, c'est l'EncyclopĂ©die de l'Eurodance qui inaugure le bal. Ça tombe bien, c'est aussi mon site qui connaĂ®t le plus gros trafic…

Paramétrer un premier site

Il ne reste plus qu'à récupérer le tag javascript à coller sur chaque page du site en question (via un include, c'est plus rapide). A quel endroit ? Matomo conseille de le placer dans le head, de préférence immédiatement avant la balise fermante </head>

Code de suivi

Et voilà ! Un dernier écran vous souhaite la bienvenue dans la communauté Matomo, vous informe qu'il existe des produits et services supplémentaires (payants), nous conseille de configurer l'archivage via tâche planifiée pour améliorer les performances, et nous informe du paramétrage par défaut :

  • configurer automatiquement la gĂ©olocalisation Ă  l'aide d'une base de donnĂ©es dbip
  • activer la prise en charge du « Ne pas suivre » (une option qu'on peut activer au niveau du navigateur)
  • masquer partiellement les adresses IP des visiteurs

Bon, ça a quand même pris (un peu) plus que les 5 minutes initialement annoncées. Vous êtes redirigés vers le formulaire de login de Matomo.

Formulaire de login

Configuration

On arrive sur le tableau de bord de Matomo. Pour le moment, les graphiques sont un peu vides, mais c'est normal… On vient tout juste de configurer notre premier site…

Tableau de bord Matomo

Ajouter des sites

Bon, c'est bien gentil, mais moi j'ai pleiiiiin de sites à suivre. Alors direction Administration (via le menu de droite) et dans la première card, cliquer sur Ajouter un site. Chez Matomo, ça s'appelle un « élément mesurable » (c'est pas plus abscons que Google Analytics et ses « propriétés » et ses « vues »), car on peut également monitorer autre chose que des sites web.

Ajout de site internet

Vous allez pouvoir dĂ©finir les paramètres du 2e site web Ă  surveiller. Le formulaire est plus complet que celui du premier, il permet notamment de paramĂ©trer des adresses IP Ă  exclure (pour que vos visites ne viennent pas gonfler les stats), des paramètres et des user agents Ă  exclure…

Après avoir enregistré, le 2e site s'affiche dans la liste. Pour récupérer le code de tracking, il suffit de cliquer le lien Afficher le code situé sous « TYPE: Site »

Contrairement à Google analytics qui cache soigneusement la page permettant d'afficher la liste des tous les sites, on a un élément de menu Tous les sites web, bien pratique pour avoir la liste de ses listes.

La collecte des donnĂ©es commence tout de suite (dire qu'il y a quelques annĂ©es, avec Google analytics, il fallait attendre plusieurs jours…)

En revanche, je n'ai pas encore trouvé comment créer des groupes de sites (parce que je vais en avoir vraiment beaucoup à gérer).

 

Aller plus loin dans le RGPD-friendly

Alors certes Matomo est déjà super vertueux comparé à Google Analytics. Mais vous pouvez encore faire mieux. Direction les paramètres (roue crantée) > Vie privée > Désinscription des utilisateurs. Récupérez le code html qui se trouve dans le cadre gris foncé. Ce code affichera un iframe contenant un lien permettant à vos visiteurs de choisir de ne pas être suivis par Matomo en plaçant un cookie de désactivation dans leur navigateur web.

On peut paramĂ©trer la couleur de police, de fond (Ă  noter que transparent n'est pas une couleur valide), la police utilisĂ©e (enfin c'est limitĂ© Ă  un petit nombre de polices : Arial, Open Sans…). Seul souci Ă  première vue, pas de version anglaise proposĂ©e. Si en fait ! Il suffit de remplacer le « fr » par « en » dans le paramètre « &language= » du code de l'iframe.

Pour plus d'option de paramĂ©trage de cet iframe, vous pouvez utiliser le plugin Custom Opt Out. Je n'ai pas encore eu le temps de l'essayer…

Où placer cet iframe ? Par exemple sur votre page de Politique de confidentialité de votre site.

C'est tout ? Non ! Toutes les actions à entreprendre afin d'être exempté de recueil de consentement sont listées sur le site de la CNIL.

 

Conclusion

L'installation est effectivement facile, et très rapide si vous avez la chance d'avoir un hébergeur qui vous permet de le faire via la ligne de commande. A noter que, quand vous avez terminé de le configurer, Matomo conseille de réduire les droits d'accès au répertoire /config.

Première constatation : la géolocalisation n'est pas super précise : je suis sur Nantes mais la map me localise à Paris. Est-ce pour cela que l'on considère que la vie privée des utilisateurs est mieux respectée ?

Carte des visiteurs

Dans un premier temps, je conserve les deux codes : Matomo et Analytics, afin de tester et comparer. C'est tout Ă  fait possible de faire cohabiter deux tags de mesure.

Ah oui, au fait, j'ai déployé Matomo sur le même hébergement que celui des sites internet dont il mesure le trafic. C'est tout à fait possible, comme me l'a confirmé l'un de leurs techniciens.

Alors, est que c'est plus clair que Google Analytics (auquel, soyons francs, je ne pigeais pas grand-chose) ? Comment se passent les mises Ă  jour ? La suite dans un prochain article !

Karine SANCHE

Partager cet article