Une seule couleur d'action
Le violet sert aux actions, liens et sélections. Vert, ambre, rouge et bleu gardent un sens fixe : payé, attention, en retard, information.
Étude de cas · SaaS en production
Le logiciel de facturation que j'ai conçu, développé et que j'exploite seul : devis, factures conformes, relances et paiement en ligne pour les indépendants et les petites entreprises. En octobre 2026, je l'ai entièrement redessiné.


01La refonte
La première version faisait le travail, mais demandait de savoir quoi chercher. Pour la refonte, je me suis calé sur les SaaS financiers grand public : beaucoup de blanc, de grands chiffres, et une consigne claire à chaque écran. Faites glisser pour comparer.

AvantAprès02Design system
Site public, application, portail client, PDF et e-mails partagent les mêmes tokens, la même typographie (Geist) et les mêmes règles.
Le violet sert aux actions, liens et sélections. Vert, ambre, rouge et bleu gardent un sens fixe : payé, attention, en retard, information.
« Argent attendu » plutôt que « encours clients », « Relancer » plutôt que du jargon. L'app doit être évidente pour quelqu'un qui n'aime pas l'informatique.
Toutes les listes suivent le même modèle : ce qui demande une action d'abord, une seule action contextuelle par carte, le reste atténué.
Mêmes tokens sémantiques dans les deux thèmes, contrastes AA vérifiés. Sur mobile, navigation basse avec un bouton « + » central.
03Visite guidée
Captures du vrai produit, avec les données de démonstration.

Quatre raccourcis, trois chiffres et la liste « À traiter » triée par urgence : factures en retard, devis acceptés à facturer, brouillons. À droite, l'argent attendu par semaine d'échéance.
04Fonctionnalités
PDF avec XML EN 16931 embarqué, validé par un schematron local avant émission. Prêt pour la réforme de la facturation électronique.
SIRET, mentions obligatoires, complétude Factur-X : chaque document est vérifié et l'app propose la correction.
Serveur MCP pour Claude, 35 outils : créer un devis, envoyer une facture, lire les statistiques. OAuth 2.1, accès gradué par plan.
Stripe Connect : le client paie la facture par carte depuis un lien signé, le statut se met à jour seul.
Documents, paiements, relevé de compte et préférences, accessibles par le client via un lien sécurisé.
Signature électronique des devis, avec relances de signature optionnelles et expiration automatique.
Les retards sont détectés chaque jour et relancés par e-mail, avec suivi d'ouverture et de clic via Resend.
Taux BCE du jour d'émission figé sur la facture ; la TVA est aussi indiquée en euros, sur le PDF comme dans le Factur-X.
Photo d'un reçu ou PDF fournisseur : OCR (Tesseract) pour pré-remplir la dépense.
05Sous le capot
Une architecture multi-tenant où chaque entreprise est une frontière d'isolation stricte, testée à chaque push.
Django 5.2 LTS · DRF
Python 3.13, API REST multi-tenant
PostgreSQL · Redis
Isolation par entreprise, cache et broker
Celery 5.6 + Beat
27 tâches planifiées (relances, PDF, récurrences)
WeasyPrint · factur-x
PDF, 7 thèmes, XML EN 16931
Stripe · Resend
Abonnements, Connect, e-mails suivis
React 19 · Vite 7
SPA en JSX, pré-rendu des pages publiques
Tailwind CSS 4
Tokens sémantiques, thèmes clair et sombre
TanStack Query 5
Cache et état serveur
Radix UI
Menus et fenêtres accessibles au clavier
Geist
Typographie auto-hébergée, aucune requête Google
VPS à Paris · nginx
Déploiement automatique au merge
Cloudflare Pages
Frontend et page de statut
Sentry
Une release par commit, monitoring des tâches
Prometheus · Grafana
Métriques, sondes, alertes
AWS S3
Sauvegardes uniquement
Chaque module gère une responsabilité métier précise — cliquez pour voir son rôle.
Cliquez sur un module pour voir son rôle.
06Conformité
Une facture est un document légal : les règles sont dans le code, pas dans une checklist. Tout changement sur la numérotation, la TVA, les PDF ou le FEC passe par une revue de conformité.
Numérotation sans trou
Compteur verrouillé en base, par entreprise et par année. Un numéro est attribué à la sortie du brouillon, jamais réutilisé.
Machine à états
Rien ne revient en brouillon. Annuler une facture émise produit un avoir — la console d'admin suit les mêmes règles.
Un seul moteur de calcul
Montants en Decimal, arrondi au centime, remise répartie par taux de TVA. Le frontend affiche, il ne calcule jamais.
PDF archivés
Un document émis sert son PDF d'origine ; une régénération ajoute une version, n'en supprime aucune.
Export FEC
18 colonnes, comptes 411000 / 707000 / 445710, prêt pour l'expert-comptable.
Conservation 10 ans
Factures, devis, avoirs et exports ne sont jamais supprimés ; une entreprise avec des documents émis ne peut pas l'être.
07Historique
Un produit en production depuis décembre 2025, déployé automatiquement à chaque merge.
Factures, devis, avoirs, acomptes, relances, export FEC, statistiques et suivi du temps.
Panneau d'administration, mise en conformité France 2026, CI/CD renforcée.
Notifications en temps réel, webhooks, documentation API interactive.
Serveur MCP pour Claude, accès gradué par plan, page de statut publique.
Nouvelle direction visuelle sur le site, l'application, le portail client, les PDF et les e-mails.
Onboarding, conseils et récaps mensuels, avec plafonds d'envoi et anti-doublons.