Développement #31778
intégration matomo
0%
Description
Nouveau plan noté dans #19743 :
- dans hobo un écran de configuration "statistiques de visite", qui contiendrait
- deux boutons, un bouton pour la configuration automatique et un bouton pour ouvrir la configuration manuelle
- la configiruation manuelle c'est une case à cocher "suivi des recommandations CNIL" et un textarea pour copier/coller du js
- pour accompagner ça un ou deux paragraphes pour rappeler un peu les règles CNIL, peut-être expliciter qu'ainsi il n'y a rien à consentir et donc pas de bandeau, et un lien vers le site de la cnil.
- évidemment quand dans le js il y a une référence google, ça désactive la case "suivi des recommandations CNIL"
- tout ça pose simplement cnil_compliant_visits_tracking_js ou visits_tracking_js.
- le clic sur le bouton "configuration automatique", il fait des appels à l'API de piwik/matomo
- SitesManager.addSite(siteName, urls = '', etc.) (https://developer.matomo.org/api-reference/reporting-api#SitesManager)
- UsersManager.addUser(userLogin, password, email, initialIdSite='')
- en userlogin le nom du tenant, en password un truc généré à la volée, en email il faut vérifier si ça doit être unique ou pas, mais genre ça peut être (noreply+whatever@entrouvert.com), en initiialIdSite ce qu'on aura reçu à l'appel précédent
- on stocke le site id et le mot de passe (dans des variables hobo)
- on tape dans cnil_compliant_visits_tracking_js le js de suivi, qu'on peut obtenir via SitesManager.getJavascriptTag(...)
- quand on a site id et mot de passe, on peut utiliser l'action logme pour taper sur la page un lien emmenant directement l'utilisateur sur le piwik (cf https://matomo.org/faq/how-to/faq_30/)
- ainsi on n'a pas besoin de communiquer d'identifiant ou de mot de passe
- évidemment il y a des gens qui n'ont pas accès à hobo qui voudront également aller sur le piwik, là comme réponse c'est que ce lien, il peut être posé dans une cellule sur le portail agent.
Files
Related issues
Associated revisions
matomo: manage matomo's webservices (#31778)
matomo: views form manual and automatic configuration (#31778)
matomo: french translation (#31778)
History
Updated by Nicolas Roche about 6 years ago
- File 0001-matomo-correct-README-file-19743.patch added
- File 0002-matomo-manage-matomo-s-webservices-19743.patch added
- File 0003-matomo-views-form-manual-and-automatic-configuration.patch added
- File 0004-matomo-french-translation-19743.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
Attention aujourd'hui on peut avoir
- soit une variable 'cnil_compliant_visits_tracking_js'
- soit une variable 'visits_tracking_js' (dans le cas Google, et ça provoquera l'affichage d'un bandeau de consentement).
donc ranger le JS dans une variable ou l'autre suivant son contenu (merci Sergheï)
J'ai fait simple :
- si on utilise la configuration matomo automatique, alors on perd la précédente configuration matomo manuelle, et inversement.
- si on utilise la configuration matomo automatique, alors on perd le précédent contenu des variables 'visits_tracking_js'
et 'cnil_compliant_visits_tracking_js' (ces variables auraient pu être positionnées précédemment via l'IHM : Système > Variables)
Remarque: (dans ce second cas) si on perd le contenu de 'visits_tracking_js' alors elle disparaît de l'IHM (Système > Variables).
Par contre ce n'est pas le cas pour 'cnil_compliant_visits_tracking_js' qui reste accessible avec son nouveau contenu.
(je n'ai pas encore compris ce qui fait que les variables sont visibles dans l'IHM)
Remarque: si on supprime le site à la main dans matomo, mais pas l'utilisateur,
alors 'disable' puis 'enable-auto' via hobo ne re-positionne pas les droits d'accès de l'utilisateur.
Si besoin je peux appeler le webservice 'setUserAccess' pour corriger automatiquement les droits de l'utilisateur.
Vos remarques sont plus que les bienvenues.
Updated by Nicolas Roche about 6 years ago
- File deleted (
0001-matomo-correct-README-file-19743.patch)
Updated by Nicolas Roche about 6 years ago
- File deleted (
0002-matomo-manage-matomo-s-webservices-19743.patch)
Updated by Nicolas Roche about 6 years ago
- File deleted (
0003-matomo-views-form-manual-and-automatic-configuration.patch)
Updated by Nicolas Roche about 6 years ago
- File deleted (
0004-matomo-french-translation-19743.patch)
Updated by Nicolas Roche about 6 years ago
- File 0001-matomo-correct-README-file-31778.patch 0001-matomo-correct-README-file-31778.patch added
- File 0002-matomo-manage-matomo-s-webservices-31778.patch 0002-matomo-manage-matomo-s-webservices-31778.patch added
- File 0003-matomo-views-form-manual-and-automatic-configuration.patch 0003-matomo-views-form-manual-and-automatic-configuration.patch added
- File 0004-matomo-french-translation-31778.patch 0004-matomo-french-translation-31778.patch added
(oups: correction du numéro de ticket)
Updated by Frédéric Péters about 6 years ago
Rapidement en testant.
S'il n'y a pas de config définie pour Matomo, ne pas exposer le bouton "automatique" (qui ne va pas fonctionner).
Dans le menu sur l'accueil le libellé est toujours "Matomo", il faudrait là aussi que ça soit "User tracking".
Dans le settings.py, il faut garder la partie execfile(local_settings_file) en dernier, pour permettre à la configuration de passer au-dessus des valeurs par défaut.
Comme on a une bonne valeur par défaut, on peut lui faire confiance, et faire settings.MATOMO_SERVER plutôt que passer par getattr().
Le code js inséré contient <!-- Matomo --> et <!-- End Matomo Code --> qui ne sont pas ok pour du js.
L'affichage de "Automatic mode" sans autre forme de procès est curieuse; une fois configuré je ferais disparaitre l'encart de description Matomo; j'afficherais juste (en infonotice également) le "Automatic mode" (en premier, avec le "excellent respect" dessous). Et pareil pour le mode manuel.
Updated by Nicolas Roche about 6 years ago
- File 0002-matomo-manage-matomo-s-webservices-31778.patch 0002-matomo-manage-matomo-s-webservices-31778.patch added
- File 0003-matomo-views-form-manual-and-automatic-configuration.patch 0003-matomo-views-form-manual-and-automatic-configuration.patch added
merci pour les remarques.
Updated by Frédéric Péters about 6 years ago
J'ai poussé deux commits d'ajustements dans la branche,
- pour réagencer/reformuler un peu les textes d'explication et libellés; (ce qui va demander ajustement à la traduction)
- pour traduire un bout de js.
Le truc supplémentaire que je verrais bien, mais disons qu'on se le garde pour un ticket plus tard, c'est améliorer le compute_cnil_acknowledgment_level, pour 1) retourner "unknown" quand on n'a pas trop d'idée, 2) détecter d'autres hostiles (mais à part GL où à un moment il a été question de xiti, je n'ai pas de liste).
Voilà, si ça te va tu peux prendre mes deux commits et les intégrer dans les tiens (git rebase -i, fixup) et il me semble que ça sera bon.
Updated by Nicolas Roche about 6 years ago
- File 0002-matomo-manage-matomo-s-webservices-31778.patch 0002-matomo-manage-matomo-s-webservices-31778.patch added
- File 0003-matomo-views-form-manual-and-automatic-configuration.patch 0003-matomo-views-form-manual-and-automatic-configuration.patch added
Merci Fred, j'ai intégré tes corrections.
Par contre, je n'ai pas réussi à re-faire les traductions.
Pourtant il me semble bien que c'est cette commande que j'avais exécuté dernièrement ?
(elle ne marche pas non plus sur master)
$ django-admin makemessages -l fr CommandError: Unable to find a locale path to store translations for file build/scripts-2.7/manage.py
Updated by Frédéric Péters about 6 years ago
Alors perso, je vais dans le hobo/ avec les sources et je fais ../manage.py makemessages -l fr.
Updated by Nicolas Roche about 6 years ago
merci. Voici les traductions.
Updated by Frédéric Péters about 6 years ago
- Status changed from Solution proposée to Solution validée
J'ai ajouté un commit d'ajustement de la traduction, pour moi tu peux l'intégrer dans le tien puis mettre le tout sur master et pousser.
Updated by Nicolas Roche about 6 years ago
- File 0004-matomo-french-translation-31778.patch 0004-matomo-french-translation-31778.patch added
- Status changed from Solution validée to Solution proposée
Content que ça convienne !
Je ne vais pas pousser tout de suite : je vais demander l'avis de Thomas
et tester sur piwik (la version actuellement en prod).
Updated by Frédéric Péters about 6 years ago
Je l'ai compté dans l'annonce des mises à jour de la prochaine version, si on reporte, je retire, pas de soucis.
et tester sur piwik (la version actuellement en prod).
Pas particulièrement utile, ce qu'il faut maintenant c'est avoir matomo en prod (je viens de faire #32017).
Updated by Frédéric Péters about 6 years ago
Je l'ai compté dans l'annonce des mises à jour de la prochaine version, si on reporte, je retire, pas de soucis.
Et à réfléchir je vais attendre qu'on ait un matomo de prod pour annoncer ça.
Updated by Nicolas Roche about 6 years ago
- Status changed from Solution proposée to En cours
Remarques de Thomas (merci) :
- déduire 'matomo_enable' via la présence d'une des 2 variables [cnil_compliant_]visits_tracking_js
(permet d'assurer la compatibilité avec les configurations existantes)
- stocker toute l'url de connexion 'matomo_logme_url' (à la place du passwd) afin de la diffuser à combo
- déduire 'matomo_mode' de la présence de l'url de connexion
- retirer la variable hobo 'matomo_error' et passer l'erreur via les messages Django
Updated by Nicolas Roche about 6 years ago
- File 0002-matomo-manage-matomo-s-webservices-31778.patch 0002-matomo-manage-matomo-s-webservices-31778.patch added
- File 0003-matomo-views-form-manual-and-automatic-configuration.patch 0003-matomo-views-form-manual-and-automatic-configuration.patch added
- Status changed from En cours to Solution proposée
J'ai utilisé le contenu '/* Put your JavaScript code here */'
dans la variable '..._tracking_js' pour que ma vue bascule en mode automatique.
J'aurais peut-être dû utiliser une variable de session par exemple, pour ne pas alourdir l'IHM.
Dites-moi...
Updated by Nicolas Roche about 6 years ago
- File 0002-matomo-manage-matomo-s-webservices-31778.patch 0002-matomo-manage-matomo-s-webservices-31778.patch added
- File 0003-matomo-views-form-manual-and-automatic-configuration.patch 0003-matomo-views-form-manual-and-automatic-configuration.patch added
J'ai finalement ajouté un model pour gérer proprement l'entrée dans la configuration manuelle évoquée ci-dessus.
Updated by Nicolas Roche about 6 years ago
- File 0002-matomo-manage-matomo-s-webservices-31778.patch 0002-matomo-manage-matomo-s-webservices-31778.patch added
- File 0003-matomo-views-form-manual-and-automatic-configuration.patch 0003-matomo-views-form-manual-and-automatic-configuration.patch added
Désolé, les 2 patchs ci-dessus ne passaient pas les tests (et étaient mauvais).
Voici donc la solution envisagée avec un modèle.
Cela dit, je réalise que je peux également fournir une solution qui n'oblige pas à créer de table en base
en utilisant les vues : je n'avais pas pensé à utiliser le même template pour 2 vues différentes.
Updated by Nicolas Roche about 6 years ago
- File 0002-matomo-manage-matomo-s-webservices-31778.patch 0002-matomo-manage-matomo-s-webservices-31778.patch added
- File 0003-matomo-views-form-manual-and-automatic-configuration.patch 0003-matomo-views-form-manual-and-automatic-configuration.patch added
Voici la solution avec les vues.
Updated by Frédéric Péters about 6 years ago
Je ne pige pas trop; il y a une nouvelle vue "enabling", mais de l'accueil de hobo, on va toujours sur le matomo/.
De ce patch je ne vois pas quel pouvait être le problème et comment cette vue change quoique ce soit. ?
Updated by Frédéric Péters about 6 years ago
Dans un commentaire ici, il faudrait que tu décrives les différentes situations que la page matomo/ peut rencontrer, et pour chacune ce qu'elle doit afficher, façon :
- aucune variable définie : boutons pour activer (automatiquement ou pas)
- un tracking_js défini : ...
- un cnil_compliant_tracking_js
- dont on reconnait le contenu (genre le js contient ~ MATOMO_SERVER['url']) : ...
- dont on ne reconnait pas le contenu : ...
- etc.
Updated by Nicolas Roche about 6 years ago
- Excellent: on detecte la fonction de gestion des cookie préconisée par la CNIL
- Bon: on ne détecte pas 'google'
- Mauvais: on détecte 'google'
Si le niveau est Bon ou Excellent : on stocke le code Javascript dans 'cnil_compliant_tracking_js' et donc on l'expose en l'état sur les front-ends.
Si le niveau est Mauvais : on le stocke le JS dans 'tracking_js', ce qui a pour effet d'afficher un bandeau à l'utilisateur afin qu'il accepte le code JS. S'il ne l'accepte pas, alors le code n'est pas ajouté aux pages front-ends.
Etant données ces 3 pseudo variables,WS
: settings.json est configuré pour permettre d'administrer un serveur matomoENABLED
: concatenation de 'tracking_js' + 'cnil_compliant_tracking_js' non videMODE_AUTO
: présence d'une url de login Matomo pour le client
voici le comportement de la vue principale :
ENABLED WS AUTO non ? ? -> topo sur les outils de mesure d'audiance affiche 'Support is currently disabled.' présence du bouton: 'Manual Configuration' non non ? -> informe que Matomo est recommandé par la CNIL non oui ? -> informe que l'on peut configurer Matomo deuxième bouton: 'Automatic Configuration' oui ? ? -> présence du bouton 'Disable' affiche un niveau de respect des droits de l'usager oui ? non -> affiche 'Manual Configuration.' affiche le formulaire pour remplir le code Javascript oui ? oui -> deuxième bouton 'Open visit tracking dashboard' affiche 'Automatic Configuration.'
Le 3 derniers patchs proposent différentes solutions au problème suivant :
Proposer le formulaire pour remplir le code Javascript lorsque l'on valide, après avoir appuyé sur le bouton 'Manual Configuration'. (ie: ENABLED
reste à 'non' tant qu'aucun code Javascript n'est ajouté)
Updated by Frédéric Péters about 6 years ago
Parfait je vois; solution : dans la page d'activation du mode "manuel", déjà demander le js.
Updated by Nicolas Roche about 6 years ago
- File 0003-matomo-views-form-manual-and-automatic-configuration.patch 0003-matomo-views-form-manual-and-automatic-configuration.patch added
Simple et efficace, merci.
Updated by Frédéric Péters about 6 years ago
Je virerais le "Are you sure you want to enable manual user tracking support?" ainsi que le help_text=_('See...; aussi, l'attribut "size" n'existe pas pour les textarea, il existe "rows" et "cols" mais ici je n'en ferais rien (parce que ça doit être affiché aussi bien en popup qu'en pleine page), et j'ajouterais simplement aux CSS :
textarea#id_tracking_js { width: 100%; }
Updated by Nicolas Roche about 6 years ago
- File 0002-matomo-manage-matomo-s-webservices-31778.patch 0002-matomo-manage-matomo-s-webservices-31778.patch added
- File 0003-matomo-views-form-manual-and-automatic-configuration.patch 0003-matomo-views-form-manual-and-automatic-configuration.patch added
- File 0004-matomo-french-translation-31778.patch 0004-matomo-french-translation-31778.patch added
fait :
- prise en compte des remarques ci-dessus
- déplacement de la dépendance de lxml de tox dans setup.py
- maj des traductions
Updated by Nicolas Roche about 6 years ago
- File 0003-matomo-views-form-manual-and-automatic-configuration.patch 0003-matomo-views-form-manual-and-automatic-configuration.patch added
oups, un test ne passait plus suite au changement du libellé sur le bouton.
Updated by Frédéric Péters almost 6 years ago
- Status changed from Solution proposée to Solution validée
J'avais compté ça pour la mise à jour jeudi dernier; c'est ok pour moi.
Updated by Nicolas Roche almost 6 years ago
- Status changed from Solution validée to Résolu (à déployer)
commit 3f29b2d33dd1eb890cdf400c2850adf1a52f61b5 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Thu Apr 4 11:28:55 2019 +0200 matomo: french translation (#31778) commit 2ffbf9ec4351ec931806fb7d9d42457888c48247 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Mon Mar 18 20:02:26 2019 +0100 matomo: views form manual and automatic configuration (#31778) commit 71fdf9f7c51a1f63db84802296cc8fa6d67bed95 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Tue Mar 26 19:06:49 2019 +0100 matomo: manage matomo's webservices (#31778) commit 95e60632ab09545ac2e5d0afcca4a0107018938c Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Wed Mar 27 18:24:31 2019 +0100 matomo: correct README file (#31778)
Updated by Frédéric Péters almost 6 years ago
- Status changed from Résolu (à déployer) to Solution déployée
Updated by Nicolas Roche almost 6 years ago
- Related to Développement #32796: matomo: générer une première visite depuis hobo au moment de la création de l'instance matomo added
Updated by Nicolas Roche over 5 years ago
- Related to Développement #37576: Configuration automatique de matomo des instances multi-collectivités added
matomo: correct README file (#31778)