Un seul outil, de la prospection à la facture
Le back-office qui fait tourner pragma once : prospection, tickets partagés avec les clients, planning, temps et facturation, avec un agent de code branché dessus.
- Client
- pragma once
- Périmètre
- De la prospection à la facture
- Équipe
- Les trois fondateurs
- Utilisateurs
- L’équipe et ses clients
- Premier commit
- Juin 2026

Vue d’ensemble
Contexte
Un studio de logiciel sur-mesure suit un seul fil, du premier appel à la dernière facture. Nous avons construit l’outil qui le tient, avec la méthode que nous vendons : nos process réels d’abord, des livraisons par paliers, la production tout de suite. L’équipe y travaille chaque jour et nos clients y suivent leurs tickets, leur temps et leurs relevés.

Ce qui coinçait
- Des outils séparés pour prospecter, suivre les tickets, planifier et compter le temps.
- Un temps qui se reconstitue de mémoire au moment de facturer.
- Un client qui découvre le temps consommé sur la facture.
- Un assistant de code qui travaille sans lire le board.

Démarche
Partir de nos propres journées
Nous avons listé ce qui se passe vraiment entre un premier appel et une facture : sourcer une entreprise, la qualifier, l’appeler, signer, produire, déclarer le temps, facturer. Chaque étape est devenue un écran, et rien de plus.

La prospection : les entreprises d’un segment, triées par appétence, avant enrichissement. Données fictives. Un seul modèle de données, des droits fins
Un même schéma relie prospects, clients, projets, tickets, temps et relevés. Les rôles (admin, associé, collaborateur, client) forment une matrice stockée en base, avec une granularité par champ. Le périmètre d’un client est imposé par le serveur, pas seulement masqué à l’écran. Et un mois facturé est figé : ses temps ne bougent plus.

Ce que voit un client : son projet, son temps, ses relevés, rien d’autre. Données fictives. Livrer domaine par domaine, l’IA branchée dessus
Prospection, boards, planning, temps, facturation : chaque domaine est livré, testé et mis en production avant le suivant. Les boards sont en temps réel, présence et curseurs compris, et le planning se synchronise dans les deux sens avec Google Agenda. Un widget posé sur le site du client lui permet de désigner un élément de la page et de le commenter : le retour arrive en ticket. Enfin, un serveur MCP expose dix outils au board : un agent de code lit un ticket, en crée, le déplace ou le bloque, avec un jeton qui lui est propre.

Le planning de la semaine, synchronisé avec Google Agenda. Données fictives. Faire tourner et évoluer
L’outil est maintenu comme un logiciel client. Chaque évolution arrive avec ses tests. Des tâches planifiées envoient les relances et les résumés de colonnes, synchronisent les agendas et purgent les fichiers jamais confirmés. Les relevés mensuels (régie, forfait de maintenance, hors contrat) sortent en PDF et en tableur.

Un relevé mensuel, régie dépliée : chaque ligne remonte aux jours déclarés qui la composent. Données fictives.
Architecture
Résultats
| Indicateur | Valeur | Source |
|---|---|---|
| En production depuisÉquipe pragma once | 2026 | Équipe pragma once |
| Temps de préparation d’un relevé mensuelÉquipe pragma once | 5 minutes | Équipe pragma once |
| Outils remplacés et coût mensuel évitéTarifs publics indicatifs, 3 utilisateurs, octobre 2026 | ~500 € / mois (Notion, Google Drive, HubSpot, Harvest, Linear) | Tarifs publics indicatifs, 3 utilisateurs, octobre 2026 |
Ce que contient le code
| Indicateur | Valeur |
|---|---|
| Modules d’API | 42 |
| Modèles de données | 62 |
| Écrans du back-office | 46 |
| Fichiers de test | 455 |
| Outils du serveur MCP | 10 |
| Commits | 1 625 |
| Premier commit | 20/06/2026 |
Stack
- TypeScript
- Bun
- React
- TanStack Router
- TanStack Query
- Elysia
- PostgreSQL
- Prisma
- Better Auth
- Zod
- WebSocket
- Model Context Protocol
- DuckDB
- React PDF
- Google Calendar API
- S3
- Docker
- Caddy