Aller au contenu principal

📱 Système de crédits


Principe

Le système de crédits limite l'utilisation quotidienne pour maintenir la qualité du service dans le plan gratuit.

ParamètreValeur
Crédits par jour5
ResetMinuit UTC automatique
PortéePartagés entre Mail Analyseur et BlocNum Analyseur
Stockage actuellocalStorage (MVP)

Comportement

Consommation d'un crédit

Un crédit est consommé à chaque appel aux endpoints :

  • analyze-email-headers (Mail Analyseur)
  • arcep-check (BlocNum Analyseur)

L'endpoint analyze-spam est appelé simultanément avec analyze-email-headers mais ne consomme pas de crédit séparé.

Reset automatique

// src/lib/credits.ts
const getCreditsUsed = (): CreditState => {
const stored = localStorage.getItem('dailyCredits');
const today = new Date().toISOString().split('T')[0]; // format YYYY-MM-DD (UTC)

if (!stored) return { count: 0, date: today };

const parsed = JSON.parse(stored);
if (parsed.date !== today) return { count: 0, date: today }; // Auto-reset

return parsed;
};

Le reset est automatique : dès que la date ISO (UTC) change, les crédits reviennent à 5.

API publique (src/lib/credits.ts)

const MAX_DAILY_CREDITS = 5;

canUseCredit(): boolean // true si count < 5
consumeCredit(): boolean // décrémente, retourne true si succès
getRemaining(): number // 5 - count (0 à 5)

Affichage visuel

Dans les Analyseurs

Barre de progression avec couleur contextuelle :

Crédits restantsCouleur barre
4–5🟢 Vert
2–3🟡 Jaune
0–1🔴 Rouge

Texte : X crédit(s) restant(s) aujourd'hui

Dans les Paramètres

Section dédiée avec barre de progression + compteur X / 5 + bouton de rechargement manuel.


Modèles tarifaires et crédits

PlanCrédits/jourAnalyses illimitéesPrix
Gratuit50€
Premium9,99€/mois
PME Basic29€/mois
PME Pro✅ + SLA59€/mois

Limitations actuelles (MVP)

Le système de crédits actuel présente des limitations identifiées :

  1. Contournable : stocké dans localStorage, effaçable par l'utilisateur
  2. Non cross-device : les crédits ne sont pas synchronisés entre appareils
  3. Non lié au compte : un utilisateur peut créer plusieurs comptes

Migration prévue Q2 2026 :

  • Table user_quotas en PostgreSQL avec RLS
  • Décrémentation côté serveur dans les Edge Functions
  • Impossibilité de contournement
  • Synchronisation cross-device pour les utilisateurs authentifiés

Gamification prévue (Q2-Q3 2026)

FonctionnalitéDescription
Crédits progressifs5 → 10 → 20 selon l'engagement
Badges "Premières analyses"Encourager la prise en main
Streaks quotidiensBonus crédits pour utilisation régulière
ParrainageCrédits bonus pour chaque utilisateur parrainé