Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

« Matomo/Drupal » : différence entre les versions

De AJLSM
Aller à la navigation Aller à la recherche
Page créée avec « = Intégration Matomo dans Drupal 10 = == Installation module == <syntaxhighlight lang="bash"> composer require drupal/matomo drush en matomo -y </syntaxhighlight> == ... »
 
Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 1 : Ligne 1 :
= Intégration Matomo dans Drupal =


= Intégration Matomo dans Drupal 10 =
== Objectif ==


== Installation module ==
Configurer le module Matomo de Drupal pour transmettre les statistiques de fréquentation vers un serveur Matomo.
 
Chaque application Drupal peut utiliser un identifiant de site Matomo distinct, même lorsque plusieurs applications partagent le même serveur Matomo.
 
== 1. Prérequis ==
 
* Matomo installé et accessible en HTTPS.
* Site déclaré dans l'administration Matomo.
* Identifiant Matomo du site connu.
* Drupal fonctionnel.
* Composer et Drush disponibles.
* Module Drupal Matomo compatible avec la version de Drupal utilisée.
 
== 2. Installation du module ==
 
Se placer dans le répertoire racine du projet Drupal, contenant `composer.json`.


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
composer require drupal/matomo
composer require drupal/matomo
drush en matomo -y
 
./vendor/bin/drush --root=web en matomo -y
./vendor/bin/drush --root=web cache:rebuild
</syntaxhighlight>
</syntaxhighlight>


== Configuration via Drush ==
'''Important :''' exécuter Composer avec le compte habituel de maintenance du projet Drupal, et non systématiquement sous `root` ou `www-data`.
 
Adapter `--root=web` si le document root du projet est différent.
 
== 3. Configuration de Matomo ==
 
=== Paramètres du projet ===
 
Définir les paramètres correspondant à l'application :


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
drush config:set matomo.settings site_id "1" -y
MATOMO_URL="https://matomo.exemple.fr/"
drush config:set matomo.settings url_http "http://matomo-recette.ajlsm.com/" -y
MATOMO_SITE_ID="1"
drush config:set matomo.settings url_https "http://matomo-recette.ajlsm.com/" -y
drush cr
</syntaxhighlight>
</syntaxhighlight>


== Vérification injection script ==
L'identifiant doit correspondre au site créé dans l'interface d'administration Matomo.
 
=== Configuration via Drush ===


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
curl -s http://ad64.pleade.com | grep -i matomo
./vendor/bin/drush --root=web config:set matomo.settings \
    site_id "$MATOMO_SITE_ID" -y
 
./vendor/bin/drush --root=web config:set matomo.settings
    url_http "$MATOMO_URL" -y
 
./vendor/bin/drush --root=web config:set matomo.settings
    url_https "$MATOMO_URL" -y
 
./vendor/bin/drush --root=web cache:rebuild
</syntaxhighlight>
 
Même si les paramètres portent les noms `url_http` et `url_https`, utiliser l'adresse HTTPS du serveur Matomo lorsque celle-ci est disponible.
 
== 4. Exclusion des pages d'administration ==
 
Il est généralement préférable de ne pas comptabiliser les consultations des pages d'administration Drupal dans les statistiques publiques.
 
=== Configuration standard ===
 
<syntaxhighlight lang="bash">
./vendor/bin/drush --root=web config:set matomo.settings \
    visibility.request_path_pages \
    $'/admin\n/admin/*\n/batch\n/node/add*\n/node/*/*\n/user/*/*' -y
 
./vendor/bin/drush --root=web cache:rebuild
</syntaxhighlight>
</syntaxhighlight>
Cette configuration exclut les chemins indiqués lorsque le mode d'exclusion est actif.
=== Vérification du mode d'exclusion ===
<syntaxhighlight lang="bash">
./vendor/bin/drush --root=web config:get matomo.settings \
    visibility.request_path_mode
</syntaxhighlight>
Sur les installations AD64 validées en octobre 2026, la valeur utilisée est `0`.
=== Cas des chemins d'administration renommés ===
Certains projets Drupal utilisent le module `rename_admin_paths` pour modifier les chemins d'administration.
Exemple AD64 :
* `/admin` devient `/bacad64`.
* `/user` devient `/arc-ad64`.
Dans ce cas, ajouter les chemins personnalisés à la liste d'exclusion.
<syntaxhighlight lang="bash">
./vendor/bin/drush --root=web config:set matomo.settings \
    visibility.request_path_pages \
    $'/admin\n/admin/*\n/bacad64\n/bacad64/*\n/batch\n/node/add*\n/node/*/*\n/user/*/*\n/arc-ad64\n/arc-ad64/*' -y
./vendor/bin/drush --root=web cache:rebuild
</syntaxhighlight>
'''Important :''' les chemins `/bacad64` et `/arc-ad64` sont propres à l'exemple AD64. Ils doivent être remplacés par les chemins réellement configurés sur chaque projet.
== 5. Gestion des utilisateurs et de la confidentialité ==
Le module Drupal Matomo propose plusieurs paramètres de visibilité et de confidentialité.
Vérifier les valeurs en vigueur :
<syntaxhighlight lang="bash">
./vendor/bin/drush --root=web config:get matomo.settings
</syntaxhighlight>
Paramètres notamment concernés :
* `visibility.user_account_mode`
* `visibility.user_role_mode`
* `visibility.user_role_roles`
* `privacy.donottrack`
* `privacy.disablecookies`
La documentation historique AJLSM utilisait notamment :
<syntaxhighlight lang="bash">
drush config:set matomo.settings visibility.user_account_mode 0 -y
drush config:set matomo.settings visibility.user_role_mode 0 -y
drush config:set matomo.settings privacy.donottrack false -y
</syntaxhighlight>
Ces valeurs ne doivent pas être réappliquées systématiquement.
Sur AD64, le paramètre `privacy.donottrack` était configuré à `true` lors de la vérification d'octobre 2026.
La politique de suivi, de cookies et de respect du signal Do Not Track doit être déterminée selon les exigences applicables au projet.
== 6. Recherche interne Drupal ==
Le module Matomo permet de suivre les recherches internes Drupal.
Activation, lorsque cette fonctionnalité est nécessaire :
<syntaxhighlight lang="bash">
./vendor/bin/drush --root=web config:set matomo.settings \
    track.site_search true -y
./vendor/bin/drush --root=web cache:rebuild
</syntaxhighlight>
'''Attention :''' l'activation de ce paramètre ne garantit pas à elle seule que toutes les recherches seront reconnues correctement. Vérifier le fonctionnement réel du moteur de recherche Drupal et les paramètres transmis à Matomo.
Voir [[Matomo/Recherche]].
== 7. Vérification de l'injection JavaScript ==
Définir l'URL publique de l'application Drupal :
<syntaxhighlight lang="bash">
DRUPAL_URL="https://drupal.exemple.fr/"
</syntaxhighlight>
Vérifier la présence du code de suivi :
<syntaxhighlight lang="bash">
curl -sSL "$DRUPAL_URL" \
    | grep -iE 'matomo.js|matomo.php|_paq|setSiteId'
</syntaxhighlight>
Vérifier que l'identifiant Matomo injecté correspond bien à celui du site Drupal concerné.
'''Important :''' cette vérification confirme uniquement la présence du code de suivi dans la page HTML. Elle ne prouve pas que Matomo reçoit les visites.
== 8. Vérification de la collecte réelle ==
=== Test navigateur ===
# Ouvrir le site Drupal dans un navigateur.
# Consulter plusieurs pages publiques.
# Éviter, pour ce test, une session d'administration Drupal.
# Vérifier l'apparition des visites dans Matomo.
Les bloqueurs de publicité, les paramètres de confidentialité du navigateur ou les restrictions réseau peuvent empêcher la collecte.
=== Vérification dans MariaDB ===
Sur le serveur Matomo, adapter le nom de la base et les identifiants des sites :
<syntaxhighlight lang="bash">
sudo mariadb -t -e "
SELECT
    idsite,
    COUNT(*) AS visites,
    MAX(visit_last_action_time) AS derniere_activite
FROM matomo.matomo_log_visit
WHERE idsite IN (2,3)
GROUP BY idsite;
"
</syntaxhighlight>
Cette requête permet de vérifier que des visites ont été enregistrées.
'''Attention :''' les identifiants `2` et `3` sont ceux de l'exemple AD64. Ils doivent être adaptés aux sites Matomo du projet.
== 9. Exemple : AD64 ==
En octobre 2026, les deux applications Drupal AD64 ont été configurées indépendamment.
{| class="wikitable"
! Application
! Répertoire Drupal
! Identifiant Matomo
|-
| Internet
| /home/ajlsm/drupals/internet
| 2
|-
| Salle de lecture
| /home/ajlsm/drupals/slecture
| 3
|}
Serveur Matomo commun :
<syntaxhighlight lang="text">
https://ad64-matomo.pleade.com/
</syntaxhighlight>
Les deux applications disposent :
* Du module Drupal Matomo activé.
* De leur propre identifiant Matomo.
* D'exclusions des chemins d'administration.
* D'une collecte vérifiée par consultation des données MariaDB.
L'application de préproduction n'a pas été configurée pour le suivi Matomo, celui-ci n'étant pas nécessaire à son utilisation.
== 10. Diagnostic ==
Si aucune visite n'apparaît dans Matomo :
# Vérifier l'identifiant du site Matomo.
# Vérifier les URL configurées dans Drupal.
# Vérifier la présence du JavaScript dans les pages publiques.
# Vérifier les requêtes réseau vers `matomo.php`.
# Vérifier les ACL HAProxy.
# Vérifier les éventuels bloqueurs ou restrictions de confidentialité.
# Vérifier les journaux Apache et les données MariaDB.
Voir [[Matomo/Debug]] et [[Matomo/HAProxy]].

Dernière version du 20 octobre 2026 à 10:30

Intégration Matomo dans Drupal

[modifier | modifier le wikicode]

Configurer le module Matomo de Drupal pour transmettre les statistiques de fréquentation vers un serveur Matomo.

Chaque application Drupal peut utiliser un identifiant de site Matomo distinct, même lorsque plusieurs applications partagent le même serveur Matomo.

  • Matomo installé et accessible en HTTPS.
  • Site déclaré dans l'administration Matomo.
  • Identifiant Matomo du site connu.
  • Drupal fonctionnel.
  • Composer et Drush disponibles.
  • Module Drupal Matomo compatible avec la version de Drupal utilisée.

2. Installation du module

[modifier | modifier le wikicode]

Se placer dans le répertoire racine du projet Drupal, contenant `composer.json`.

composer require drupal/matomo

./vendor/bin/drush --root=web en matomo -y
./vendor/bin/drush --root=web cache:rebuild

Important : exécuter Composer avec le compte habituel de maintenance du projet Drupal, et non systématiquement sous `root` ou `www-data`.

Adapter `--root=web` si le document root du projet est différent.

3. Configuration de Matomo

[modifier | modifier le wikicode]

Paramètres du projet

[modifier | modifier le wikicode]

Définir les paramètres correspondant à l'application :

MATOMO_URL="https://matomo.exemple.fr/"
MATOMO_SITE_ID="1"

L'identifiant doit correspondre au site créé dans l'interface d'administration Matomo.

Configuration via Drush

[modifier | modifier le wikicode]
./vendor/bin/drush --root=web config:set matomo.settings \
    site_id "$MATOMO_SITE_ID" -y

./vendor/bin/drush --root=web config:set matomo.settings 
    url_http "$MATOMO_URL" -y

./vendor/bin/drush --root=web config:set matomo.settings 
    url_https "$MATOMO_URL" -y

./vendor/bin/drush --root=web cache:rebuild

Même si les paramètres portent les noms `url_http` et `url_https`, utiliser l'adresse HTTPS du serveur Matomo lorsque celle-ci est disponible.

4. Exclusion des pages d'administration

[modifier | modifier le wikicode]

Il est généralement préférable de ne pas comptabiliser les consultations des pages d'administration Drupal dans les statistiques publiques.

Configuration standard

[modifier | modifier le wikicode]
./vendor/bin/drush --root=web config:set matomo.settings \
    visibility.request_path_pages \
    $'/admin\n/admin/*\n/batch\n/node/add*\n/node/*/*\n/user/*/*' -y

./vendor/bin/drush --root=web cache:rebuild

Cette configuration exclut les chemins indiqués lorsque le mode d'exclusion est actif.

Vérification du mode d'exclusion

[modifier | modifier le wikicode]
./vendor/bin/drush --root=web config:get matomo.settings \
    visibility.request_path_mode

Sur les installations AD64 validées en octobre 2026, la valeur utilisée est `0`.

Cas des chemins d'administration renommés

[modifier | modifier le wikicode]

Certains projets Drupal utilisent le module `rename_admin_paths` pour modifier les chemins d'administration.

Exemple AD64 :

  • `/admin` devient `/bacad64`.
  • `/user` devient `/arc-ad64`.

Dans ce cas, ajouter les chemins personnalisés à la liste d'exclusion.

./vendor/bin/drush --root=web config:set matomo.settings \
    visibility.request_path_pages \
    $'/admin\n/admin/*\n/bacad64\n/bacad64/*\n/batch\n/node/add*\n/node/*/*\n/user/*/*\n/arc-ad64\n/arc-ad64/*' -y

./vendor/bin/drush --root=web cache:rebuild

Important : les chemins `/bacad64` et `/arc-ad64` sont propres à l'exemple AD64. Ils doivent être remplacés par les chemins réellement configurés sur chaque projet.

5. Gestion des utilisateurs et de la confidentialité

[modifier | modifier le wikicode]

Le module Drupal Matomo propose plusieurs paramètres de visibilité et de confidentialité.

Vérifier les valeurs en vigueur :

./vendor/bin/drush --root=web config:get matomo.settings

Paramètres notamment concernés :

  • `visibility.user_account_mode`
  • `visibility.user_role_mode`
  • `visibility.user_role_roles`
  • `privacy.donottrack`
  • `privacy.disablecookies`

La documentation historique AJLSM utilisait notamment :

drush config:set matomo.settings visibility.user_account_mode 0 -y
drush config:set matomo.settings visibility.user_role_mode 0 -y
drush config:set matomo.settings privacy.donottrack false -y

Ces valeurs ne doivent pas être réappliquées systématiquement.

Sur AD64, le paramètre `privacy.donottrack` était configuré à `true` lors de la vérification d'octobre 2026.

La politique de suivi, de cookies et de respect du signal Do Not Track doit être déterminée selon les exigences applicables au projet.

6. Recherche interne Drupal

[modifier | modifier le wikicode]

Le module Matomo permet de suivre les recherches internes Drupal.

Activation, lorsque cette fonctionnalité est nécessaire :

./vendor/bin/drush --root=web config:set matomo.settings \
    track.site_search true -y

./vendor/bin/drush --root=web cache:rebuild

Attention : l'activation de ce paramètre ne garantit pas à elle seule que toutes les recherches seront reconnues correctement. Vérifier le fonctionnement réel du moteur de recherche Drupal et les paramètres transmis à Matomo.

Voir Matomo/Recherche.

7. Vérification de l'injection JavaScript

[modifier | modifier le wikicode]

Définir l'URL publique de l'application Drupal :

DRUPAL_URL="https://drupal.exemple.fr/"

Vérifier la présence du code de suivi :

curl -sSL "$DRUPAL_URL" \
    | grep -iE 'matomo.js|matomo.php|_paq|setSiteId'

Vérifier que l'identifiant Matomo injecté correspond bien à celui du site Drupal concerné.

Important : cette vérification confirme uniquement la présence du code de suivi dans la page HTML. Elle ne prouve pas que Matomo reçoit les visites.

8. Vérification de la collecte réelle

[modifier | modifier le wikicode]

Test navigateur

[modifier | modifier le wikicode]
  1. Ouvrir le site Drupal dans un navigateur.
  2. Consulter plusieurs pages publiques.
  3. Éviter, pour ce test, une session d'administration Drupal.
  4. Vérifier l'apparition des visites dans Matomo.

Les bloqueurs de publicité, les paramètres de confidentialité du navigateur ou les restrictions réseau peuvent empêcher la collecte.

Vérification dans MariaDB

[modifier | modifier le wikicode]

Sur le serveur Matomo, adapter le nom de la base et les identifiants des sites :

sudo mariadb -t -e "
SELECT
    idsite,
    COUNT(*) AS visites,
    MAX(visit_last_action_time) AS derniere_activite
FROM matomo.matomo_log_visit
WHERE idsite IN (2,3)
GROUP BY idsite;
"

Cette requête permet de vérifier que des visites ont été enregistrées.

Attention : les identifiants `2` et `3` sont ceux de l'exemple AD64. Ils doivent être adaptés aux sites Matomo du projet.

9. Exemple : AD64

[modifier | modifier le wikicode]

En octobre 2026, les deux applications Drupal AD64 ont été configurées indépendamment.

Application Répertoire Drupal Identifiant Matomo
Internet /home/ajlsm/drupals/internet 2
Salle de lecture /home/ajlsm/drupals/slecture 3

Serveur Matomo commun :

https://ad64-matomo.pleade.com/

Les deux applications disposent :

  • Du module Drupal Matomo activé.
  • De leur propre identifiant Matomo.
  • D'exclusions des chemins d'administration.
  • D'une collecte vérifiée par consultation des données MariaDB.

L'application de préproduction n'a pas été configurée pour le suivi Matomo, celui-ci n'étant pas nécessaire à son utilisation.

10. Diagnostic

[modifier | modifier le wikicode]

Si aucune visite n'apparaît dans Matomo :

  1. Vérifier l'identifiant du site Matomo.
  2. Vérifier les URL configurées dans Drupal.
  3. Vérifier la présence du JavaScript dans les pages publiques.
  4. Vérifier les requêtes réseau vers `matomo.php`.
  5. Vérifier les ACL HAProxy.
  6. Vérifier les éventuels bloqueurs ou restrictions de confidentialité.
  7. Vérifier les journaux Apache et les données MariaDB.

Voir Matomo/Debug et Matomo/HAProxy.