← RetourDesign & Analytics

Tableau de bord — extrait

0

Cookies déposés

0

Bandeau consentement

0

SDK analytics tiers

13 mois

Rétention

Portfolio

Built with Claude Code
Le problème

Un portfolio doit prouver le métier, pas seulement l'annoncer — et la plupart s'appuient sur un template, un analytics tiers qui fuite les données des visiteurs, et un formulaire de contact qui attire le spam.

La solution

Tout construit à la main sur Next.js : un hero animé au scroll, des études de cas interactives, et derrière, une mesure d'audience first-party conforme RGPD sans bandeau, plus un formulaire de devis avec son propre anti-spam. Développé avec Claude Code.

RésultatLe site que vous regardez : analytics, légal et SEO faits maison, zéro dépendance de suivi tierce.

Next.js 16React 19Tailwind v4GSAPAnalytics maisonSupabaseVercel
Sous le capot
01La pièce maîtresse

Une mesure d'audience faite maison

Pas de Google Analytics, pas de traceur tiers : un script de collecte first-party qui suit pages vues, clics, profondeur de scroll et le tunnel du formulaire de devis, envoyés par lots à un endpoint Next.js qui écrit dans Supabase en REST brut — zéro SDK. Un tableau de bord derrière une double barrière (chemin non devinable + mot de passe) affiche une carte de chaleur des clics superposée à la page en direct et la répartition des canaux d'acquisition (direct, organique, réseaux, référents, pays).

02Conformité

RGPD par conception, sans bandeau

Aucun cookie, l'identifiant de session vit dans le sessionStorage et meurt avec l'onglet. L'IP n'est jamais stockée en clair — seulement une empreinte à rotation quotidienne. Conservation plafonnée à 13 mois. Ces choix cochent les critères d'exemption de consentement de la CNIL pour la mesure d'audience : mentions légales et politique de confidentialité rédigées, opt-out réel, pas de bandeau à cliquer.

03Anti-spam

Un formulaire de devis blindé

Jeton signé côté serveur qui prouve que la page a été chargée et qu'un minimum de temps s'est écoulé, champ piège invisible, limite de fréquence par IP. La demande part par email via Resend, avec repli sur un email pré-rempli si la livraison échoue — un contact n'est jamais perdu en silence.

04Le hero

Une vidéo pilotée au frame près

Séquence de 193 images plus une boucle d'ambiance, dessinées sur un canvas, épinglées et défilées au scroll via GSAP — auto-hébergées, sans lecteur tiers. SEO et GEO couverts en parallèle : metadata, JSON-LD, sitemap, robots, llms.txt et image Open Graph générée à la volée. Le site est aussi entièrement bilingue FR / EN, servi selon la langue du navigateur.