commit 89ca81d839d2ac7819ea98acdcef858ab7a486a5
Author: ordinarthur <@arthurbarre.js@gmail.com>
Date: Tue May 5 15:29:20 2026 +0200
init doc rubis
diff --git a/CLAUDE.md b/CLAUDE.md
new file mode 100644
index 0000000..4973942
--- /dev/null
+++ b/CLAUDE.md
@@ -0,0 +1,137 @@
+# Rubis Sur l'Ongle
+
+> **Le SaaS de relance de factures impayées pour TPE-PME françaises.** Drag-and-drop, OCR, plans de relance automatiques. 1 rubis = 10 minutes libérées.
+
+Ce fichier est le contexte top-level. Il est court, dense, scannable. Pour les détails, voir `/docs/`.
+
+---
+
+## En une phrase
+
+Vos factures se relancent toutes seules pendant que vous travaillez.
+
+## Cible
+
+TPE-PME françaises, 5 à 50 salariés, qui émettent 10 à 200 factures par mois, sans crédit manager dédié. Le décideur teste lui-même le produit (pas de cycle de vente long).
+
+## Promesse de valeur
+
+- **5 heures par semaine récupérées** (benchmark : 8h → <3h après automatisation).
+- **Tonalité émotionnelle** : on vend du temps libéré, pas de la trésorerie. Le rubis gagné est la métrique-héros, pas le DSO.
+- **2 à 3 clics maximum** pour lancer une relance sur une nouvelle facture.
+
+## Principes produit (toujours valides)
+
+1. **3 clics maximum** pour lancer une relance sur une facture neuve. Idéalement 2 si bien configuré.
+2. **Mobile et desktop** — la photo de facture depuis le téléphone est un usage clé.
+3. **Pure-player relance** — on ne fait pas CRM, pas facturation, pas comptabilité. On fait une chose et on la fait bien.
+4. **Respectueux du client final** — le ton monte avec le retard, jamais avant. Pas d'agressivité par défaut.
+5. **Le rubis est une vraie devise produit** — 1 rubis = 10 min libérées. La gamification doit être tangible et défendable.
+
+## Identité de marque (TLDR)
+
+| | |
+|---|---|
+| **Logo** | Direction A — gem facetté géométrique. Le ◆ est un symbole produit autant qu'un logo. |
+| **Couleur primaire** | `#9F1239` — rubis profond légèrement violacé. *Anti-Coca-Cola.* |
+| **Couleur secondaires** | `#771328` (deep), `#C9415C` (light), `#FBE4EA` (glow) |
+| **Neutres** | Crème `#FAF7F2`, encre chaude `#1A1410`. Jamais de blanc pur, jamais de noir pur. |
+| **Typo display** | Bricolage Grotesque (500–800), Google Fonts |
+| **Typo body** | Inter (400–700), Google Fonts |
+| **Icônes** | Lucide (regular weight) |
+| **Pas de** | or, bleu, vert, violet, emojis joaillerie 💎💰, mot "recouvrement" en com publique |
+
+Voir `/docs/marque.md` pour la référence complète et `/brand-identity.html` pour la présentation visuelle (note : la mention de l'or accent dans ce fichier est obsolète, à ignorer).
+
+## Voix
+
+Direct, concret, chaleureux, précis, empathique. *On parle comme un bon associé, pas comme une DAF.*
+
+- ✓ "Vos factures relancées toutes seules."
+- ✗ "Optimisez votre processus de recouvrement amiable."
+
+## Glossaire
+
+- **Rubis** : unité de gamification. **1 rubis = 10 minutes libérées** = 1 relance qu'on n'a pas eu à faire à la main.
+- **Plan de relance** : cadence d'emails automatisés (ex. J+3, J+10, J+20). Chaque facture est associée à un plan.
+- **Étape** : un email programmé dans un plan (ex. "J+10 — relance ferme").
+- **Check-in** : email envoyé **à l'utilisateur** (pas au client) pour confirmer si une facture a été payée avant l'envoi de la prochaine relance. Remplace l'intégration banking en V1.
+- **Mise en demeure** : étape ferme du plan. **Toujours sous validation manuelle** via modale de confirmation, jamais auto.
+- **DSO** : Days Sales Outstanding. Métrique secondaire dans l'app, jamais dans la com publique.
+- **LME** : loi de modernisation de l'économie (2008). Plafonne les délais de paiement à 60 jours (ou 45 jours fin de mois). Sanctions DGCCRF jusqu'à 2 M€.
+
+## Périmètre V1
+
+### IN
+
+- Auth email/password + Google SSO
+- Onboarding 3 étapes (compte, entreprise, signature email)
+- Upload drag-and-drop + OCR factures (PDF, PNG, JPG)
+- Saisie manuelle (fallback)
+- Bibliothèque de plans (4 plans fournis par défaut)
+- Éditeur de plan (cadence + templates email avec variables)
+- Check-in email à l'utilisateur (cadence configurable) → confirme si payé → relance ou stop
+- Dashboard avec compteur rubis + KPIs (à relancer, encaissé, DSO)
+- Liste filtrable des factures
+- Détail facture avec timeline des relances
+- App mobile (web responsive)
+
+### OUT (V2 ou plus tard)
+
+- **SMS** — uniquement plan le plus cher en V2
+- **Multi-utilisateurs** — uniquement plans payants en V2
+- **Intégration banking / réconciliation auto** — l'architecture V1 doit l'anticiper, mais l'implémentation est V2+
+- Multi-langues, multi-devises (FR/EUR only en V1)
+- Intégration ERP/comptable (Sage, Pennylane, Quickbooks)
+
+## Pricing (esquisse, à valider)
+
+| Plan | Prix | Limite |
+|---|---|---|
+| **Free** | 0 € | 5 factures actives en relance, 1 utilisateur |
+| **Pro** | 19 €/mois | Factures illimitées, OCR illimité, 1 utilisateur |
+| **Business** | 49 €/mois | + multi-utilisateurs, + branding email, + SMS (V2) |
+
+Argument de vente : *"moins cher qu'une heure de votre temps mensuel"*.
+
+## Décisions clés validées (résumé)
+
+Voir `/docs/decisions.md` pour le log complet avec rationale.
+
+- 1 rubis = 10 minutes libérées
+- Logo direction A (gem facetté), wordmark à monter en parallèle plus tard
+- Palette rubis chaude, sans or, sans bleu
+- Typo Bricolage Grotesque + Inter
+- Iconographie Lucide
+- Mise en demeure : validation manuelle obligatoire (modale)
+- SMS et multi-users : V2 + plans payants seulement
+- Banking intégration : pas en V1, remplacée par check-in emails
+
+## Stack technique
+
+À confirmer avec Arthur. Stack choisie mais pas encore documentée. *À remplir lors de la prochaine session technique.*
+
+Ce qu'on sait : TypeScript, le reste à formaliser (framework, DB, OCR provider, email provider, hosting, jobs).
+
+## Documents associés
+
+| Fichier | Rôle |
+|---|---|
+| `/CLAUDE.md` (ce fichier) | Contexte top-level, toujours en tête |
+| `/docs/produit.md` | Spec produit détaillée (features, flows, IN/OUT V1) |
+| `/docs/marque.md` | Référence marque écrite (palette, typo, voix, do/don't) |
+| `/docs/decisions.md` | Log de décisions avec rationale (format ADR-light) |
+| `/wireframes-mvp.html` | Wireframes low-fi des 13 écrans MVP |
+| `/brand-identity.html` | Présentation visuelle de la marque (4 logos, applications) |
+| `/munitions-marketing.md` | Stats marché, concurrents, positionnement, copy |
+
+## Questions ouvertes
+
+- **Stack technique** à formaliser
+- **Tagline finale** : 5 candidates dans `/munitions-marketing.md`, pas encore tranchée
+- **Conversion 1 rubis = 10 min** validée mais à confirmer en user testing après MVP
+- **Wordmark "rubis" avec gem-i** (direction C) à monter en complément du logo A à un moment
+
+---
+
+*Dernière mise à jour : 2026-05-05 · Maintenu par Arthur + Claude.*
diff --git a/docs/brand-identity.html b/docs/brand-identity.html
new file mode 100644
index 0000000..bb3eb98
--- /dev/null
+++ b/docs/brand-identity.html
@@ -0,0 +1,1130 @@
+
+
+
+
+
+Rubis Sur l'Ongle — Identité de marque v0.1
+
+
+
+
+
+
+
+
+
Identité de marque · v0.1
+
Rubis Sur l'Ongle — une marque chaleureuse, précise, et fière de l'être.
+
Document de travail · 4 directions de logo, palette ancrée rubis, paire typographique, applications. Choisis une direction (ou un mix) et on monte en fidélité.
+
+
+
+
+
+
+
+
+
+
+ 01
+
Quatre principes
+
Ils ne décrivent pas la marque comme elle est aujourd'hui — ils décrivent comment on tranche quand on hésite.
+
+
+
+
+
Chaleureux, pas corporate
+
Couleurs chaudes, neutres crème, typographie humaniste. On parle à un boulanger ou une consultante, pas à une DAF.
+
+
+
+
Précis, pas froid
+
Les chiffres sont nets. Les marges sont disciplinées. La grille tient. Mais on garde toujours un peu d'âme — un détail typo, un mot bien placé.
+
+
+
+
Action, pas finance
+
On dit "lancer", "récupérer", "gagné". Jamais "DSO", "créances", "AR aging". La marque vit dans le verbe, pas dans le bilan.
+
+
+
+
Le rubis est central, pas décoratif
+
Une couleur, une forme. Pas trois rouges, pas dix variantes du logo. Tout part d'une seule pierre.
+
+
+
+
+
+
+
+
+
+ 02
+
Quatre directions de logo
+
Chaque direction porte une promesse différente. Lis les pros/cons, regarde les tailles, et dis-moi celle (ou celles) qu'on creuse.
+
+
+
+
+
+
+
+
+
+
Direction A
+
Le gem facetté
+
Un rubis géométrique, vu de dessus, avec ses facettes suggérées. Lisible à toutes tailles, immédiatement « précieux », fonctionne en favicon dès 16 px.
+
Iconique, scalable, ownable. Naturellement cohérent avec le compteur ◆ déjà dans les wireframes.
+
Marche en monochrome, en knockout, en filigrane. Animation possible (rotation lente, sparkle).
+
"Risque diamant" — proche visuellement de logos joaillerie / fintech. À différencier par la couleur (rubis profond, pas saphir).
+
+
+
+
+
+ 64 px
+
+
+
+ 32 px
+
+
+
+ 16 px (favicon)
+
+
+
+
+ Rubis
+
+ Wordmark horizontal
+
+
+
+
+ Rubis
+
+ Sur fond sombre
+
+
+
+
+
+
+
+
+
+
+
+
Direction B
+
Le rubis brut
+
Une forme en amande/œil, courbe et organique. Joue le rubis "non taillé" — moins technique, plus humain. Laisse passer un reflet (highlight) qui apporte de la matière.
+
Plus chaleureux et accessible que A. Différencie radicalement de Stripe, Notion, Linear et toute la galaxie tech B2B.
+
Très bonne tenue en illustration / éditorial — la forme accepte d'être étirée, dupliquée, animée comme une goutte.
+
Moins lisible en très petite taille (le reflet disparaît à 16 px → fallback nécessaire).
+
"Trop joaillerie" si manipulé sans rigueur. À ancrer par une typographie nette pour ne pas glisser vers Cartier.
+
+
+
+
+
+ 64 px
+
+
+
+ 32 px
+
+
+
+ 16 px
+
+
+
+
+ Rubis
+
+ Wordmark
+
+
+
+
+
+
+
+
+
+ rubis
+
+
+
+
Direction C
+
Le wordmark
+
Pas de symbole — le mot lui-même est le logo. Le point sur le « i » devient un rubis. Sophistiqué, ownable par la typo seule, parfait sur la landing en grande taille.
+
Lisibilité maximale du nom — la marque est sa propre signature. Très moderne (cf. Notion, Vercel, Stripe — tous wordmark-only).
+
L'accent gem donne juste assez de personnalité pour ne pas être un wordmark générique.
+
Pas de monogramme autonome — il faut quand même un picto pour l'app icon, le favicon, l'avatar Twitter. À combiner avec A ou B.
+
Très dépendant de la qualité de la typo finale. Bricolage Grotesque tient bien, mais une typo custom serait l'idéal en v2.
+
+
+
+
+
+ rubis
+
+ Display
+
+
+
+ rubis
+
+ Petit
+
+
+
+ rubis
+
+ Sur sombre
+
+
+
+ rubis.sur-l-ongle.fr
+
+ Domaine
+
+
+
+
+
+
+
+
+
+
+
+
Direction D
+
Sur l'ongle (littéral)
+
L'expression française rendue littéralement : un rubis posé sur un ongle. Le geste du paiement comptant, immédiat — exactement la promesse du produit.
+
Mémorable et inattendue. C'est la direction qui ferait le plus parler — un détail qui se raconte ("tu as remarqué le logo ?").
+
Très ancrée culturellement française : l'expression existe depuis le XVIIIᵉ, l'image résonne.
+
Polarisante. Risque d'être lu comme "manucure" ou "produit cosmétique" hors contexte.
+
Difficile à utiliser en favicon — la composition perd à très petite taille. Nécessiterait un mark simplifié pour les contextes restreints.
+
+
+
+
+
+ 80 px
+
+
+
+ 40 px
+
+
+
+ Mark seul (favicon fallback)
+
+
+
+
+ Rubis Sur l'Ongle
+
+ Lockup
+
+
+
+
+
+
Recommandation
+
+ A + C en duo est le pari le plus solide : la direction A (gem facetté) sert de symbole iconique pour favicon, app icon et picto réseaux ; la direction C (wordmark avec gem-dot sur le i) sert de signature pour la landing, l'email, la doc. C'est la combinaison la plus défendable, la plus scalable, et celle qui préserve le mieux la promesse "premium mais accessible".
+ La direction D (littérale "sur l'ongle") est tentante mais risquée pour la v1 — je la garderais en réserve pour de la communication éditoriale (campagnes ads, illustrations) plutôt qu'en logo principal.
+
+
+
+
+
+
+
+
+
+ 03
+
Palette
+
Une seule couleur dominante (le rubis), des neutres chauds, un accent or à doser. Pas de bleu — on n'est pas une fintech.
+
+
+
Couleur de marque
+
+
+
+
+
Rubis
+
#9F1239
+
Couleur primaire · CTA · accents · ◆ gamification · jamais en grand aplat (réservé à l'impact)
+
+
+
+
+
+
Rubis profond
+
#771328
+
Hover, pressed, headers sombres
+
+
+
+
+
+
Rubis clair
+
#C9415C
+
Survol, dégradé, illustrations
+
+
+
+
+
+
Glow
+
#FBE4EA
+
Backgrounds doux, panneaux mis en avant, succès
+
+
+
+
+
+
Or discret
+
#B89F6B
+
Accent rare · badges premium · jamais > 5 % de l'écran
+
+
+
+
+
Neutres chauds
+
+
+
+
+
Crème (page)
+
#FAF7F2
+
Fond principal de la landing et de l'app · plus chaleureux que le blanc pur
+
+
+
+
+
+
Crème 2
+
#F5EFE7
+
Surface secondaire, sidebar
+
+
+
+
+
+
Lignes
+
#E8E0D6
+
Bordures, séparateurs
+
+
+
+
+
+
Encre 3
+
#8A7F76
+
Texte muted, métadonnées
+
+
+
+
+
+
Encre 2
+
#4F4640
+
Corps de texte
+
+
+
+
+
+
Encre
+
#1A1410
+
Titres, logo mono · noir chaud, jamais #000
+
+
+
+
+
+ Le rubis est rare — c'est ce qui le rend précieux. N'inonde jamais une page de rouge. Une touche de rubis sur un sea of cream attire 100 % du regard.
+
+
+
+
+
+
+
+
+ 04
+
Typographie
+
Une paire libre, accessible, et installable en 2 minutes via Google Fonts.
+
+
+
+
+
Display · Titres
+
Rubis Sur l'Ongle
+
Titres de pages, headlines de landing, sections, logo wordmark. Apporte le caractère "français contemporain" sans tomber dans le designer-flex.
"Notre OCR comprend les factures françaises mieux que personne."
+
"Une intelligence artificielle révolutionnaire."
+
+
+
+
+
+
+
+
+
+
+ 07
+
Do & Don't
+
Quelques garde-fous pour que la marque reste cohérente même quand on délègue à un freelance ou un stagiaire.
+
+
+
+
+
À faire
+
+
Utiliser le rubis avec parcimonie — un seul aplat fort par écran maximum.
+
Préférer le crème (#FAF7F2) au blanc pur partout où c'est possible.
+
Garder les titres en Bricolage Grotesque à 600/700, jamais en regular.
+
Aligner les chiffres (montants, rubis, dates) en colonnes nettes — la grille est notre signal de sérieux.
+
Mettre une touche d'italique rubis sur le mot-clé d'un titre (cf. hero) pour casser l'austérité.
+
Utiliser le ◆ comme marqueur de listes ou de gamification, jamais comme bullet point générique.
+
+
+
+
À éviter
+
+
Le rouge en aplat sur plus de 30 % d'un écran — perd l'effet "rare et précieux".
+
Le noir pur (#000) — toujours #1A1410 (encre chaude).
+
Mélanger le rubis avec d'autres rouges (orange, écarlate). Une seule famille rouge.
+
Les emojis 💎 ou 💰 dans la communication officielle — trop crypto / trop affiches de banque.
+
Utiliser le mot "recouvrement" dans la copy publique. Réservé aux pages techniques (CGU, RGPD).
+
Ajouter du bleu, du vert ou du violet pour "varier" — Rubis = rubis et neutres, point.
+
Animer le gem en rotation rapide ou en sparkle disco. Si animation : très lente, contemplative.
+
+
+
+
+
+
+
Notes & questions ouvertes
+
+
Direction de logo : recommandation A+C, mais la D est défendable si tu veux un positionnement plus polarisant côté éditorial.
+
Bricolage Grotesque vs General Sans : les deux sont gratuits. Bricolage a plus de caractère "français contemporain", General Sans est plus neutre/scalable. À tester côte à côte sur un vrai bloc de copy.
+
Couleur primaire : #9F1239 est mon best guess (rubis profond légèrement violacé). À tester sur écran imprimé/affiche — peut paraître trop sombre pour certains contextes outdoor. Variante plus vive : #B91C3C.
+
Or accent : à utiliser très peu — éventuellement pour un badge "premium" ou un état spécial. Si on l'enlève complètement, ça simplifie sans appauvrir. À voir.
+
Animation du gem : potentiel logo animé sur la landing (rotation lente, scintillement) — à scoper en tant que micro-interaction plus tard.
+
Iconographie : on n'a pas tranché le set d'icônes UI (Lucide, Phosphor, custom ?). Pour le MVP, je recommande Lucide en regular weight — neutre et libre.
+
+
+
+
+
+
diff --git a/docs/decisions.md b/docs/decisions.md
new file mode 100644
index 0000000..cfcd498
--- /dev/null
+++ b/docs/decisions.md
@@ -0,0 +1,213 @@
+# Log de décisions — Rubis Sur l'Ongle
+
+> Format ADR-light. Chaque décision : contexte, décision, rationale, alternatives, statut. Append-only — on n'efface jamais une décision passée, on en ajoute une nouvelle qui l'annule si besoin.
+
+---
+
+## ADR-001 · Conversion 1 rubis = 10 minutes libérées
+
+- **Date** : 2026-05-05
+- **Statut** : ✅ Validée
+- **Contexte** : la gamification "rubis gagnés" a besoin d'une conversion défendable et tangible.
+- **Décision** : 1 rubis = 10 minutes libérées (≈ une relance manuelle complète).
+- **Rationale** :
+ - Cohérent avec le bench *5h gagnées par semaine* (8h → <3h après automatisation).
+ - 10 min est un chiffre rond mémorisable dans la copy.
+ - Borne basse défensible — beaucoup d'études parlent de 15-20 min, on est conservateur, donc incontestable.
+ - Permet ~30 rubis/mois pour une PME type, ~150 pour les power users — bon flywheel de gamification.
+- **Alternatives écartées** :
+ - 1 rubis = 1 € de trésorerie débloquée → trop financier, rompt la promesse temps
+ - 1 rubis = 1 facture encaissée → trop discret pour les utilisateurs faible volume
+ - 1 rubis = 12 ou 15 minutes → moins mémorisable, pas plus défendable
+- **À reconfirmer** : après MVP, via user testing — si les utilisateurs disent "10 min c'est trop" ou "trop peu", on ajustera.
+
+---
+
+## ADR-002 · Direction de logo : A (gem facetté)
+
+- **Date** : 2026-05-05
+- **Statut** : ✅ Validée
+- **Contexte** : 4 directions explorées (A gem facetté, B rubis brut, C wordmark, D ongle littéral).
+- **Décision** : Direction A (gem facetté géométrique) en logo principal V1.
+- **Rationale** :
+ - Iconique, scalable de 16 px à billboard
+ - Naturellement cohérent avec le ◆ utilisé dans les wireframes pour la gamification
+ - Marche en mono, knockout, filigrane
+ - Symbole autonome — fonctionne en favicon et app icon sans wordmark
+- **Alternatives** :
+ - B (rubis brut) : trop joaillerie, risque Cartier
+ - D (ongle littéral) : polarisante, risque "manucure / cosmétique"
+ - C (wordmark) : retenue mais à monter en complément plus tard, pas en V1
+- **Suivi** : à monter le wordmark direction C en V2 pour signature email, doc, contextes éditoriaux.
+
+---
+
+## ADR-003 · Couleur primaire #9F1239
+
+- **Date** : 2026-05-05
+- **Statut** : ✅ Validée
+- **Contexte** : choisir le rouge de la marque parmi plusieurs options.
+- **Décision** : `#9F1239` — rubis profond légèrement violacé.
+- **Rationale** : sophistiqué, distinctif, anti-Coca-Cola. Évoque le rubis "pigeon blood" (vivid red avec hints purple). Différencie radicalement des rouges tech génériques.
+- **Alternatives** :
+ - `#B91C3C` (rose 700) : plus punchy, plus tech
+ - `#881337` : plus dark, plus austère
+ - `#BE123C` : Tailwind rose-700, plus standard
+- **À surveiller** : le contraste sur blanc pur peut être limite pour texte <14 px → utiliser `#771328` (rubis profond) dans ces cas.
+
+---
+
+## ADR-004 · Pas d'or accent
+
+- **Date** : 2026-05-05
+- **Statut** : ✅ Validée
+- **Contexte** : la palette initiale incluait un or `#B89F6B` comme accent rare.
+- **Décision** : abandon total de l'or dans la marque.
+- **Rationale** : "fait très cheap" (Arthur). Risque d'évoquer banque ou bling-bling. La marque tient sans or — rubis + neutres chauds suffit.
+- **Conséquence** : tout document antérieur mentionnant l'or est obsolète sur ce point. La règle devient *rubis + neutres chauds, point*.
+
+---
+
+## ADR-005 · Typographies Bricolage Grotesque + Inter
+
+- **Date** : 2026-05-05
+- **Statut** : ✅ Validée
+- **Contexte** : choisir une paire display + body, libre et accessible.
+- **Décision** :
+ - **Display** : Bricolage Grotesque (500-800)
+ - **Body** : Inter (400-700)
+ - Les deux sur Google Fonts.
+- **Rationale** :
+ - Bricolage apporte un caractère "français contemporain" qui différencie de la galaxie Stripe/Linear/Notion sans tomber dans le designer-flex
+ - Inter est le workhorse incontesté pour l'UI moderne, hyper-lisible, neutre
+ - Les deux sont gratuites, installables en 30 secondes
+- **Alternatives** :
+ - General Sans : retenue mais plus neutre, moins ownable
+ - Söhne : payante, hors scope MVP
+ - Inter Display + Inter : trop monochrome, pas de personnalité
+
+---
+
+## ADR-006 · Iconographie : Lucide
+
+- **Date** : 2026-05-05
+- **Statut** : ✅ Validée (tranche-claude)
+- **Contexte** : choisir un set d'icônes pour l'UI.
+- **Décision** : Lucide en regular weight (1.5px stroke).
+- **Rationale** :
+ - 1 400+ icônes, couvre tous les use cases
+ - Licence MIT, pas de dépendance commerciale
+ - Cohérent avec le ton "précis pas froid"
+ - Bien intégré dans l'écosystème JS (React, Vue, Svelte, Vanilla)
+- **Alternatives** :
+ - Phosphor Icons : très joli mais moins universel
+ - Heroicons : trop associé Tailwind
+ - Custom set : hors scope MVP, retour sur investissement faible
+- **Règle** : le ◆ (gem) reste un SVG custom, jamais une icône Lucide.
+
+---
+
+## ADR-007 · Mise en demeure : validation manuelle obligatoire
+
+- **Date** : 2026-05-05
+- **Statut** : ✅ Validée
+- **Contexte** : l'étape J+20 (ou équivalent) du plan ferme est une mise en demeure. Doit-elle être envoyée automatiquement comme les autres relances ?
+- **Décision** : **non**. Toute mise en demeure passe par une **modale de confirmation** où l'utilisateur clique explicitement "Envoyer la mise en demeure".
+- **Rationale** :
+ - Risque légal : la mise en demeure a des conséquences juridiques
+ - Risque relationnel : peut casser une relation client durablement
+ - Le moment où l'utilisateur veut reprendre le contrôle, c'est exactement à cette étape
+- **UX** : la modale rappelle le contexte légal (loi LME), affiche le contenu de l'email, et propose deux boutons distincts ("Envoyer maintenant" / "Reporter à plus tard").
+- **Anti-pattern à éviter** : checkbox d'auto-envoi, même opt-in. Pas négociable.
+
+---
+
+## ADR-008 · Banking V1 : check-in email à l'utilisateur
+
+- **Date** : 2026-05-05
+- **Statut** : ✅ Validée
+- **Contexte** : sans intégration bancaire en V1, comment éviter de relancer un client qui a déjà payé hors plateforme ?
+- **Décision** : avant chaque envoi de relance, Rubis envoie un email **à l'utilisateur** (pas au client) demandant : "Avez-vous été payé pour la facture X ?" avec deux boutons (Oui / Non).
+ - L'utilisateur configure la cadence et le timing (ex. T-2 jours avant la relance suivante)
+ - "Oui" → facture marquée encaissée, plan stoppé
+ - "Non" ou pas de réponse → la relance part comme prévu
+- **Rationale** :
+ - Évite les relances fantômes sur factures déjà payées
+ - Garde l'utilisateur informé sans le surcharger
+ - Architecture compatible V2 banking : le check-in V1 devient simplement un fallback quand on ajoutera Bridge / Tink / GoCardless
+- **Contrainte architecturale** : modèle d'événement abstrait `payment_status_check` qui peut être déclenché par email-réponse OU webhook bancaire. L'app ne doit pas savoir d'où vient le signal.
+
+---
+
+## ADR-009 · SMS et multi-utilisateurs : V2, plans payants
+
+- **Date** : 2026-05-05
+- **Statut** : ✅ Validée
+- **Contexte** : décider du périmètre V1 vs V2 sur deux features demandées.
+- **Décision** :
+ - **SMS** : V2 uniquement, **plan le plus cher seulement** (Business)
+ - **Multi-utilisateurs** : V2 uniquement, **plans payants seulement** (Pro et Business, pas Free)
+- **Rationale** :
+ - SMS = coût marginal direct (Twilio/OVH/etc.) → doit être monétisé sur le palier le plus rentable
+ - Multi-utilisateurs ajoute de la complexité (rôles, invitations, audit) → out of MVP, et c'est un argument upgrade naturel pour les plans payants
+- **Conséquence sur l'archi** :
+ - DB structurée multi-tenant dès V1 (`organization` → `users` → `invoices`) pour ne pas refactorer
+ - Modèle d'envoi message abstrait (un message peut être email V1, ou SMS/email V2)
+
+---
+
+## ADR-010 · Pas d'intégration banking en V1
+
+- **Date** : 2026-05-05
+- **Statut** : ✅ Validée
+- **Contexte** : l'intégration banking (Bridge / Tink / Powens) automatiserait la réconciliation des paiements.
+- **Décision** : pas en V1. Remplacée par check-in email (ADR-008).
+- **Rationale** :
+ - Coût d'implémentation important (DSP2, agréments, gestion des erreurs banking)
+ - Impose de toucher aux données financières du client → friction RGPD/sécurité
+ - Le check-in email résout 80 % du problème pour 10 % du coût
+- **À prévoir en V1** : architecture événementielle qui rendra l'intégration V2 mécanique (cf. ADR-008).
+
+---
+
+## ADR-011 · "3 clics maximum" est une règle de design, pas un compteur
+
+- **Date** : 2026-05-05
+- **Statut** : ✅ Validée (clarification)
+- **Contexte** : la promesse "3 clics" est dans le pitch et la landing. Doit-on la respecter strictement à chaque parcours ?
+- **Décision** : c'est une **règle de design** (l'utilisateur doit faire le minimum d'actions possible) plus qu'un compteur strict. Si le plan par défaut est bien configuré, 2 clics suffisent. Si le contexte demande plus, on peut aller à 4.
+- **Rationale** : "3 clics" est une promesse marketing claire et mémorable. Le vrai principe sous-jacent est "minimum d'actions utilisateur".
+- **Application** :
+ - Le storyboard hero (drop → valider → récompense) doit absolument tenir en 3 clics ou moins
+ - Les flows secondaires (changer un plan, archiver) peuvent dépasser sans casser la promesse
+ - On ne sacrifie pas la clarté pour économiser un clic
+
+---
+
+## Décisions à venir (en attente)
+
+| # | Sujet | Pourquoi en attente |
+|---|---|---|
+| 012 | Stack technique (framework, DB, OCR provider, email provider, hosting) | À formaliser avec Arthur |
+| 013 | Tagline finale | 5 candidates dans `/munitions-marketing.md`, pas tranchée |
+| 014 | Structure DB / domain model | Dépend de 012 |
+| 015 | Pricing exact (Free 5 factures ? Pro 19 € ?) | À tester avant figer |
+| 016 | Provider OCR (Mindee, Document AI, Textract, open-source) | Dépend de coût/qualité — à benchmarker |
+
+---
+
+## Comment ajouter une décision
+
+```markdown
+## ADR-XXX · Titre court
+
+- **Date** : YYYY-MM-DD
+- **Statut** : ✅ Validée | 🟡 En cours | ❌ Annulée par ADR-YYY
+- **Contexte** : la situation qui appelle la décision
+- **Décision** : ce qu'on fait
+- **Rationale** : pourquoi (avec preuves/data si possible)
+- **Alternatives écartées** : ce qu'on n'a pas fait, et pourquoi
+- **Conséquences** : impact sur l'archi, le produit, la marque
+```
+
+Quand une décision est remise en cause, on **ajoute** un ADR qui annule l'ancien (jamais éditer rétroactivement). C'est ça qui rend le log fiable comme mémoire d'équipe.
diff --git a/docs/marque.md b/docs/marque.md
new file mode 100644
index 0000000..0c01b67
--- /dev/null
+++ b/docs/marque.md
@@ -0,0 +1,242 @@
+# Référence de marque — Rubis Sur l'Ongle
+
+> Version : 0.1 · Dernière maj : 2026-05-05
+
+Ce document est la source de vérité écrite pour la marque. Pour la présentation visuelle, voir `/brand-identity.html`. Quand les deux divergent, ce fichier gagne.
+
+---
+
+## 1. Quatre principes fondateurs
+
+Ils ne décrivent pas la marque comme elle est aujourd'hui — ils décrivent **comment trancher quand on hésite**.
+
+1. **Chaleureux, pas corporate.** Couleurs chaudes, neutres crème, typographie humaniste. On parle à un boulanger ou une consultante, pas à une DAF.
+2. **Précis, pas froid.** Les chiffres sont nets. Les marges sont disciplinées. Mais on garde toujours un peu d'âme — un détail typo, un mot bien placé.
+3. **Action, pas finance.** On dit "lancer", "récupérer", "gagné". Jamais "DSO", "créances", "AR aging" en com publique.
+4. **Le rubis est central, pas décoratif.** Une couleur, une forme. Pas trois rouges, pas dix variantes du logo.
+
+## 2. Logo
+
+### Direction validée : A — Le gem facetté
+
+Un rubis géométrique vu de dessus, kite/diamond shape avec facettes suggérées.
+
+**Caractéristiques** :
+- Polygone à 4 pointes (rhombus)
+- Ligne horizontale médiane (la "table" du gem) en blanc semi-transparent
+- 4 lignes diagonales internes pour suggérer les facettes (haut clair, bas sombre)
+- Couleur : `#9F1239` plein, ou dégradé `#C9415C` → `#9F1239` pour les grands formats
+
+**Usages** :
+- Favicon (16-32 px)
+- App icon
+- Picto réseaux sociaux / avatar
+- Lockup horizontal avec wordmark "Rubis"
+- Compteur de gamification dans l'app (◆ + nombre)
+
+**À ne jamais faire** :
+- Rotation rapide ou scintillement disco
+- Variantes "ouvertes" (juste le contour) en dessous de 32 px → illisible
+- Mélange avec d'autres formes géométriques (étoile, cœur, etc.)
+
+### Wordmark (direction C — à compléter plus tard)
+
+À monter en complément en V2 : `rubis` en Bricolage Grotesque 800 italic, avec le point du `i` remplacé par un petit ◆. Servira de signature dans la doc, les emails, certains contextes éditoriaux.
+
+### Direction écartée : B (rubis brut organique) et D (sur l'ongle littéral)
+
+- B : trop joaillerie, risque de glisser vers Cartier
+- D : polarisante, risque de "manucure / cosmétique" hors contexte. Garder éventuellement pour de la com éditoriale (ads, illustrations) plus tard.
+
+## 3. Couleurs
+
+### Palette de marque
+
+| Rôle | Nom | Hex | Usage |
+|---|---|---|---|
+| Primaire | Rubis | `#9F1239` | CTA, accents, ◆ gamification, jamais en grand aplat |
+| Secondaire | Rubis profond | `#771328` | Hover, pressed, headers sombres |
+| Secondaire | Rubis clair | `#C9415C` | Survol, dégradés, illustrations |
+| Tertiaire | Rubis glow | `#FBE4EA` | Backgrounds doux, panneaux mis en avant, états succès |
+
+### Neutres chauds
+
+| Rôle | Nom | Hex | Usage |
+|---|---|---|---|
+| Page | Crème | `#FAF7F2` | Fond principal — **jamais de blanc pur (#FFF)** |
+| Surface 2 | Crème 2 | `#F5EFE7` | Sidebar, surfaces secondaires |
+| Lignes | Lignes | `#E8E0D6` | Bordures, séparateurs |
+| Texte muted | Encre 3 | `#8A7F76` | Métadonnées, labels |
+| Texte body | Encre 2 | `#4F4640` | Corps de texte |
+| Texte fort | Encre | `#1A1410` | Titres, logo mono — **jamais de #000** |
+
+### Couleurs interdites
+
+- ~~Or accent~~ : abandonné (paraît cheap)
+- Bleu, vert, violet : aucune autre famille colorée n'entre dans la marque
+- Orange ou écarlate : si on veut un rouge, c'est rubis ou rien
+
+### Règle d'or
+
+> Le rubis est rare — c'est ce qui le rend précieux. **Une page = un seul aplat fort de rubis maximum.** Tout le reste = neutres chauds.
+
+## 4. Typographie
+
+### Pair principale
+
+| Usage | Typo | Source | Poids utilisés |
+|---|---|---|---|
+| Display (titres) | **Bricolage Grotesque** | Google Fonts | 500, 600, 700, 800 |
+| Body (texte courant, UI) | **Inter** | Google Fonts | 400, 500, 600, 700 |
+
+### Échelle typographique
+
+| Rôle | Taille | Poids | Letter-spacing | Line-height |
+|---|---|---|---|---|
+| Display | 56 px | 700 | -0.025em | 1.05 |
+| H1 | 36 px | 700 | -0.022em | 1.1 |
+| H2 | 24 px | 600 | -0.015em | 1.2 |
+| H3 | 18 px | 600 | -0.01em | 1.3 |
+| Body | 15 px | 400 | normal | 1.55 |
+| Small | 13 px | 400 | normal | 1.5 |
+| Caps | 11 px | 600 | 0.12em | 1.4 |
+
+### Règles
+
+- Titres en italic rubis sur le mot-clé (`em` color: `#9F1239`) pour casser l'austérité — **un seul mot par titre**
+- Caps (Eyebrow) toujours en `#9F1239`, jamais en gris
+- Inter pour tous les chiffres (rubis comptés, montants, dates) — features `tabular-nums` pour aligner
+- Bricolage en italic réservé aux moments de personnalité, jamais en bloc de texte
+
+## 5. Iconographie
+
+### Set : Lucide
+
+- Source : [lucide.dev](https://lucide.dev) · MIT · 1 400+ icônes
+- Poids par défaut : **regular** (1.5px stroke)
+- Taille standard UI : 16 px (inline), 20 px (boutons), 24 px (sidebar)
+- Couleur : `currentColor` — hérite du contexte texte
+
+### Pourquoi Lucide
+
+- Cohérent avec le ton "précis pas froid" — moderne mais pas designer-flex
+- Couvre tous les use cases UI sans gymnastique
+- Pas de dépendance commerciale, MIT
+- Bien intégré React/Next/Vue/Vanilla
+
+### Icônes spéciales
+
+- **◆ (rubis/gem)** : SVG custom (le logo lui-même), JAMAIS une icône Lucide. C'est notre signe distinctif.
+- **Drag handle, dropzone** : peuvent utiliser Lucide `upload-cloud`, `move`, `grip-vertical`
+- **Statuts factures** : utiliser des chips colorés (cf. wireframes), pas des icônes seules
+
+## 6. Voix & ton
+
+### Caractéristiques
+
+| Trait | On dit | On ne dit pas |
+|---|---|---|
+| **Direct** | "Vos factures relancées toutes seules." | "Optimisez votre processus de recouvrement amiable." |
+| **Concret** | "5 heures par semaine récupérées." | "Améliorez significativement votre productivité." |
+| **Chaleureux** | "Bonjour Arthur 👋" | "Bienvenue dans votre espace client." |
+| **Précis** | "Plus de 67 % des PME respectent les délais." | "De nombreuses entreprises sont sérieuses." |
+| **Empathique** | "On sait que c'est pénible. C'est pour ça qu'on le fait à votre place." | "Notre solution résout efficacement votre douleur." |
+| **Fier (sans arrogance)** | "Notre OCR comprend les factures françaises mieux que personne." | "Une intelligence artificielle révolutionnaire." |
+
+### Vocabulaire
+
+**À utiliser** : relance, temps libéré, récupéré, sérénité, rubis gagnés, vos factures, travailler.
+
+**À éviter dans la com publique** :
+- ~~Recouvrement~~ → trop juridique, fait penser huissier
+- ~~Créances~~ → jargon DAF
+- ~~AR / Accounts Receivable~~ → anglo
+- ~~DSO~~ → réservé au dashboard interne
+- ~~Mauvais payeur~~ → trop accusateur (OK en interne app)
+- ~~Mise en demeure~~ → présent dans l'app mais pas dans la landing
+
+**À manier avec précaution** :
+- *Impayés* → OK pour la stat, pas le cœur de la promesse (la majorité des cas sont des "retards", pas des "impayés")
+- *Mise en demeure* → présent mais désamorcé visuellement, jamais en pop-up promotionnel
+
+### Emojis
+
+- **OK** : 👋 (accueil), ✓ (succès), ↘ (delta négatif positif comme baisse de DSO)
+- **Pas OK** : 💎, 💰, 🚀, 🔥, 💪 — trop crypto / startup-bro
+
+## 7. Microcopy & state messages
+
+### Notifications & feedback
+
+| Situation | Message |
+|---|---|
+| Inscription réussie | "Bienvenue. Votre compte est prêt." |
+| Première facture importée | "Première facture en route. + 1 rubis." |
+| Relance envoyée | "Relance envoyée à {{client}}. Vous pouvez retourner travailler." |
+| Facture marquée encaissée | "Encaissée. + {{X}} rubis bien mérités." |
+| Erreur OCR | "On n'a pas tout compris. Vous pouvez compléter à la main ?" |
+| Erreur technique | "Quelque chose a coincé. On a noté, on regarde." |
+
+### Empty states
+
+- Pas de factures : "Glissez vos PDF ici. L'OCR fait le reste."
+- Pas encore de rubis : "Vos premiers rubis arrivent dès la première relance lancée."
+- Pas de plans personnalisés : "4 plans standards déjà prêts. Vous pouvez en créer un sur-mesure."
+
+## 8. Do & Don't
+
+### À faire
+
+- Utiliser le rubis avec parcimonie — un seul aplat fort par écran maximum
+- Préférer le crème `#FAF7F2` au blanc pur partout
+- Garder les titres en Bricolage 600/700, jamais en regular
+- Aligner les chiffres (montants, rubis, dates) en colonnes nettes
+- Touche d'italique rubis sur le mot-clé d'un titre pour casser l'austérité
+- Utiliser le ◆ comme marqueur de gamification, jamais comme bullet générique
+
+### À éviter
+
+- Le rouge en aplat sur plus de 30 % d'un écran
+- Le noir pur (#000) — toujours `#1A1410`
+- Le blanc pur (#FFF) sur grande surface — toujours `#FAF7F2`
+- Mélanger le rubis avec d'autres rouges (orange, écarlate)
+- Les emojis joaillerie 💎 ou financiers 💰
+- Le mot "recouvrement" dans la copy publique
+- Ajouter du bleu, vert, violet pour "varier" — Rubis = rubis et neutres, point
+- Animer le gem en rotation rapide ou en sparkle disco
+
+## 9. Application sur les supports
+
+### Email transactionnel
+
+- Header : logo (gem + wordmark) sur crème
+- Corps : Inter 15 px, ligne 1.55, encre `#1A1410`
+- CTA principal : bouton plein rubis, blanc dessus
+- Footer : adresse postale (LME requis), lien désabonnement, mention "Envoyé via Rubis"
+
+### Landing page
+
+- Background page : crème `#FAF7F2`
+- Hero : titre Bricolage 700 56px, italique rubis sur 1 mot
+- CTA primaire : `#9F1239` plein, ombre douce `0 2px 6px rgba(159,18,57,0.25)`
+- Sections : alternance crème / crème 2 (pas de gris), séparées par 1px ligne `#E8E0D6`
+
+### Carte de visite, papeterie
+
+- Format européen 85 × 54 mm
+- Logo gem + wordmark en haut-droite
+- Texte aligné à gauche, Inter 11 pt
+- Verso : aplat crème ou rubis (au choix), pas les deux
+
+### Réseaux sociaux
+
+- Avatar : gem facetté blanc sur fond rubis (cf. app icon)
+- Bannière : phrase courte Bricolage sur crème, gem en watermark à 18 % opacité
+- Posts ads : titre fort Bricolage, ◆ en eyebrow, CTA URL en bas
+
+## 10. Notes ouvertes
+
+- **Custom font** : à long terme, considérer une typo custom dérivée de Bricolage pour gagner en ownability. Pas en V1.
+- **Animation logo** : potentiel gem animé sur la landing (rotation lente, micro-scintillement). À scoper plus tard.
+- **Variantes saisonnières** : la marque pourrait avoir des moods (Noël, fin d'année fiscale). À évaluer post-MVP.
+- **Accessibilité** : vérifier les contrastes — `#9F1239` sur crème = AAA pour le texte, OK ; `#9F1239` sur blanc pur peut être limite pour le texte de petite taille → préférer `#771328` dans ces cas.
diff --git a/docs/munitions-marketing.md b/docs/munitions-marketing.md
new file mode 100644
index 0000000..e673de0
--- /dev/null
+++ b/docs/munitions-marketing.md
@@ -0,0 +1,254 @@
+# Rubis Sur l'Ongle — Munitions marketing
+
+> Recherche datée du 5 mai 2026 · sources : Banque de France (Observatoire des délais de paiement 2024), Altares, Sénat, INSEE, AFDCC, Sidetrade/Médiateur des entreprises, DGCCRF.
+
+---
+
+## 1 · Les 5 chiffres-choc pour la landing
+
+À mettre en avant dans le hero / first scroll. Choisis ceux qui résonnent le mieux avec le ton final.
+
+| Stat | Punch line possible | Source |
+|---|---|---|
+| **15 Md€ de trésorerie bloquée** chez les PME françaises à cause des retards de paiement | *« 15 milliards d'euros que les PME devraient toucher. Et qu'elles courent après. »* | Observatoire BdF 2024 |
+| **+25 % de risque de faillite** quand une entreprise subit des retards de paiement | *« 1 entreprise sur 4 qui fait faillite paie le prix d'une facture jamais relancée. »* | Banque de France |
+| **44 jours** : retard moyen de paiement pour une TPE en France | *« En France, on paie ses TPE 44 jours en retard. La loi en autorise 0. »* | Altares 2024 |
+| **−26 %** de taux de recouvrement si la première relance arrive 30 jours après l'échéance | *« Chaque jour sans relance, c'est de l'argent qui s'évapore. »* | AFDCC |
+| **5h / semaine** gagnées par les PME qui automatisent leurs relances (8h → <3h) | *« 5 heures de votre semaine récupérées. À chaque semaine. »* | Bench logiciels relance client |
+
+**Recommandation :** ouvrir la landing sur **les 5h/semaine** (bénéfice utilisateur direct, émotionnel) et garder les **15 Md€** comme chiffre de magnitude pour la crédibilité, plus bas dans la page.
+
+---
+
+## 2 · Le détail des chiffres (par thème)
+
+### 2.1 — État des paiements en France
+
+- **Délai moyen de paiement fournisseurs interentreprises** : **14,1 jours** (2025) au-delà du délai contractuel.
+- **Retard moyen** : **13,6 jours** fin 2024 (en hausse de +1 jour vs 2023). Niveau supérieur à la moyenne européenne.
+- **Délai global moyen** : **44 jours** entre entreprises, pour une limite légale de 30 jours par défaut (LME).
+- **TPE** : retard moyen de **44 jours**.
+- **Grandes entreprises (>1000 salariés)** : retard moyen de **18 jours** — *« les grandes entreprises sont les moins bons payeurs »* (Altares).
+- **Discipline relative** : >67 % des PME et >75 % des microentreprises paient sous 60 jours. Seule **1 grande entreprise sur 2** y arrive.
+
+### 2.2 — Coût et impact
+
+- **15 Md€ de trésorerie bloquée** pour les PME et microentreprises (jusqu'à **17 Md€** dans certaines estimations 2024).
+- **5 Md€ supplémentaires** côté secteur public (retards de l'État et collectivités).
+- **+25 %** : augmentation du risque de faillite pour une entreprise subissant des retards de paiement (Banque de France).
+- **70 000 entreprises** en procédure (sauvegarde, redressement, liquidation) en 2025 — **+3,1 %** vs 2024.
+- **68 296 défaillances** cumulées sur 12 mois (fin nov. 2025), **+4,4 %** sur un an.
+- **47 % des dirigeants de PME** ont déjà eu recours à un financement court terme pour pallier un retard de paiement.
+- **+18 %** de contrats d'affacturage signés entre 2024 et 2025.
+
+### 2.3 — Cadre légal (loi LME)
+
+- Délai plafond : **60 jours** à compter de l'émission de la facture, ou **45 jours fin de mois**.
+- Sanctions DGCCRF : jusqu'à **75 000 €** (personne physique) ou **2 M€** (personne morale), doublées en cas de récidive.
+- **2025** : 409 entreprises contrôlées, **~47 M€** de sanctions prononcées (Sanofi 1,65 M€, LCL 1,5 M€, Fnac Darty 3,9 M€…).
+- Sénat : proposition de loi (2025) pour durcir encore les sanctions, votée à l'unanimité — climat politique favorable au discours « stop aux retards ».
+
+### 2.4 — Temps passé à relancer
+
+- Avant automatisation : **~8 h / semaine** consacrées aux relances manuelles dans une PME type.
+- Après automatisation : **<3 h / semaine** — **5 h gagnées chaque semaine**, soit **~21 h / mois**.
+- Étude AFDCC : le taux de recouvrement chute de **26 %** quand la première relance dépasse 30 jours post-échéance → l'argument timing est le plus fort.
+- Recommandation des experts : première relance **dès J+1**, idéalement **J0** (le jour de l'échéance) — quasiment infaisable à la main, complètement automatisable avec Rubis.
+
+### 2.5 — Taille du marché
+
+- **4,2 millions de TPE-PME** en France (microentreprises incluses) :
+ - 4,3 M microentreprises (<10 salariés)
+ - 159 000 PME stricto sensu (10–250 salariés)
+- **99,9 %** des entreprises françaises.
+- **6,9 M de salariés en ETP** (45 % des salariés du privé).
+- **35,8 %** du chiffre d'affaires marchand français.
+
+> **Implication go-to-market** : le marché total est gigantesque, mais très fragmenté. Le bon segment d'attaque, c'est probablement les **PME 5–50 salariés** qui émettent ~10–200 factures/mois (segment chip "10–50 / 50–200" du wizard d'onboarding) — assez de volume pour ressentir la douleur, pas assez pour avoir un crédit manager dédié.
+
+---
+
+## 3 · Calibration de la conversion « rubis ↔ temps »
+
+### Hypothèse de base
+
+D'après les benchmarks (8h → 3h) → **5h gagnées par semaine** = **300 min / semaine** = **~1 200 min / mois** = **~75 min / jour ouvré**.
+
+### Conversion proposée
+
+**1 rubis = 10 minutes libérées** (≈ le temps d'une relance manuelle complète : ouvrir l'email, retrouver la facture, rédiger, envoyer, suivre).
+
+| Métrique | Valeur |
+|---|---|
+| 1 rubis | 10 minutes |
+| 1 facture relancée auto | ≈ 1 rubis |
+| Mois moyen d'une PME (~10 factures à relancer × 3 relances) | **~30 rubis = 5 h gagnées** |
+| PME plus active (50 factures × 3 relances) | **~150 rubis = 25 h gagnées** |
+| Ce que dit la maquette dashboard (124 rubis = 24 h 48) | **cohérent** ✓ |
+
+### Pourquoi 10 minutes plutôt que 12 ou 15 ?
+
+- **10 min** = chiffre rond facilement mémorisable dans la copy (« 1 rubis = 10 minutes de votre journée »).
+- C'est la **moyenne basse défendable** — beaucoup d'études parlent de 15-20 min par relance, donc on est conservateur. Un client peut difficilement contester « j'ai mis 5 minutes ».
+- Permet aux power users d'accumuler vite des rubis (effet flywheel de la gamification).
+
+### Variantes possibles
+
+- **1 rubis = 1 € de trésorerie débloquée** : trop financier, rompt avec la promesse temps.
+- **1 rubis = 1 facture encaissée** : trop discret pour les utilisateurs avec faible volume.
+- **1 rubis = 1 relance évitée à la main** (= 10 min) : ✓ recommandé.
+
+---
+
+## 4 · Concurrents & positionnement
+
+### Carte du marché
+
+| Solution | Cible | Focus | Pricing | Positionnement Rubis |
+|---|---|---|---|---|
+| **Dunforce** | ETI / scale-ups B2B | Recouvrement IA multicanal (email, SMS, courrier RAR) | Opaque (« sur demande » à partir d'un seuil) | Trop technique, trop cher pour TPE |
+| **Upflow** | PME B2B mid-market | AR / recouvrement intégré ERP | À partir de plusieurs centaines €/mois | Trop orienté DAF, pas mobile-first |
+| **Sellsy** | TPE-PME | Tout-en-un (CRM + facturation + relance + tréso) | À partir de ~30 €/mois | Trop large, la relance est diluée |
+| **Axonaut** | TPE-PME | Tout-en-un, alternative Sellsy | À partir de 34 €/mois | Idem — pas un outil de relance dédié |
+| **Agicap** | PME | Gestion de trésorerie | Opaque, B2B sales | Bénéfice connexe, pas le même use case |
+| **Henrri / Abby / Cegid Business** | TPE | Facturation | Variable | Pas de moteur de relance vrai |
+
+### Le wedge de Rubis
+
+Quatre angles différenciants à articuler dans la copy :
+
+1. **TPE-PME exclusivement** — on ne fait pas semblant de servir les ETI. Notre UX, notre pricing, notre OCR sont calibrés pour le boulanger qui fait 15 factures/mois, pas pour le DAF d'une scale-up.
+2. **Pure-player relance** — pas un module noyé dans un CRM ou un logiciel de facturation. *« On fait une seule chose et on la fait bien. »*
+3. **Mobile-first + 3 clics** — concurrents = web app pensée desktop, dashboards complexes. Rubis = la photo de facture depuis le tel, et c'est lancé.
+4. **Tonalité émotionnelle / gamification** — concurrents parlent « recouvrement », « créances », « DSO », « AR aging ». Rubis parle **temps libéré, sérénité, fierté**. C'est le positionnement « Notion vs SAP » du marché.
+
+### Phrase-tagline candidate
+
+- *« Rubis Sur l'Ongle. Vos factures relancées toutes seules pendant que vous travaillez. »*
+- *« Arrêtez de courir après votre argent. Rubis le fait pour vous. »*
+- *« 3 clics. Plus jamais de relance manuelle. »*
+- *« Ne mendiez plus jamais ce qu'on vous doit. »* (plus agressif, polarisant — testable)
+- *« L'argent, c'est sérieux. La relance, ça ne devrait plus l'être. »*
+
+> Recommandation : tester en A/B la **1ère** (douce, optimiste) contre la **4ème** (agressive, identitaire) sur Google Ads avant de figer.
+
+---
+
+## 5 · Squelette de landing recommandé
+
+```
+HERO
+ Tagline (cf. ci-dessus)
+ Sous-titre : "L'app de relance de factures pensée pour les TPE-PME françaises.
+ Glissez-déposez vos factures, choisissez un plan, oubliez-les."
+ CTA primaire : "Démarrer gratuitement" (essai sans CB)
+ CTA secondaire : "Voir la démo en 30 secondes" (storyboard 3 clics animé)
+ Visual : storyboard 3.3 du wireframe (drop → valider → +1 rubis)
+
+BLOC CHIFFRES (3 stats)
+ 44 jours de retard moyen pour une TPE
+ 15 Md€ bloqués chez les PME françaises
+ -26% de chances de récupérer si vous attendez 30 jours
+
+PROMESSE
+ "Votre temps vaut plus que ça."
+ Texte court : 5h/semaine récupérées en moyenne avec Rubis. À 50€/h facturés, c'est 1000€/mois de votre temps que vous récupérez.
+
+3 ÉTAPES (storyboard détaillé)
+ 1. Glissez vos factures (drag & drop, OCR auto)
+ 2. Choisissez votre plan de relance (4 modèles fournis)
+ 3. C'est tout. Rubis envoie, suit, relance.
+
+GAMIFICATION (la grosse différenciation)
+ "Compteur rubis"
+ Chaque relance automatisée = 1 rubis = 10 minutes de votre vie récupérées.
+ Visuel : compteur animé "124 rubis ce mois → 24h48 libérées"
+ Bonus social : "Vous êtes dans le top 15% des utilisateurs"
+
+TÉMOIGNAGES (à constituer post-MVP)
+ Profils visés : artisan, prestataire B2B, freelance, TPE service.
+ Format vidéo court (30s) > photo + verbatim.
+
+CADRE LÉGAL (rassurer)
+ Bandeau court rappelant : la LME autorise jusqu'à 75 000€ d'amende, le Sénat durcit la loi en 2025. Vous êtes dans votre droit. Rubis le fait pro et sans agressivité.
+
+PRICING (3 paliers)
+ À cadrer — voir section 6 ci-dessous.
+
+FAQ
+ (1) Et si mon client paye après ma relance — que se passe-t-il ?
+ (2) Mes factures restent-elles privées ?
+ (3) Et si je veux relancer manuellement ?
+ (4) Puis-je personnaliser les emails ?
+ (5) Combien de temps pour démarrer ?
+
+CTA FOOTER : "Récupérez vos premières heures cette semaine."
+```
+
+---
+
+## 6 · Pistes pricing (à confirmer)
+
+Pas de chiffres figés tant qu'on n'a pas testé, mais les bornes du marché donnent une fenêtre :
+
+| Concurrent | Prix d'entrée |
+|---|---|
+| Henrri | gratuit (facturation seule) |
+| Axonaut | 34 €/mois |
+| Sellsy | ~30 €/mois |
+| Upflow / Dunforce | sur devis (plusieurs centaines €) |
+
+**Hypothèse à tester :**
+
+- **Free** : jusqu'à 5 factures actives en relance (attire les freelances, montre la valeur).
+- **Pro** : 19 €/mois (10–50 factures, OCR illimité, 4 plans, 1 utilisateur) → **prix d'entrée agressif** vs Sellsy/Axonaut, défensable car on est mono-produit.
+- **Business** : 49 €/mois (illimité, multi-utilisateurs, branding email, intégration banking).
+
+> Le sweet spot du discours : *« moins cher qu'une heure de votre temps mensuel »*. À 50 €/h facturés, 19 €/mois est trivial à vendre.
+
+---
+
+## 7 · Vocabulaire à privilégier / à éviter
+
+### À privilégier
+- **Relance** (terme universel et clair)
+- **Temps libéré / récupéré**
+- **Sérénité**
+- **Rubis gagnés**
+- **Vos factures se relancent toutes seules**
+- **Travailler, pas relancer**
+
+### À éviter
+- ~~Recouvrement~~ → trop juridique, fait peur (associé à huissier)
+- ~~Créances clients~~ → jargon DAF, pas TPE
+- ~~AR / Accounts Receivable~~ → anglo, pas le ton
+- ~~DSO~~ → réservé au dashboard, pas à la landing
+- ~~Mauvais payeur~~ → trop accusateur côté grand public, OK en interne app
+- ~~Recouvrement amiable~~ → connotation contentieux
+
+### À manier avec précaution
+- **Mise en demeure** : présent dans le produit (étape 3 du plan) mais pas dans la landing — risque de rebuter l'utilisateur qui ne veut pas être un "harceleur" de clients.
+- **Impayés** : OK pour la stat ("17 Md€ d'impayés") mais ne pas en faire le cœur de la promesse — beaucoup d'utilisateurs ont des retards, pas des "impayés".
+
+---
+
+## 8 · Sources (pour citation dans la landing si besoin)
+
+- **Banque de France** — Observatoire des délais de paiement 2024 (rapport publié 10 juillet 2025)
+- **Altares** — Délais de paiement interentreprises 2024 (publié 28 juillet 2025)
+- **INSEE** — Statistiques entreprises 2024 (référentiel TPE-PME)
+- **AFDCC** (Association Française des Credit Managers) — études formation recouvrement
+- **DGCCRF** — Bilan contrôles 2025 délais de paiement
+- **Sénat** — Proposition de loi Olivier Rietmann (2025) contre les retards de paiement
+- **Sidetrade / Médiateur des entreprises** — Baromètre des factures bloquées 2024
+- **Allianz Trade**, **Coface** — études récurrentes risque-crédit B2B France
+
+---
+
+## 9 · Questions ouvertes à trancher
+
+1. **Verrouille la conversion rubis** : 1 rubis = 10 minutes ou autre ? Si on bouge ce chiffre, tout le storytelling bouge.
+2. **Tonalité tagline** : optimiste/douce ou identitaire/polarisante ? Différents archétypes de marque.
+3. **Place du chiffre € dans le hero** : on parle uniquement temps, ou on chiffre aussi le manque à gagner en € (ex. *« 1000 €/mois récupérés »*) ?
+4. **Pricing freemium ou trial 14 jours** ? Free attire mais peut cannibaliser le payant si la limite est mal placée.
+5. **Faut-il un mot fort sur la dimension "made in France"** ? Aujourd'hui pas exploité, mais pertinent pour la cible TPE et les enjeux légaux LME.
diff --git a/docs/produit.md b/docs/produit.md
new file mode 100644
index 0000000..702f097
--- /dev/null
+++ b/docs/produit.md
@@ -0,0 +1,194 @@
+# Spécification produit — Rubis Sur l'Ongle
+
+> Version : 0.1 (MVP) · Dernière maj : 2026-05-05
+
+Ce document est la source de vérité produit. Il décrit ce qu'on fait, pour qui, comment, et **ce qu'on ne fait pas**. Quand un wireframe et ce document divergent, ce document gagne.
+
+---
+
+## 1. Vision
+
+Rubis Sur l'Ongle libère le temps des dirigeants de TPE-PME en automatisant la relance des factures impayées. Là où les concurrents proposent des outils de "recouvrement" complexes pour DAF d'ETI, on propose un outil **émotionnellement orienté temps libéré**, conçu pour qu'un boulanger ou une consultante puisse l'utiliser en autonomie en moins de 5 minutes.
+
+## 2. Cible
+
+### Profil principal
+
+- **Taille** : TPE-PME, 5 à 50 salariés
+- **Volume** : 10 à 200 factures émises par mois
+- **Décideur** : le dirigeant lui-même, ou son comptable interne (1 personne max)
+- **Pas de** : crédit manager, DAF, équipe finance dédiée
+- **Outils existants** : facturation déjà gérée ailleurs (Sage, Pennylane, Henrri, Excel) — **on ne remplace pas** le logiciel de facturation, on relance ce qui sort de là
+
+### Persona type
+
+> "Sophie, 42 ans, gérante d'une SARL de prestation B2B (5 salariés). Elle émet 30 factures/mois, 6 sont en retard à tout moment. Elle relance le lundi soir entre 19h et 20h, à la main, en pestant. Elle a essayé un Excel de suivi qui n'a pas tenu 3 mois. Elle gagne 80 €/h facturés. Sa douleur : ne pas pouvoir oublier les retards mentalement."
+
+### Anti-persona
+
+- DAF d'ETI > 250 salariés (use case Dunforce/Upflow)
+- Freelance unique avec 3 factures/mois (volume insuffisant pour ressentir la douleur)
+- Pure facturation B2C (pas notre cas d'usage)
+
+## 3. Principes UX
+
+1. **3 clics maximum** pour lancer une relance sur une nouvelle facture. Idéal : 2 si plan par défaut bien configuré.
+2. **Mobile first** sur le geste rapide (photo de facture en déplacement). Desktop pour la config et le suivi.
+3. **L'OCR fait 90 %, l'humain 10 %** — l'utilisateur corrige, ne saisit pas.
+4. **Plans pré-fournis** — 4 modèles par défaut, l'utilisateur n'arrive jamais sur une page blanche.
+5. **Le ton monte progressivement** — rappel doux → relance ferme → mise en demeure (jamais auto).
+6. **Toute action irréversible passe par une modale de confirmation** — envoyer une mise en demeure, supprimer un plan utilisé, archiver une facture en cours.
+
+## 4. Fonctionnalités V1 (IN)
+
+### 4.1 Authentification & onboarding
+
+- Inscription email/password (2 champs minimum)
+- Google SSO en option
+- Onboarding 3 étapes au max :
+ 1. Compte (email, mot de passe)
+ 2. Entreprise (nom, SIRET facultatif, secteur, volume mensuel via chips)
+ 3. Signature email (nom, fonction, coordonnées) — sera utilisée dans tous les emails de relance
+
+### 4.2 Gestion des factures
+
+- **Drag & drop** : zone d'upload acceptant PDF, PNG, JPG, jusqu'à 20 fichiers en simultané
+- **OCR automatique** sur l'upload — extrait : client, email, numéro de facture, montant TTC, date d'échéance
+- **Vérification OCR** : interface split (PDF à gauche, formulaire pré-rempli à droite). Tous les champs déjà remplis, l'utilisateur corrige uniquement
+- **Saisie manuelle** : modale 6 champs avec recherche client autocomplete
+- **Liste filtrable** : par statut (toutes, à relancer, en relance, encaissées, litige) via chips
+- **Actions en lot** : checkboxes pour relancer manuellement, changer le plan, archiver
+
+### 4.3 Plans de relance
+
+- **Bibliothèque** : 4 plans pré-fournis par défaut
+ - *Standard B2B* : J+3, J+10, J+20 (mise en demeure brouillon)
+ - *Premium clients VIP* : J+7, J+15, J+30 — ton doux
+ - *Court cash flow tendu* : J+1, J+5, J+10 — ton ferme
+ - *Personnalisable* : à créer par l'utilisateur
+- **Éditeur** : cadence à gauche, contenu email à droite. Variables sous forme de chips drag-to-insert (`{{prenom_client}}`, `{{numero}}`, `{{montant}}`, `{{date_echeance}}`, `{{signature}}`)
+- **Tonalité** affichée comme tag visible (Doux / Standard / Ferme)
+
+### 4.4 Check-in email (réconciliation V1)
+
+> Remplace l'intégration banking en V1.
+
+**Comment ça marche** :
+1. L'utilisateur configure dans son plan : "Vérifier auprès de moi avant chaque relance" (oui/non + délai en jours, ex. T-2 jours avant la relance suivante)
+2. À T-2 du prochain envoi prévu, Rubis envoie un email **à l'utilisateur** : *"Avez-vous été payé pour la facture F-2024-0042 (1 240 €, Boulangerie Martin) ?"* avec deux boutons : **Oui (stopper le plan)** / **Non (continuer la relance)**
+3. Si l'utilisateur répond "Oui" → la facture est marquée encaissée, le plan est arrêté
+4. Si l'utilisateur répond "Non" ou ne répond pas dans le délai → la relance part comme prévu
+
+**Pourquoi cette mécanique** :
+- Évite les relances "fantômes" sur des factures déjà payées hors plateforme
+- Conserve l'utilisateur en boucle sans le surcharger
+- Architecture compatible avec le futur banking : à terme, le check-in sera automatique via la banque, l'email user devient fallback
+
+**À prévoir côté architecture V1** :
+- Modèle d'événement réutilisable (`payment_status_check`) qui peut être déclenché par email-réponse OU plus tard par webhook bancaire
+- Le statut de la facture (`pending`, `paid`, `awaiting_user_confirmation`, `cancelled`) doit être pivotable, pas spécifique au flow email
+
+### 4.5 Mise en demeure
+
+- **Toujours validation manuelle** via modale de confirmation. Pas de checkbox d'auto-envoi, c'est une décision produit forte.
+- Modale affiche : montant, client, contenu de l'email, conséquences légales rappelées (loi LME)
+- Utilisateur doit explicitement cliquer "Envoyer la mise en demeure" pour activer l'envoi
+- Email envoyé en accusé de réception possible (option), pas par défaut
+
+### 4.6 Dashboard & rubis
+
+- **Hero** : compteur de rubis du mois en cours, conversion en heures libérées
+- **KPIs** : factures à relancer, en relance, encaissé du mois, DSO moyen
+- **Activité du jour** : flux des actions automatiques exécutées par Rubis
+- **Top mauvais payeurs** : top 3 clients avec le plus de retards (interne uniquement, jamais visible côté client)
+
+### 4.7 Détail facture
+
+- Timeline mixant passé (plein) et futur (estompé) des étapes du plan
+- Tracking d'ouverture des emails (X ouvertures)
+- Bouton "Relancer maintenant" pour envoi manuel hors cadence
+- Notes internes en libre
+
+### 4.8 Mobile
+
+- Responsive web (pas d'app native en V1)
+- Action prioritaire : "Photo de facture" (use de la caméra → OCR)
+- Tab bar 4 entrées max : Accueil · Factures · Plans · Réglages
+- Le rubis reste hero du mobile
+
+## 5. Fonctionnalités OUT (V2+)
+
+### V2 (planifié)
+
+- **SMS** : étape de relance par SMS, **réservé au plan le plus cher**
+- **Multi-utilisateurs** : invitations, rôles (admin / éditeur / lecteur), **réservé aux plans payants**
+- **Personnalisation avancée des emails** : signature HTML, logo client, branding sortant
+- **Wordmark logo** (direction C) : à monter en complément du logo A
+
+### V3+ (plus tard, à anticiper en archi)
+
+- **Intégration banking** : Bridge / GoCardless / Tink, réconciliation automatique. Le check-in V1 devient un fallback
+- **Intégrations comptable** : Sage, Pennylane, Quickbooks, Pennylane, Cegid
+- **Multi-devises et multi-langues**
+- **API publique** pour les ERP partenaires
+- **App native** iOS/Android
+
+### Hors scope définitif
+
+- Émission de factures (on ne devient pas un Henrri-bis)
+- CRM / pipeline commercial (on ne devient pas Sellsy)
+- Gestion de trésorerie complète (on ne devient pas Agicap)
+
+## 6. User flows clés (résumé)
+
+### Flow 1 — Première facture (onboarding hot path)
+
+1. Inscription (2 champs) → setup wizard 3 étapes → arrivée sur Factures (vide)
+2. Drag PDF dans la dropzone → OCR → vérification 30 sec → "Valider"
+3. Plan par défaut sélectionné → "Lancer la relance" → écran récompense rubis
+
+**Cible** : moins de 4 minutes du début de l'inscription au premier rubis.
+
+### Flow 2 — Routine hebdomadaire
+
+1. Lundi matin, l'utilisateur reçoit un email check-in : "3 factures en attente — avez-vous été payé ?"
+2. L'utilisateur clique "Oui" sur 1, "Non" sur 2 → les 2 relances partent automatiquement
+3. Total temps utilisateur : <60 secondes
+
+### Flow 3 — Mise en demeure
+
+1. Étape J+20 d'un plan → notification dans l'app : "Brouillon prêt"
+2. L'utilisateur ouvre la facture → relit le contenu → clique "Envoyer la mise en demeure"
+3. Modale de confirmation avec rappel légal → confirme → envoi
+
+## 7. Pricing (esquisse à tester)
+
+| Plan | Prix | Cible | Limites | V1 |
+|---|---|---|---|---|
+| **Free** | 0 € | Freelance, test | 5 factures actives en relance, 1 utilisateur, plans standards seulement | ✓ |
+| **Pro** | 19 €/mois | TPE 1-5 salariés | Illimité factures + OCR + plans, 1 utilisateur | ✓ |
+| **Business** | 49 €/mois | PME 5-50 salariés | + multi-utilisateurs, + branding email, + SMS (V2) | partiel |
+
+**Stratégie** : prix d'entrée agressif vs Sellsy/Axonaut (~30 €) défendable parce qu'on est mono-produit. Argument : *"moins cher qu'une heure de votre temps mensuel"*.
+
+**Trial** : 14 jours offerts sans CB, puis fallback automatique sur Free.
+
+## 8. Notes architecture (à formaliser avec stack)
+
+Quelques contraintes produit qui doivent guider l'architecture :
+
+- **Statuts de facture pivotables** : `pending`, `awaiting_user_confirmation`, `paid`, `relanced`, `litigation`, `cancelled` — pas hardcodés au flow email
+- **Modèle d'événement abstrait** pour le check-in : un `payment_status_check` peut être déclenché par email-réponse en V1, par webhook banking en V2 — l'app ne doit pas savoir d'où vient le signal
+- **Multi-tenant dès le jour 1** : même si V1 est mono-user par compte, la structure DB doit supporter `organization` → `users` → `invoices` pour ne pas refactorer en V2
+- **OCR** : provider abstrait derrière une interface — on doit pouvoir switcher Mindee → Document AI → Tesseract sans toucher au reste
+- **Email outbound** : provider abstrait (Resend / Postmark / SendGrid) avec retry et tracking
+- **Jobs/scheduler** : la cadence des relances et check-ins est un job persistant — préférer Inngest/Trigger.dev/queue dédiée à `setTimeout`
+
+## 9. Métriques produit à instrumenter
+
+- **Activation** : % d'utilisateurs ayant lancé leur 1ère relance dans les 7 jours suivant l'inscription
+- **Engagement** : nombre de rubis gagnés par utilisateur par mois
+- **Rétention** : MAU / WAU
+- **Conversion business** : taux de passage Free → Pro
+- **Satisfaction métier** : DSO moyen des comptes (avant/après Rubis)
+- **Anti-métrique** : taux de "non" sur les check-in emails (si trop bas, on relance trop tôt et c'est inutile)
diff --git a/docs/wireframes-mvp.html b/docs/wireframes-mvp.html
new file mode 100644
index 0000000..a4c07fb
--- /dev/null
+++ b/docs/wireframes-mvp.html
@@ -0,0 +1,1424 @@
+
+
+
+
+
+Rubis Sur l'Ongle — Wireframes low-fi MVP v0.1
+
+
+
+
+
+
Rubis Sur l'Ongle — Wireframes MVP v0.1
+
Low-fidelity · niveaux de gris · 13 écrans · centré sur la promesse "3 clics maximum"
+
+
+
+
+
+
+
+
+
+
1 · Onboarding & Auth
+
+
+
+
+
1.1 — Inscription
+ Desktop · Public
+
+
+
+
+
app.rubis-sur-longle.fr/inscription
+
+
Rubis Sur l'Ongle
+
+
Créez votre compte
+
+
Email pro
+
votre@entreprise.fr
+
Mot de passe
+
••••••••
+
+
— ou —
+
+
Déjà un compte ? Se connecter
+
+
+
+
+
+ Intention
+
+
Frottement minimum : 2 champs, et c'est tout. Pas de SIRET ni d'infos société à l'inscription — repoussées au setup.
+
Google SSO en évidence — la cible TPE-PME utilise massivement Google Workspace.
+
Pas de "Conditions d'utilisation" en dur ici, juste un lien discret en pied de page (non dessiné).
+
+
+
+
+
+
+
+
+
1.2 — Connexion
+ Desktop · Public
+
+
+
+
+
app.rubis-sur-longle.fr/connexion
+
+
Rubis Sur l'Ongle
+
+
Connexion
+
+
Email
+
arthur@entreprise.fr
+
Mot de passe
+
••••••••
+
Mot de passe oublié ?
+
+
— ou —
+
+
+
+
+
+
+ Intention
+
+
Symétrie volontaire avec l'inscription — l'utilisateur ne se demande jamais "j'étais où ?".
+
Lien "Mot de passe oublié" bien placé : aligné à droite du champ, pas perdu en bas.
+
Magic-link à étudier en v2 (pratique mobile, supprime totalement le mot de passe).
+
+
+
+
+
+
+
+
+
1.3 — Setup initial (1ère connexion)
+ Desktop · Wizard 3 étapes
+
+
+
+
+
app.rubis-sur-longle.fr/setup
+
+
Rubis Sur l'Ongle
+
+
✓
Compte
+
+
2
Entreprise
+
+
3
Signature
+
+
+
Parlez-nous de votre activité
+
+
+
+
Nom de l'entreprise
+
SARL Exemple
+
+
+
SIRET (facultatif)
+
123 456 789 00012
+
+
+
Secteur d'activité
+
Sélectionner un secteur ▾
+
Combien de factures émettez-vous par mois ?
+
+ < 10
+ 10 — 50
+ 50 — 200
+ > 200
+
+
+
+
+
+
+
+
+
+
+ Intention
+
+
Wizard 3 étapes max, jamais 5+. La 3ème étape (signature email) prépare le 1er envoi de relance pour qu'il soit pro tout de suite.
+
Le volume mensuel est demandé en chips (1 clic) plutôt qu'en input — plus rapide et nous segmente pour la roadmap (pricing, OCR batch).
+
Le SIRET est facultatif — frein inutile à l'onboarding, on le redemandera au moment où on en a vraiment besoin (facture émise par l'app, etc.).
+
+
+
+
+
+
+
+
+
+
+
2 · Upload & OCR factures
+
+
+
+
+
2.1 — Empty state · drag & drop
+ Desktop · App
+
+
+
+
+
app.rubis-sur-longle.fr/factures
+
+
+
+
+
Factures
+
+
+
+
+
+
+
↓
+
Glissez vos factures ici
+
PDF, PNG, JPG · jusqu'à 20 fichiers en simultané
+
+
+
L'OCR fait le reste — vérifiez en 30 secondes et lancez la relance.
+
+
+
+
+
+ Intention
+
+
L'écran "Factures" EST la dropzone. Pas de page intermédiaire "Importer". Glisser/déposer marche partout dans l'app, mais c'est ici que le geste est attendu.
+
Le compteur de rubis est visible dès le sidebar — gratification permanente, pas seulement sur le dashboard.
+
Bouton "Saisir manuellement" en discret secondaire : c'est le fallback, pas le default path.
+
+
+
+
+
+
+
+
+
2.2 — Vérification OCR
+ Desktop · App · Modale plein écran
+
+
+
+
+
app.rubis-sur-longle.fr/factures/import/abc123
+
+
+
+
Étape 1 / 1 · facture 2 sur 5
+
Vérifiez les informations extraites
+
+
+
+
+
+
facture-2024-0042.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Client
+
Boulangerie Martin SARL
+
+
+
Email du contact
+
compta@martin.fr ✓
+
+
+
N° de facture
+
F-2024-0042
+
+
+
+
+
Montant TTC
+
1 240,00 €
+
+
+
Date d'échéance
+
15/05/2026
+
+
+
Plan de relance
+
📂 Plan standard B2B (J+7, J+15, J+30) ▾
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Intention
+
+
Split 50/50 : aperçu PDF à gauche, formulaire pré-rempli à droite. L'œil compare sans scroll.
+
Tous les champs OCR sont déjà remplis avec un trait plein — l'utilisateur corrige plutôt qu'il ne remplit.
+
Le plan de relance est sélectionné par défaut (basé sur le secteur déclaré au setup) — c'est ici que se gagne le 3ème clic du parcours.
+
Compteur "facture 2 sur 5" pour gérer le batch sans perdre le fil.
+
+
+
+
+
+
+
+
+
2.3 — Saisie manuelle (fallback)
+ Desktop · App · Modal
+
+
+
+
+
app.rubis-sur-longle.fr/factures
+
+
+
+
+
Nouvelle facture
+ ✕
+
+
+
Client (commencez à taper pour rechercher)
+
Rechercher ou créer un client…
+
+
+
N° de facture
+
F-2024-0043
+
+
+
Date d'émission
+
05/05/2026
+
+
+
+
+
Montant TTC
+
€
+
+
+
Échéance
+
__ jours après émission ▾
+
+
+
Plan de relance
+
📂 Plan standard B2B (J+7, J+15, J+30) ▾
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Intention
+
+
Pop-in modal, pas une nouvelle page — l'utilisateur reste dans son contexte (la liste de factures derrière reste visible).
+
Recherche client en autocomplétion : si le client existe déjà, on le sélectionne ; sinon on le crée à la volée.
+
L'échéance en relatif ("30 jours après émission") est plus rapide que de calculer une date fixe.
+
"Joindre le PDF" reste optionnel pour la saisie manuelle — on n'oblige pas l'utilisateur à scanner s'il facture déjà ailleurs.
+
+
+
+
+
+
+
+
+
2.4 — Liste des factures & statuts
+ Desktop · App
+
+
+
+
+
app.rubis-sur-longle.fr/factures
+
+
+
+
+
Factures · 23 actives
+
+
+
+
+
+
+ Toutes (23)
+ À relancer (8)
+ En relance (11)
+ Encaissées (4)
+ Litige (0)
+
+
+
+
+
Client
N° facture
Montant
Échéance
Statut
Plan
+
+
+
+
+
Boulangerie Martin SARL
+
F-2024-0042
+
1 240,00 €
+
15/05/2026
+
À échéance dans 10j
+
Standard B2B
+
···
+
+
+
+
Atelier Durand
+
F-2024-0039
+
3 600,00 €
+
02/05/2026
+
Relance J+3 envoyée
+
Standard B2B
+
···
+
+
+
+
Cabinet Rousseau
+
F-2024-0038
+
850,00 €
+
28/04/2026
+
Relance J+15 demain
+
Premium
+
···
+
+
+
+
Garage Lemoine
+
F-2024-0035
+
4 200,00 €
+
20/04/2026
+
✓ Encaissée
+
Standard B2B
+
···
+
+
+
+
+
+
+
+
+
+ Intention
+
+
Filtres en chips, pas en dropdown — Arthur veut "à relancer" en 1 clic.
+
Le statut est l'info principale de chaque ligne : "Relance J+3 envoyée", "Relance J+15 demain". L'utilisateur sait en un regard où il en est.
+
Mise en gras de l'échéance dépassée (Atelier Durand) — signal visuel sans avoir à lire la date.
+
Possibilité d'actions en lot via les checkboxes (relancer manuellement, changer le plan, archiver).
+
+
+
+
+
+
+
+
+
+
+
3 · Plans de relance
+
+
+
+
+
3.1 — Bibliothèque de plans
+ Desktop · App
+
+
+
+
+
app.rubis-sur-longle.fr/plans
+
+
+
+
+
Plans de relance
+
+
+
Un plan = une cadence d'emails automatisée. 4 modèles fournis, modifiables.
+
+
+
+
Standard B2BPar défaut
+
+
+
• J+3 · Rappel amical
+
• J+10 · Premier rappel formel
+
• J+20 · Mise en demeure (brouillon)
+
+
Utilisé sur 18 factures
+
+
+
+
Premium · clients VIPDoux
+
+
+
• J+7 · Email + SMS
+
• J+15 · Appel manuel suggéré
+
• J+30 · Email avec relevé
+
+
Utilisé sur 4 factures
+
+
+
+
Court · cash flow tenduFerme
+
+
+
• J+1 · Rappel
+
• J+5 · Relance ferme
+
• J+10 · Mise en demeure
+
+
Utilisé sur 1 facture
+
+
+
+
+
+
Créer un plan
+
+
+
+
+
+
+
+
+ Intention
+
+
Cards-first : on voit la cadence en un regard, pas besoin de cliquer pour comprendre un plan.
+
4 plans fournis par défaut → l'utilisateur peut commencer sans rien créer (élimine la friction du "page blanche").
+
Le compteur "Utilisé sur N factures" aide à savoir lequel modifier prudemment.
+
Tonalité du plan résumée par un chip ("Doux", "Ferme", "Par défaut") — on positionne l'app comme un outil respectueux du client, pas un harceleur.
+
+
+
+
+
+
+
+
+
3.2 — Éditeur de plan (cadence + email)
+ Desktop · App
+
+
+
+
+
app.rubis-sur-longle.fr/plans/standard-b2b
+
+
+
+
← Plans · Standard B2B
+
+
+
Standard B2B
+
Plan par défaut · 18 factures actives
+
+
+
+
+
+
+
+
+
+
Cadence
+
+
+
Étape 1 · J+3Email
+
+
"Petit rappel facture F-XXXX"
+
+
+
Étape 2 · J+10Email
+
+
"Relance — facture en retard"
+
+
+
Étape 3 · J+20Email + brouillon
+
+
"Mise en demeure"
+
+
+
+
+
+
+
Email · étape 1 (J+3)
+
+
Objet
+
Petit rappel — facture {{numero}}
+
Corps
+
+ Bonjour {{prenom_client}},
+ Je me permets un petit rappel concernant la facture {{numero}} d'un montant de {{montant}}, échue le {{date_echeance}}.
+ Avez-vous reçu nos coordonnées de paiement ? Je reste disponible.
Cadence à gauche, contenu à droite : on clique sur une étape pour éditer son email — pas de navigation pas-à-pas pénible.
+
Variables sous forme de chips : l'utilisateur les insère sans connaître la syntaxe template ({{numero}}…). On peut même imaginer drag-to-insert.
+
Tonalité de chaque étape rappelée explicitement (rappel doux → ferme → mise en demeure) — le ton monte avec le retard, pas avant.
+
"Brouillon" en étape 3 : la mise en demeure est générée mais pas envoyée auto → règle métier importante (légal + risque de relation client).
+
+
+
+
+
+
+
+
+
3.3 — Le parcours "3 clics" pour lancer une relance
+ Storyboard · 3 étapes consécutives
+
+
+
+
+
+
+
Clic 1 · drop
+
+
+
↓
+
facture-0042.pdf
+
+
Glisser-déposer
+
+
+
→
+
+
+
Clic 2 · valider OCR
+
+
+
+
+
+
Plan
+
Standard B2B ▾
+
+
+
+
+
+
→
+
+
+
Clic 3 · lancer
+
+
+
◆
+
+ 1 rubis gagné
+
~12 min libérées
+
+
Relance J+3 programmée pour le 08/05/2026.
+
+
+
+
+
+ Intention
+
+
Ce storyboard est la promesse de la landing — c'est l'illustration à reprendre dans le hero.
+
Le 3ème écran = récompense visuelle immédiate (rubis gagné, temps libéré). C'est ce qui transforme une corvée en moment satisfaisant et déclenche le "bookmark dans le cerveau" qui fait revenir.
+
Au-delà de la 1ère facture, le drag&drop multiple permet 20 factures en 3 clics globaux — à mettre en avant côté pricing/conviction.
+
+
+
+
+
+
+
+
+
+
+
4 · Dashboard & rubis
+
+
+
+
+
4.1 — Dashboard principal
+ Desktop · App · Page d'accueil après login
+
+
+
+
+
app.rubis-sur-longle.fr/
+
+
+
+
+
+
Bonjour Arthur 👋
+
Mardi 5 mai 2026
+
+
+
+
+
+
+
+
+
+
+
◆
+
RUBIS
+
+
+
124 rubis gagnés ce mois
+
≈ 24 h 48 min que vous n'avez pas passées à relancer vos clients. Vous êtes dans le top 15 % des utilisateurs ce mois-ci.
+
+
+
+
Objectif mensuel · 80 %
+
+
+
+
+
+
+
À relancer
+
8
+
3 nouvelles aujourd'hui
+
+
+
En cours de relance
+
11
+
2 mises en demeure à valider
+
+
+
Encaissé ce mois
+
14 320 €
+
+ 2 800 € vs avril
+
+
+
DSO moyen
+
38 j
+
↘ -6j depuis Rubis
+
+
+
+
+
+
+
Aujourd'hui
+
+
📤 Relance J+3 envoyée à Atelier Durand11:14
+
✓ Facture F-2024-0035 marquée encaissée10:02
+
📥 3 factures importées et OCRisées09:48
+
⚠️ Brouillon mise en demeure prêt — Cabinet Rousseau09:30
+
+
+
+
+
Top mauvais payeurs
+ Voir tout
+
+
+
Cabinet Rousseau2 retards
+
Atelier Durand2 retards
+
Garage Lemoine1 retard
+
+
+
+
+
+
+
+
+ Intention
+
+
La hero du dashboard, c'est le rubis — pas un graphique financier. Le message émotionnel passe avant les chiffres comptables.
+
Conversion rubis → heures gagnées verbalisée ("≈ 24h48 que vous n'avez pas passées…") : on rend la métaphore tangible.
+
4 KPIs scannables, dont le DSO (Days Sales Outstanding) : on parle le langage du dirigeant et on prouve la valeur en €.
+
Liste "Aujourd'hui" en mode journal d'activité : ce qui s'est passé pendant que l'utilisateur faisait son vrai travail.
+
"Top mauvais payeurs" doit être manié avec tact — c'est utile pour décider qui mettre sur plan ferme, mais on évite tout langage stigmatisant côté UI publique (jamais visible côté client).
Brouillon mise en demeure (validation manuelle requise)
+
+
+
+
+
+
+
Client
+
Atelier Durand
+
contact@atelier-durand.fr
+
2 retards sur 6 factures
+
+
+
Notes internes
+
Le client a confirmé la réception le 14/04 par téléphone…
+
+
+
+
+
+
+
+ Intention
+
+
Une seule colonne timeline qui mélange passé (plein) et futur (estompé) — l'utilisateur voit tout l'arc de la relance.
+
Tracking d'ouverture ("ouvert 2x") : preuve sociale interne — le client n'ignore pas, il temporise.
+
Bouton "Relancer maintenant" en CTA : permet une relance manuelle hors cadence (cas réel : appel suivi d'un email).
+
Notes internes en libre — capital pour les TPE qui ont des relations clients personnelles ("le gérant est en arrêt jusqu'au 20").
+
+
+
+
+
+
+
+
+
4.3 — Dashboard mobile
+ Mobile · App · iOS/Android web
+
+
+
+
+
9:41● ● ●
+
+
+
+
Rubis
+
+
+
+
+
◆
+
124 rubis
+
≈ 24h48 libérées ce mois
+
+
Top 15 % · objectif 80 %
+
+
+
+
+
+
+
+
+
+
À relancer
+
8
+
+
+
Encaissé
+
14 320 €
+
+
+
+
+
Aujourd'hui
+
+
📤 Relance envoyée · Atelier Durand
+
⚠️ Brouillon prêt · Cabinet Rousseau
+
✓ F-2024-0035 encaissée
+
+
+
+
+ ◆ Accueil
+ 📄 Factures
+ 📋 Plans
+ ⚙ Réglages
+
+
+
+
+
+
+ Intention
+
+
Mobile = mode "capture rapide" : l'action mise en avant est "+ Photo de facture" (l'OCR fait le reste). La saisie complète, c'est plutôt sur desktop.
+
Le rubis reste au centre — c'est l'identité visuelle de l'app. Sur mobile c'est encore plus émotionnel parce que l'écran est plus petit, donc plus focus.
+
Tab bar à 4 entrées max — on ne dilue pas la navigation. Pas de "Clients" en mobile, on y accède depuis une facture.
+
L'écran tient en 1 scroll sur la plupart des téléphones → pas besoin de tab "détail" séparée.
+
+
+
+
+
+
+
+
+
+
+
Notes & questions à trancher avant la passe mid-fi
+
+
Brand visual — la "gem" carrée ◆ est un placeholder. Direction à valider : losange à facettes (joaillerie), goutte (rubis brut), ou typographique pur (un "R" stylisé) ? Conditionne tout le design system.
+
Conversion rubis ↔ temps — j'ai posé 1 rubis ≈ 12 min libérées. À ajuster avec une étude rapide (combien de temps prend en moyenne une relance manuelle ?). Cette conversion est marketing-critique.
+
SMS — présent dans le plan "Premium". À confirmer pour le MVP : feature payante ou hors scope v1 ? Influence l'écran 3.1 et le pricing.
+
Mise en demeure — j'ai imposé une validation manuelle à l'étape ferme. À discuter : conformité légale + on ne veut pas être responsables d'un envoi auto qui casse une relation client.
+
Multi-utilisateurs — pas dessiné. À prévoir pour PME (gérant + comptable) ? Impact sur l'onboarding (wizard "inviter l'équipe") et sur le sidebar.
+
Intégration banking / réconciliation auto — un client paie, l'app le détecte et arrête la relance. C'est la fonctionnalité "magique" suivante. Pas dans ce MVP mais à garder en tête côté architecture.
+
Le 3ème clic — dans le storyboard 3.3, l'utilisateur clique "Valider" puis voit l'écran de récompense. C'est techniquement 2 clics utilisateurs (drop + valider) ; le 3ème "clic" est implicite (le clic sur le PDF dans le finder). À vérifier qu'on tient la promesse "3 clics" pour 20 factures d'un coup, pas seulement 1.