La situation de départ
Les chantiers se pilotaient au tableur partagé et au téléphone. Trois personnes saisissaient les mêmes informations, et chaque dossier d'aide devait repartir chez le délégataire avec les bons papiers, dans le bon ordre, sous peine d'être rejeté.
Ce qui a été livré
Le logiciel qui transforme une demande en chantier payé. Le dossier avance le long d'un parcours en six étapes, du dépôt au contrôle de conformité, et à chaque étape franchie les pièces attendues se rassemblent d'elles-mêmes : facture, contrat de cession, annexes réglementaires, relevé de terrain, rapport photo. Tout se récupère en une archive. Les poseurs se planifient sur un calendrier, les règlements se suivent bénéficiaire par bénéficiaire, et un dossier envoyé se verrouille pour ne plus bouger. Le tableur a disparu.
Ce que ça change
Le projet vu par ceux qui s'en servent tous les jours.
01
Une information saisie une fois
Le client, le chantier, les rendez-vous, les montants : tout part d'un même dossier. Trois personnes ne recopient plus les mêmes lignes dans un tableur, et personne ne se demande quelle version fait foi.
02
Moins de dossiers renvoyés
Les pièces attendues dépendent de l'étape où en est le dossier. Ce qui manque se voit avant l'envoi, pas trois semaines plus tard quand le délégataire le refuse.
03
Savoir où en est chaque chantier, à tout moment
Une liste, des statuts, des couleurs. Le gérant voit en un coup d'œil ce qui avance, ce qui bloque et ce qui attend une signature, sans appeler personne.
Les écrans, un par un
Chaque capture reste en place le temps qu'on lise ce qu'elle démontre, et chacune est doublée de sa version sur téléphone.


01 / 03
Les pièces du dossier
Les papiers exigés par le délégataire se rassemblent au fil des étapes. Ce qui peut être produit à partir du dossier l'est ; le reste se dépose. Tout part en une archive.
Côté technique
Chaque type de pièce est déclaré et typé. Génération par pdf-lib pour les formulaires à remplir, PDFKit pour les documents composés, archive assemblée par archiver.
Sur téléphone
Le relevé terrain se remplit depuis le téléphone, sur le chantier, et déclenche les mêmes générations.


02 / 03
Le parcours du dossier
Six étapes, du dépôt au contrôle de conformité, et une liste d'éligibilité tenue à jour. On voit d'un coup d'œil ce qui reste à faire.
Côté technique
Transitions contraintes plutôt que champ libre : c'est ce qui permet de savoir quelles pièces sont attendues à un instant donné.
Sur téléphone
Le même dossier sur un écran de téléphone : statut, éligibilité et planification de la pose, sans rien perdre.


03 / 03
L’administration
Comptes, lots, facturation, règlements, connexion au Drive du délégataire, registre RGPD et journal d'activité.
Côté technique
Cinq rôles et six permissions accordées à la pièce. Inscription publique fermée : seul l'administrateur crée les comptes.
Sur téléphone
Les neuf modules passent en colonne unique, sans menu escamoté ni fonction retirée.
Le reste du logiciel
Cliquez pour agrandir : une interface dense ne se lit pas en timbre-poste.
Le même logiciel, sur un téléphone
Pas une version allégée : les mêmes écrans, les mêmes données, la même liberté d'action. C'est ce qui permet de renseigner un dossier depuis le chantier.
Les choix, et pourquoi
Chaque décision porte sa raison, puis ce qui casserait sans elle.
01
Les règles métier vivent hors de l’interface
Éligibilité, barèmes des fiches CAE, calcul des règlements, parcours de statuts : tout est dans une couche de domaine qui ne dépend ni du framework ni de la base. Elle n'emprunte au schéma que des types, effacés à la compilation. Les montants passent par un objet Money plutôt que par des nombres flottants.
Sans ça : Une règle CAE qui change obligerait à rouvrir des écrans et à tout retester. Là, c'est un fichier et son test.
02
Les numéros de pièce d’identité sont chiffrés en base
AES-256-GCM, et le GCM n'est pas un détail : il authentifie en plus de chiffrer, donc une altération se détecte au lieu de passer inaperçue. Un DNI modifié en silence produirait un document faux dans un dossier d'aide publique. La clé est conservée hors du code et hors de la base.
Sans ça : Une copie de la base, volée ou égarée dans une sauvegarde, livrerait les pièces d'identité de tous les clients.
03
Les documents passent par des liens qui expirent
Rien n'est public : chaque pièce est servie par une URL signée valable une heure. Ces documents contiennent des cartes d'identité et des photos de logements.
Sans ça : Une URL publique, une fois connue, l'est pour toujours. Un lien transféré par erreur reste ouvert des années.
04
La base n’est pas exposée sur Internet
Application et base tournent en conteneurs sur un serveur unique, déployés par Coolify depuis un Dockerfile. Le port de la base n'est ouvert que sur le réseau interne ; les migrations passent par un tunnel SSH.
Sans ça : Une base joignable depuis l'extérieur, c'est une classe entière d'attaques offerte : balayage de ports et tentatives d'authentification en continu.
05
Tout est hébergé en Europe
Serveur et base chez Hetzner en Allemagne, fichiers sur Cloudflare R2 en zone européenne restreinte. Les données concernent des particuliers espagnols : rester dans l'Union supprime le transfert international, et donc tout l'appareillage contractuel qu'il faudrait sinon justifier devant l'AEPD.
Sans ça : Un hébergement hors UE obligerait à documenter et défendre chaque transfert. Le registre des traitements est déjà écrit au format de l'AEPD.
06
Six permissions par-dessus les cinq rôles
Le rôle donne le socle, les permissions se donnent à la pièce : lots, facturation, paiements, comptes, verrouillage, statistiques financières. Un installateur ne voit par ailleurs que les dossiers qui lui sont assignés.
Sans ça : Avec les rôles seuls, une secrétaire qui doit facturer sans pouvoir déverrouiller n'entre dans aucune case, et on finit par inventer un rôle par exception.
07
Un dossier envoyé se verrouille
Après transmission au délégataire, le dossier passe en consultation seule et le déverrouillage est un geste délibéré, tracé au journal.
Sans ça : Une correction bien intentionnée après envoi désynchronise le dossier local et celui du délégataire, et c'est le local qui a l'air juste.
08
Les pièces se conservent des années
Le dispositif CAE impose de garder les justificatifs au minimum cinq ans après la fin des opérations, six pour les obligations fiscales espagnoles. D'où l'archive complète par dossier et le journal qui dit qui a produit quoi, et quand.
Sans ça : Un contrôle qui tombe trois ans plus tard trouve un tableur perdu et des pièces jamais rassemblées.
Les performances
Mesuré sur l'application, avant et après. Un logiciel de bureau qu'on ouvre cinquante fois par jour se juge au ressenti, pas au score d'un outil.
24 à 48 ms6 ms
La fiche dossier
Elle chargeait ses huit blocs l'un après l'autre, chacun attendant le précédent. Une requête suffit pour les contrôles d'accès ; les sept autres partent ensemble. C'est la page la plus ouverte du logiciel.
21 ms3 à 5 ms
Le tableau de bord
Sept compteurs calculés en file indienne, désormais lancés de front. S'y ajoute un cache en mémoire dont la durée dépend du rôle : cinq minutes pour l'administrateur, deux pour un intervenant terrain.
Balayage completLecture d'index
Les filtres et les tris
Cinquante-deux index déclarés dans le schéma, dont des index composés sur les couples réellement utilisés : statut et date, notifications non lues d'un utilisateur. L'écriture coûte environ 5 % de plus ; sur ce volume, c'est indolore.
30 ms3 ms
Les actions par lot
Verrouiller dix dossiers déclenchait dix mises à jour successives. Une seule suffit. Le même raisonnement s'applique aux insertions groupées de paiements, de documents et de lignes de facture.
- Notre rôle
- Cadrage, architecture, développement, suivi
- Nature
- Logiciel métier
- Technologies
- Next.js 16
- TypeScript
- PostgreSQL 17
- Drizzle ORM
- Better Auth
- Cloudflare R2
- pdf-lib / PDFKit
- FullCalendar
- next-intl
Dites-nous ce que vous cherchez à construire.
Nous écrire sur WhatsAppLes autres réalisations

Terres de Villas
Immobilier de prestige · France
Une agence naissante sur un marché où la crédibilité se joue avant le premier rendez-vous. Face à des enseignes installées depuis vingt ans, il fallait paraître établie dès le premier jour, et exister en anglais sans doubler le travail de saisie.
Voir l'étude de cas

SAVY
Finances personnelles · Produit du studio
Tenir un budget à plusieurs se fait au tableur partagé, ou pas du tout. Chacun avance une dépense, personne ne sait où en est le mois, et la conversation revient toujours au même endroit : qui a payé quoi.
Voir l'étude de cas

Regarde-moi
Formation professionnelle · France
Un centre de formation en esthétique certifié Qualiopi, près d'Avignon, dont la visibilité tenait à Instagram et au bouche-à-oreille. Une candidate qui cherche « formation extension de cils Avignon » ne le trouvait pas, et sa première question, celle du financement, n'avait de réponse nulle part.
Voir l'étude de cas

