Valider 22aca6d7 rédigé par Akilia's avatar Akilia
Parcourir les fichiers

Dépot de l'ensemble des fichiers

parent 16497ea7
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+668 −619

Fichier modifié.

La taille limite d'aperçu a été dépassée, l'affichage des modifications a donc été réduit.

+32 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
# Tarteaucitron

# tarteaucitron
Portage pour SPIP de la solution de gestion de consentement aux cookies Tarteaucitron.js

Voir https://www.cnil.fr/fr/solutions-centralisees-de-recueil-de-consentement-aux-cookies-les-gestionnaires-de-tag

## Que fait le plugin ?
Il installe le script tarteaucitron.js (voir https://opt-out.ferank.eu/fr/) et propose une interface de configuration permettant le paramétrage de certaines options du plugin ainsi que la possibilité d'activer 4 services au choix :
- Gtag (Global Site Tag, le nouveau script de suivi pour Google Analytics)
- Google Maps
- Facebook
- Facebook Pixel

## Un plugin deux en un
En effet ce plugin fait deux choses à la fois :
1. il insère le tag permettant d'activer le(s) service(s) choisi(s)
2. il propose à vos internautes de choisir si ils acceptent d'être traqués ou non.

## Prérequis
- SPIP 3.2 (mais il devrait aussi marcher sur SPIP 3.1)
- Plugin Zcore (voir https://plugins.spip.net/zcore.html)

## Pour les développeurs : ajouter de nouveaux services
Il est possible d'ajouter de nouveaux services directement dans le plugin.

### Intégrer le code du service
Aller voir  https://opt-out.ferank.eu/fr/install/ / Etape 3 : ajouter les services et intégrer le code proposé dans un fichier à placer dans le répertoire `/services` du plugins

### Donner la possibilité d'activer ou non ce nouveau service
Il faut intégrer un nouveau champ de saisie correspondant à ce service et éventuellement à la clé correspondante dans le formulaire de déclaration des services. 

Cette intégration se fait dans le fichier `/formulaires/configurer_tarteaucitron_services.html` du plugin.

**Attention** : il faut absolument faire correspondre l'attribut 'name' du nouveau champ et le nom du fichier placé dans `/services`.
+24 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">

	<h3 class="titrem"><:tarteaucitron:cfg_titre_bandeau:></h3>

	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]

	<form method="post" action="#ENV{action}">
	<div>
		#ACTION_FORMULAIRE{#ENV{action}}

		<div class="editer-groupe">
			[(#SAISIE{radio, highprivacy, label=<:tarteaucitron:cfg_afficher_bandeau:>, explication=<:tarteaucitron:cfg_afficher_bandeau_explication:>, defaut=true, datas=[(#ARRAY{true,Oui,false,Non})]})]
			[(#SAISIE{radio, orientation, label=<:tarteaucitron:cfg_placement_bandeau:>, defaut=top, datas=[(#ARRAY{top,Haut,bottom,Bas})]})]
			[(#SAISIE{radio, acceptallcta, label=<:tarteaucitron:cfg_btn_accetpall:>, explication=<:tarteaucitron:cfg_btn_accetpall_explication:>, defaut=true, datas=[(#ARRAY{true,Oui,false,Non})]})]
			[(#SAISIE{input, readmoreLink, label=<:tarteaucitron:cfg_readmoreLink:>, explication=<:tarteaucitron:cfg_readmoreLink_explication:>, defaut=cookiespolicy})]
		</div>


		<input type="hidden" name="_meta_casier" value="tarteaucitron" />
		<p class="boutons"><span class="image_loading">&nbsp;</span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
	</div>
	</form>
</div>
+33 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">

	<h3 class="titrem"><:tarteaucitron:cfg_titre_ajouter_services:></h3>

	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]

	<form method="post" action="#ENV{action}">
	<div>
		#ACTION_FORMULAIRE{#ENV{action}}

		<fieldset>
			<legend>Services Google</legend>
			[(#REM) Gtag : voir à ce propos 
			https://developers.google.com/analytics/devguides/collection/gtagjs/
			et https://juliencoquet.com/en/2017/09/11/switch-google-analytics-global-site-tag/][
			(#SAISIE{input, gtag, label=Google global site tag (gtag.js), explication=Replace GA_MEASUREMENT_ID with the ID of the Google Analytics property to which you want to send data, placeholder=GA_MEASUREMENT_ID})]

			[(#SAISIE{input, gmap, label=Google Map API Key, explication=Enter your Google Map API Key, placeholder=API KEY})]
		</fieldset>
		
		<fieldset>
			<legend>Services Facebook</legend>
			[(#SAISIE{checkbox, fb, label=Boutons de Like et Partage Facebook, datas=[(#ARRAY{fb,fb})]})]

			[(#SAISIE{input, fb_pixel, label=Facebook Pixel, explication=Enter your FacebookPixel ID, placeholder=YOUR_ID})]
		</fieldset>

		<input type="hidden" name="_meta_casier" value="tarteaucitron/services" />
		<p class="boutons"><span class="image_loading">&nbsp;</span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
	</div>
	</form>
</div>
+30 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<script type="text/javascript">
	tarteaucitron.init({ 
		"privacyUrl": "", /* Privacy policy url */

		"hashtag": "#tarteaucitron", /* Ouverture automatique du panel avec le hashtag */ 
		"cookieName": "tarteaucitron", /* Cookie name */
		
		/* Gestion grand bandeau */
		"highPrivacy": #CONFIG{tarteaucitron/highprivacy}, /* mettre à true affiche le bandeau et désactive alors le consentement implicite */ 
		"orientation": "#CONFIG{tarteaucitron/orientation}", /* le bandeau doit être en haut (top) ou en bas (bottom) ? */
		"AcceptAllCta" : #CONFIG{tarteaucitron/acceptallcta}, /* Show the accept all button when highPrivacy on */

		/* Gestion petit bandeau */
		"showAlertSmall": false, /* afficher le petit bandeau en bas à droite ? */ 
		"cookieslist": false, /* Afficher la liste des cookies installés ? */ 


		"adblocker": false, /* Afficher un message si un adblocker est détecté */
		"handleBrowserDNTRequest": false, /* If Do Not Track == 1, disallow all */
		
		"removeCredit": false, /* supprimer le lien vers la source ? */ 
		"moreInfoLink": true, /* Show more info link */

		"useExternalCss": false, /* If false, the tarteaucitron.css file will be loaded */

		// "cookieDomain": ".my-multisite-domaine.fr", /* Shared cookie for multisite */

		"readmoreLink": "/#CONFIG{tarteaucitron/readmoreLink}" /* Change the default readmore link */
	});
</script>
Chargement en cours