On-Premise CAID
Le Cookie CAID est un élément crucial dans le suivi des visiteurs sur votre site.
Utilisé par Commanders Act, il permet d'identifier et de suivre le parcours d'un visiteur à travers différentes sessions de navigation. Sa construction est essentielle, surtout dans le contexte des restrictions imposées par les politiques de confidentialité et de sécurité telles que l'ITP (Intelligent Tracking Prevention). Sa construction par vos soins est obligatoire dans le cas de tracking dit « First Party » réalisé par CNAME ou A-Record mais n’est pas nécessaire si vous passez par proxy. Vous trouverez dans cette documentation l’ensemble des éléments nécessaire à sa construction.
POINTS CLÉS POUR LA NOTICE DE CRÉATION DU COOKIE "CAID" :
Nom du Cookie :
Nom : "CAID" (en majuscules).
Recommandation en matière de structure du Cookie :
Contient 20 caractères numériques aléatoires.
Précédés de l'année de création du cookie.
Durée de Vie :
Date de péremption : 13 mois après la date de création par défaut (GDPR).
Création et Dépôt :
Créé par le serveur de l'entreprise.
Déposé sur le domaine principal et tous les sous-domaines associés. (.mondomaine.com)
Accessibility :
Secure = true
httpOnly = true

Exemple PHP
<?php
$cookie_name = "CAID";
$year = date("Y");
$random_numbers = substr(str_shuffle(str_repeat("0123456789", 20)), 0, 20);
$cookie_value = $year . $random_numbers;
$expiration = time() + 13 * 30 * 24 * 60 * 60; // 13 mois
$path = "/"; // Disponible sur tout le domaine
// Utilisation d'un tableau pour les options du cookie
$cookie_options = [
"expires" => $expiration,
"path" => $path,
"secure" => true, // Activation du flag secure
];
setcookie($cookie_name, $cookie_value, $cookie_options);
?>
Exemple Node.js (package express‘)
const express = require('express’);
const app = express();
function generateRandomNumbers() {
return Array.from({ length: 20 }, () => Math.floor(Math.random() * 10)).join(‘’);
}
app.get('/', (req, res) => {
const year = new Date().getFullYear();
const randomNumbers = generateRandomNumbers();
res.cookie('CAID', year + randomNumbers, { maxAge: 13 * 30 * 24 * 60 * 60 * 1000, // 13 mois en millisecondes
path: '/’,
httpOnly: true // Sécurité renforcée
});
res.send('Cookie set'); });
app.listen(3000, () => {
console.log('Server is running on port 3000’);
});
Exemple Python (avec Flask)
from flask import Flask, make_response
from datetime import datetime, timedelta
import random
app = Flask(__name__)
def generate_random_numbers():
return ''.join([str(random.randint(0, 9)) for _ in range(20)])
@app.route('/’)
def set_cookie():
resp = make_response("Setting cookie")
expire_date = datetime.now() + timedelta(days=13*30)
year = datetime.now().year
random_numbers = generate_random_numbers()
resp.set_cookie('CAID', f'{year}{random_numbers}', expires=expire_date)
return resp
if __name__ == "__main__":
app.run(port=5000)
Exemple Ruby
require 'sinatra’
require 'securerandom’
get '/' do
random_numbers = SecureRandom.random_number(10**20).to_s.rjust(20, '0’)
year = Time.now.year
response.set_cookie('CAID', { value: "#{year}#{random_numbers}", expires: Time.now + (13 * 30 * 24 * 60 * 60), path: '/' }) "Cookie set"
end
Dernière mise à jour