Ametys intègre à partir de la version 3.7 un système standardisé pour présenter au visiteur un bandeau pour l'informer et lui proposer d'accepter ou refuser l'utilisation de cookies. Ce système est activé par défaut, et peut être désactivé par site via le paramètre de configuration "Toujours accepter les cookies" (rubrique "Services > Cookies").

La bannière ne s'affiche que si au moins une fonctionnalité qui gère des cookies est déclarée. Par défaut, seule la fonctionnalité Google Analytics utilise des cookies, et elle n'est activée que si le paramètre de site "Google web ID" est renseigné.

Utilisation

Ametys 3.8 et supérieur

Le système est activé par défaut mais une charte graphique peut indiquer qu'elle ne supporte pas la bannière avec le code suivant:

<xsl:variable name="support-cookies-banner">false</xsl:variable>

L'administrateur d'un site garde cependant la main pour forcer l'utilisation des cookies même si la charte supporte les cookies.

Le rendu graphique par défaut de la barre d'acceptation des cookies peut être modifié en surchargeant le template "body-cookiebanner-html" qui doit prendre la forme suivante:

    <xsl:template name="body-cookiebanner-html">
        var html = '&lt;div class="cookiebanner-wrapper" id="cookie-banner">'
        + '&lt;div class="cookiebanner">'
        + '&lt;div class="cookiebanner-info">'
        + "<i18n:text i18n:key='PLUGINS_WEB_COOKIES_INFO' i18n:catalogue='plugin.web'/>"
        + ' '
        + '&lt;/div>'
        + '&lt;div class="cookiebanner-buttons">'
        + '&lt;a href="javascript:ametysAcceptCookieConsent()" class="cookiebanner-accept">'
        + "<i18n:text i18n:key='PLUGINS_WEB_COOKIES_INFO_ACCEPT' i18n:catalogue='plugin.web'/>"
        + '&lt;/a>'
        + ' '
        + '&lt;a href="javascript:ametysRefuseCookieConsent()" class="cookiebanner-refuse">'
        + "<i18n:text i18n:key='PLUGINS_WEB_COOKIES_INFO_REFUSE' i18n:catalogue='plugin.web'/>"
        + '&lt;/a>'
        + '&lt;/div>'
        + '&lt;/div>'
        + '&lt;/div>';
    </xsl:template>

 

Ametys 3.7

En version 3.7, en plus du paramètre de site, il faudra activer la fonctionnalité au niveau de chaque skin compatible : le bandeau ne sera présent que si la variable support-cookies-banner est déclarée avec la valeur true. Par exemple, dans la charte de démonstration, il faudrait rajouter la ligne suivant au début du fichier main.xsl :

<xsl:variable name="support-cookies-banner">true</xsl:variable>

Déclaration de systèmes de cookies supplémentaires

Si une charte graphique propose une fonctionnalité spécifique qui utilise des cookies nécessitant le recueil du consentement du visiteur (par exemple, en France : http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/), le plus simple est de se "brancher" sur ce système standardisé : la fonctionnalité saura directement si elle doit s'activer (le visiteur accepte les cookies) ou non (le visiteur refuse les cookies).

Pour cela, il faut générer dans votre fonctionnalité spécifique un script javascript de la forme suivante :

<script type="text/javascript">
    var enableOrDisableMyCookieTrackingFeature = function(enable) {
        if (enable) {
            // Le site a désactivé le bandeau d'information ou l'utilisateur a autorisé les cookies : activer ma fonctionnalité.
        }
        else {
            // L'utilisateur a refusé l'utilisation de cookies : désactiver ma fonctionnalité et supprimer les éventuels cookies déjà présents.
        }
    }
    
    // Ajouter la fonction JS d'activation au tableau "ametysCookieConsentListener" : elle sera appelée quand le DOM est prêt.
    // La fonction reçoit un paramètre booléen : true si le site a désactivé le bandeau ou que l'utilisateur a autorisé les cookies, false sinon.
    ametysCookieConsentListener.push(enableOrDisableMyCookieTrackingFeature);
</script>

L'intégration standard de Google Analytics est réalisée de cette façon dans le fichier XSL ga.xsl.

Retour en haut