| Client | Étape actuelle | Montant | Paiement | Actions |
|---|
Toutes les données sont stockées dans le cloud (Cloudflare KV). Pense à exporter régulièrement une sauvegarde JSON.
Quand le calculateur termine un devis, il doit produire un objet JSON avec ce format :
{
"type": "devis",
"ref": "DEV-2026-042",
"createdAt": "2026-04-28T10:30:00Z",
"client": {
"name": "Martin Dubreuil",
"company": "Dubreuil & Fils SARL",
"phone": "06 12 34 56 78",
"email": "m.dubreuil@dubreuil-fils.fr",
"address": "14 rue de la Paix, 44000 Nantes"
},
"description": "Audit organisation commerciale, 5 jours sur site",
"amount": 4800,
"currency": "EUR"
}
Seul client.name est strictement obligatoire. Tous les autres champs sont optionnels mais améliorent l'auto-remplissage.
Dans le calculateur, ajoute un bouton qui ouvre l'app avec les données du devis dans l'URL. Code à coller dans le calculateur :
function envoyerVersJournal(devis) {
const data = btoa(unescape(encodeURIComponent(JSON.stringify(devis))));
const url = "file:///chemin/vers/journal-chantiers.html#devis=" + data;
window.open(url, "_blank");
}
L'app détecte automatiquement le paramètre #devis=, ouvre le formulaire de nouveau client pré-rempli, et il ne reste qu'à cliquer sur Enregistrer.
Le calculateur peut télécharger un fichier devis-XXX.json. Il suffit ensuite de le glisser-déposer sur cette page (ou cliquer sur Importer) et un nouveau client sera créé automatiquement.
function telechargerDevis(devis) {
const blob = new Blob([JSON.stringify(devis, null, 2)],
{type: "application/json"});
const a = document.createElement("a");
a.href = URL.createObjectURL(blob);
a.download = "devis-" + devis.ref + ".json";
a.click();
}
Pas besoin de toucher au vrai calculateur ni de déployer le serveur pour voir comment ça marchera. Clique sur Simuler un client qui envoie un devis autant de fois que tu veux : chaque clic dépose un faux devis dans la "boîte aux lettres". Puis ferme cette fenêtre et clique sur Synchroniser dans la barre du haut — tous les devis arrivent d'un coup dans le journal.
Une fois que tu auras déployé le vrai relay Cloudflare, le bouton "Synchroniser" ira chercher les vrais devis à la place de la boîte de démo. Aucune autre modification de la maquette ne sera nécessaire.