Oublié de modifier CSP lors de l'ajout du code de suivi via un composant personnalisé

J’ai essayé d’ajouter

dans </head>

<!-- Matomo - head -->
<script type="text/discourse-plugin" version="0.2">
    // Suivre les pages vues
    api.onPageChange((url, title) => {
        if (_paq) {
            try {
                var currentUser = PreloadStore.get('currentUser');
                _paq.push(['setCustomVariable', 3, 'Statut du forum', !currentUser ? 'Anonyme' : 'Utilisateur connecté', 'visit']);
            } catch(e) {}

            _paq.push(["setCustomUrl", url]);
            _paq.push(["setDocumentTitle", title]);
            _paq.push(["trackPageView"]);
        }
    });
</script>
<!-- /Matomo - head -->

puis dans </body>

<!-- Matomo -->
<script type="text/javascript">
  var _paq = window._paq = window._paq || [];
  /* Les méthodes de suivi comme "setCustomDimension" doivent être appelées avant "trackPageView" */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://stats.xxxxxxx.xxx/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '8']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- Fin du code Matomo -->

Et tout ce que j’obtiens, c’est que le code source HTML de la page ne contient que les commentaires HTML. Les balises <script> semblent avoir été supprimées.
Existe-t-il un paramètre de sécurité à activer pour autoriser les scripts dans ces zones ?

<!-- Matomo - head -->

<!-- /Matomo - head -->
[...]
<!-- Matomo -->

<!-- Fin du code Matomo -->

Merci pour votre aide

1 « J'aime »

Vous devriez utiliser ce script pour activer Matomo Analytics sur Discourse

1 « J'aime »

Merci, cela devrait résoudre mon problème actuel…

Mais ne devrait-il pas être possible d’injecter du JS personnalisé dans ces sections de toute façon ?

J’ai installé le composant et l’ai activé pour le thème « Défaut »… et cela ne semble pas fonctionner mieux :-/

1 « J'aime »

Avez-vous vérifié les journaux de votre navigateur ? Avez-vous ajouté l’hôte de votre script Matomo à la liste des paramètres de CSP ?

1 « J'aime »

Vous avez tout à fait raison… Je n’étais pas au courant d’un paramètre CSP…

C’est quelque chose dont les journaux du navigateur avertiront toujours, alors vérifiez-les systématiquement.

1 « J'aime »

Bonjour @Falco, je pense que je rencontre le même problème avec Matomo qui ne fonctionne pas avec Discourse. C’est ce que l’équipe de support de Matomo m’a indiqué lorsque j’ai ouvert un ticket sur leur GitHub : I opened a ticket on their github :

Support Matomo : « J’ai vérifié votre site web et la CSP configurée empêche le chargement de notre tracker. Vous devriez consulter Is the Matomo JavaScript Tracker CSP (Content Security Policy) compatible and how do I set it up? FAQ - General - Matomo Analytics Platform et vérifier comment cela peut être configuré dans votre environnement serveur. »

Je suis allé voir les journaux de Discourse (URL/logs) mais je n’ai rien trouvé de pertinent.

Mon Discourse est accessible à l’URL suivante : https://hec.fm
Et mon instance Matomo à : https://stats.hec.fm

J’avais cru avoir déjà modifié la CSP dans les paramètres pour que cela fonctionne, mais cela ne fonctionne toujours pas :

J’avais cru avoir suivi attentivement le tutoriel Script to enable Matomo analytics on Discourse, mais cela semble insuffisant.

Qu’est-ce que j’ai fait de mal ? :slightly_smiling_face:

Je vois que le script Matomo se charge correctement sur hec.fm, donc vous ne rencontrez pas de problème de CSP. Peut-être s’agit-il de quelque chose d’autre du côté de Matomo ?

De plus, les lignes situées sous https://stats.hec.fm/Matomo dans votre capture d’écran ci-dessus sont inutiles.

3 « J'aime »