Recommandez Ficiel, touchez 25% pendant 12 mois

Comment ça marche

Vous recevez un lien personnel. Quelqu'un s'inscrit à l'essai avec ce lien, puis s'abonne : vous touchez 25% de son abonnement, chaque mois, pendant 12 mois. Rien à vendre vous-même, rien à livrer.

Pour qui

Coachs, setters, agences : si vos clients ou votre audience vendent en conversation sur Instagram, WhatsApp ou LinkedIn, ils ont des prospects qui dorment dans leurs DM. Vous êtes au bon endroit pour recommander.

Un exemple chiffré

Un client abonné à 117 €/mois, c'est 29,25 € pour vous chaque mois, pendant 12 mois : 351 € au total pour une seule recommandation. Trois clients apportés, et c'est 87,75 € par mois.

Demander mon lien sur WhatsApp

Vous recevez votre lien personnel et votre espace de suivi (clics, essais, abonnements, commissions) en réponse.

// Mobile menu toggle (function(){ const burger = document.getElementById('burger'); const menu = document.getElementById('mobile-menu'); if (!burger || !menu) return; burger.addEventListener('click', () => { const open = menu.classList.toggle('is-open'); burger.setAttribute('aria-expanded', open); menu.hidden = !open; }); })(); // Nav scroll state : toggle binaire instantané (pas d'animation), // hystérésis 80↔60, rAF throttle, passive listener (function(){ const nav = document.getElementById('nav'); if (!nav) return; const FLOAT_ON = 80; const FLOAT_OFF = 60; let floating = false; let ticking = false; let lastScrollY = window.scrollY; function update() { const y = lastScrollY; nav.classList.toggle('is-scrolled', y > 8); if (!floating && y > FLOAT_ON) { nav.classList.add('is-floating'); floating = true; } else if (floating && y < FLOAT_OFF) { nav.classList.remove('is-floating'); floating = false; } ticking = false; } function onScroll() { lastScrollY = window.scrollY; if (!ticking) { requestAnimationFrame(update); ticking = true; } } update(); window.addEventListener('scroll', onScroll, { passive: true }); // Les transitions du header (shared-styles.css) ne s'activent qu'après le // premier rendu : un chargement déjà scrollé pose l'état final sans // animation, donc sans clignotement. requestAnimationFrame(function () { requestAnimationFrame(function () { nav.classList.add('is-ready'); }); }); })(); // Nav dropdown : hover desktop, click toggle, Esc, click outside, a11y (function(){ const dropdown = document.querySelector('[data-dropdown]'); if (!dropdown) return; const trigger = dropdown.querySelector('.nav__dropdown-trigger'); const menu = dropdown.querySelector('.nav__dropdown-menu'); if (!trigger || !menu) return; const HOVER_DELAY = 200; let closeTimer = null; function open() { if (closeTimer) { clearTimeout(closeTimer); closeTimer = null; } dropdown.dataset.open = 'true'; trigger.setAttribute('aria-expanded', 'true'); } function close() { dropdown.dataset.open = 'false'; trigger.setAttribute('aria-expanded', 'false'); } function scheduleClose() { if (closeTimer) clearTimeout(closeTimer); closeTimer = setTimeout(close, HOVER_DELAY); } dropdown.addEventListener('mouseenter', open); dropdown.addEventListener('mouseleave', scheduleClose); trigger.addEventListener('click', (e) => { e.stopPropagation(); if (dropdown.dataset.open === 'true') close(); else open(); }); menu.querySelectorAll('a').forEach(a => { a.addEventListener('click', () => setTimeout(close, 50)); }); document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && dropdown.dataset.open === 'true') { close(); trigger.focus(); } }); document.addEventListener('click', (e) => { if (!dropdown.contains(e.target)) close(); }); })();