Aller au contenu

Bandeaux cookies · Avis de la rédaction

c15t avis : le bandeau cookies des sites en React

c15t.com

c15t est une bibliothèque de consentement open source, sous licence Apache 2.0, maintenue par la société américaine Inth. Elle fournit un bandeau prêt pour React et Next.js, bloque scripts, iframes et requêtes réseau jusqu’au choix du visiteur et garde les preuves sur un backend, gratuit chez Inth jusqu’à 5 000 sessions par mois.

Notre avis sur c15t

c15t convient à un site adulte développé en React ou en Next.js, avec un développeur pour l’intégrer. Pour un site sous WordPress, KVS ou un script PHP, une extension ou une bibliothèque qui se pose par une balise script coûte bien moins d’effort.

Ce qui le rend utile à un tube ou à un site de membres, c’est le blocage des balises de régie tant que le visiteur n’a pas accepté, et un bandeau qui change selon le pays.

Documentation de c15t en thème sombre, page de démarrage rapide pour Next.js avec la commande npx @c15t/cli et l’installation du paquet @c15t/nextjs
c15t

c15t demande un site écrit en React ou en Next.js

Le bandeau, le panneau de préférences et le bouton de réglage de c15t existent sous forme de composants pour React et Next.js. Le paquet c15t en JavaScript pur ne dessine rien : il fournit l’état du consentement et des fonctions, et le bandeau s’écrit à la main. Des paquets pour Vue, Svelte et TanStack Start sont en alpha dans la version 3.

Un tube sous KVS, un site de membres en PHP ou un blog WordPress n’ont donc pas d’interface prête. Dans une application Next.js, l’installation passe par une commande, npx @c15t/cli.

Retenir ExoClick ou JuicyAds jusqu’à l’accord du visiteur

c15t charge une balise seulement quand sa catégorie est acceptée, et il coupe aussi les appels fetch et XMLHttpRequest vers les domaines qu’on lui désigne. Les iframes suivent la même règle : leur adresse reste dans un attribut data-src tant que la catégorie est refusée.

Les modules prêts de @c15t/scripts couvrent Google, Meta, TikTok, Reddit, X, Microsoft, Matomo, Plausible ou Hotjar. Aucune régie adulte n’y figure. ExoClick, TrafficStars ou JuicyAds se déclarent comme scripts ordinaires dans la catégorie marketing, et le blocage par domaine rattrape les appels qu’un script déjà chargé enverrait encore.

Quand un visiteur retire un accord donné plus tôt, c15t recharge la page. Un cookie httpOnly ou déposé sur le domaine d’une régie ne s’efface pas en JavaScript, et le rechargement empêche simplement le script de revenir. c15t ne recherche pas les cookies du site, et chaque traceur doit être connu et déclaré.

Un bandeau pour la France, la Belgique, la Suisse et le Québec

Sans réglage, c15t affiche un bandeau à accord préalable aux visiteurs de l’Union européenne, du Royaume-Uni, de la Suisse, du Brésil, du Japon, de la Corée du Sud et du Québec. La Californie, le reste du Canada et l’Australie reçoivent un simple avis avec droit d’opposition, et un visiteur sans pays détecté ne voit aucun bandeau. Les règles par région, appelées policy packs, remplacent ce tableau par celui du webmaster, avec un repli européen quand la localisation échoue.

Google Consent Mode v2 et Google Tag Manager se branchent par des modules fournis. Pour un site qui vend de l’espace publicitaire programmatique en Europe, c15t gère IAB TCF 2.3. Inth est certifié et prête son identifiant de plateforme à qui utilise son backend avec l’interface IAB fournie. Un backend auto-hébergé demande un enregistrement propre auprès d’IAB Europe, payant.

Où c15t garde la preuve du consentement

Sans backend, le choix ne vit que dans un cookie et le localStorage du navigateur, sans localisation ni historique. Le bandeau applique alors la règle européenne à tout le monde, et un visiteur qui vide ses cookies le revoit.

Avec un backend, chaque décision ajoute une ligne qui porte les préférences, la réglementation détectée, l’adresse IP et l’heure, et un journal garde chaque action. Ce backend tourne chez Inth ou chez soi, sur Node.js, Bun, Deno ou Cloudflare Workers, avec Prisma, Drizzle, Kysely, TypeORM ou MongoDB pour la base. Si le serveur ne répond plus, le bandeau continue en local et renvoie les choix ensuite.

Combien coûte le backend Inth

La bibliothèque est gratuite, backend auto-hébergé compris. Inth facture seulement son backend hébergé, en dollars, avec 20 % de remise à l’année :

OffrePrix par moisSessions et enregistrements par mois
Free0 $5 000, un projet
Starter20 $25 000, deux projets
Pro50 $100 000, projets illimités

Au-delà du quota, chaque requête coûte 0,001 $, soit 1 $ les mille. Un tube à plusieurs centaines de milliers de visites par mois sort de l’offre Pro, et l’auto-hébergement remplace alors cette facture par un serveur, une base et leur maintenance.

Points forts et limites de c15t

Les points forts

  • Le blocage des requêtes réseau en plus des scripts et des iframes.
  • Un bandeau qui change selon le pays, avec repli européen.
  • Un journal des consentements chez Inth ou dans sa propre base.
  • Une licence Apache 2.0 et des versions fréquentes.

Les limites

  • Aucun bandeau prêt hors de React et Next.js.
  • Aucun scanner de cookies, chaque traceur se déclare à la main.
  • Aucun module pour les régies adultes.
  • Localisation et preuves réservées au mode avec backend.

c15t ou tarteaucitron.js pour un site adulte français

tarteaucitron.js se pose par une balise script sur n’importe quel site, PHP compris, et affiche son propre bandeau sans écrire de composant. c15t demande une application React mais garde les preuves côté serveur, adapte le bandeau au pays et bloque aussi les requêtes réseau. Un tube sous script PHP part donc sur tarteaucitron.js, une application Next.js sur c15t.

Sources