From 3187b5b05a2ad10b70d3817fe609d0e8673cf7d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chai=CC=88b=20Martinez?= Date: Fri, 2 Nov 2018 14:55:59 +0100 Subject: [PATCH 1/2] Add Matomo tracking code --- app/views/layouts/_matomo.html.haml | 15 +++++++++++++++ app/views/layouts/application.html.haml | 3 +++ app/views/layouts/new_application.html.haml | 4 ++++ 3 files changed, 22 insertions(+) create mode 100644 app/views/layouts/_matomo.html.haml diff --git a/app/views/layouts/_matomo.html.haml b/app/views/layouts/_matomo.html.haml new file mode 100644 index 000000000..686be9450 --- /dev/null +++ b/app/views/layouts/_matomo.html.haml @@ -0,0 +1,15 @@ +:javascript + var _paq = _paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setCookieDomain", "*.www.demarches-simplifiees.fr"]); + _paq.push(["setDomains", ["*.www.demarches-simplifiees.fr"]]); + _paq.push(["setDoNotTrack", true]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="//stats.data.gouv.fr/"; + _paq.push(['setTrackerUrl', u+'piwik.php']); + _paq.push(['setSiteId', '73']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s); + })(); diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 81397c33f..5b1b9cb21 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -16,10 +16,13 @@ = javascript_include_tag 'application', defer: true, 'data-turbolinks-track': 'reload' = csrf_meta_tags + = render partial: "layouts/matomo" + :javascript DATA = [{ sentry: #{raw(sentry_config)} }]; + %body{ class: browser.platform.ios? ? 'ios' : nil } = render partial: 'layouts/outdated_browser_banner' = render partial: 'layouts/pre_maintenance' diff --git a/app/views/layouts/new_application.html.haml b/app/views/layouts/new_application.html.haml index 833127d93..46cd62ac2 100644 --- a/app/views/layouts/new_application.html.haml +++ b/app/views/layouts/new_application.html.haml @@ -21,10 +21,14 @@ - if Rails.env.development? = stylesheet_link_tag :xray + - if !current_user + = render partial: "layouts/matomo" + :javascript DATA = [{ sentry: #{raw(sentry_config)} }]; + %body{ class: browser.platform.ios? ? 'ios' : nil } .page-wrapper = render partial: "layouts/outdated_browser_banner" From 8d02b4dbdf4a895d8ece26d13a09ef924aeb1c2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chai=CC=88b=20Martinez?= Date: Wed, 7 Nov 2018 16:54:18 +0100 Subject: [PATCH 2/2] Add Matomo Suivi page --- app/assets/stylesheets/new_design/suivi.scss | 27 ++++++++++++++++++++ app/controllers/root_controller.rb | 3 +++ app/views/root/_footer.html.haml | 2 ++ app/views/root/suivi.html.haml | 23 +++++++++++++++++ config/initializers/urls.rb | 1 + config/routes.rb | 1 + 6 files changed, 57 insertions(+) create mode 100644 app/assets/stylesheets/new_design/suivi.scss create mode 100644 app/views/root/suivi.html.haml diff --git a/app/assets/stylesheets/new_design/suivi.scss b/app/assets/stylesheets/new_design/suivi.scss new file mode 100644 index 000000000..af5008e41 --- /dev/null +++ b/app/assets/stylesheets/new_design/suivi.scss @@ -0,0 +1,27 @@ +$default-space: 15px; +$new-p-margin-bottom: 3 * $default-space; + +.suivi { + width: 1040px; + margin: 0 auto; + padding-top: $default-space * 2; + padding-bottom: $default-space * 2; + + ul { + list-style-type: disc; + margin-top: -($default-space * 2); + } + + iframe { + border: none; + width: 100%; + } + + .new-h2 { + text-align: left; + } +} + +.new-p { + margin-bottom: $new-p-margin-bottom; +} diff --git a/app/controllers/root_controller.rb b/app/controllers/root_controller.rb index f7e802545..d285f2104 100644 --- a/app/controllers/root_controller.rb +++ b/app/controllers/root_controller.rb @@ -55,4 +55,7 @@ class RootController < ApplicationController @dossier = Dossier.new(champs: all_champs) end + + def suivi + end end diff --git a/app/views/root/_footer.html.haml b/app/views/root/_footer.html.haml index 174db199b..aa831d74c 100644 --- a/app/views/root/_footer.html.haml +++ b/app/views/root/_footer.html.haml @@ -26,6 +26,8 @@ = link_to "CGU", CGU_URL, :class => "footer-link", :target => "_blank", rel: "noopener noreferrer" %li.footer-link = link_to "Mentions légales", MENTIONS_LEGALES_URL, :class => "footer-link", :target => "_blank", rel: "noopener noreferrer" + %li.footer-link + = link_to "Suivi d'audience et vie privée", suivi_path, :class => "footer-link" %li.footer-column %ul.footer-links diff --git a/app/views/root/suivi.html.haml b/app/views/root/suivi.html.haml new file mode 100644 index 000000000..758f9c124 --- /dev/null +++ b/app/views/root/suivi.html.haml @@ -0,0 +1,23 @@ +- content_for(:title, 'Suivi') + +.suivi + %h1.new-h1 Cookies déposés et configuration du suivi + + %p.new-p + Ce site dépose un petit fichier texte (un « cookie ») sur votre ordinateur lorsque vous le consultez. Cela nous permet de mesurer le nombre de visites et de comprendre quelles sont les pages les plus consultées. + + %iframe{ :src => MATOMO_IFRAME_URL } + + %h2.new-h2 Ce site n’affiche pas de bannière de consentement aux cookies, pourquoi ? + %p.new-p + C’est vrai, vous n’avez pas eu à cliquer sur un bloc qui recouvre la moitié de la page pour dire que vous êtes d’accord avec le dépôt de cookies. + %br + %br + Rien d'exceptionnel, pas de passe-droit. Nous respectons simplement la loi, qui dit que certains outils de suivi d’audience, correctement configurés pour respecter la vie privée, sont exemptés d’autorisation préalable. + %br + %br + Nous utilisons pour cela Matomo, un outil libre, paramétré pour être en conformité avec la recommandation « Cookies » de la CNIL. Cela signifie que votre adresse IP, par exemple, est anonymisée avant d’être enregistrée. Il est donc impossible d’associer vos visites sur ce site à votre personne. + + %h2.new-h2 Je contribue à enrichir vos données, puis-je y accéder ? + %p.new-p + Bien sûr ! Les statistiques d’usage sont en accès libre sur stats.data.gouv.fr. diff --git a/config/initializers/urls.rb b/config/initializers/urls.rb index 1ddfa748a..c0e6cc0f7 100644 --- a/config/initializers/urls.rb +++ b/config/initializers/urls.rb @@ -22,3 +22,4 @@ MENTIONS_LEGALES_URL = [CGU_URL, "4-mentions-legales"].join("#") API_DOC_URL = [DOC_URL, "pour-aller-plus-loin", "api"].join("/") WEBHOOK_DOC_URL = [DOC_URL, "pour-aller-plus-loin", "webhook"].join("/") FAQ_URL = "https://faq.demarches-simplifiees.fr" +MATOMO_IFRAME_URL = "https://stats.data.gouv.fr/index.php?module=CoreAdminHome&action=optOut&language=fr&&fontColor=333333&fontSize=16px&fontFamily=Muli" diff --git a/config/routes.rb b/config/routes.rb index bb0ebce98..20ca2bd6c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -128,6 +128,7 @@ Rails.application.routes.draw do end get "patron" => "root#patron" + get "suivi" => "root#suivi" get "contact", to: "support#index" post "contact", to: "support#create"