Menu
Commandes + Cmd SAV & INFO Contacts Comptes pro Chiffrages Idées Messages
Utilisateur
Darsy
Messages
Chargement...
Nouvelle conversation
Sélectionnez un ou plusieurs participants :
Source : docs/70-systemes-a-part/10-certicle.md — ce document se lit aussi dans le dépôt, sans serveur.

Certi'Clé

Où : sav.monsieurcle.fr/certicle/, un guichet du mini-site d'aide. Et dans l'ERP : Outils → Certi'Clé, pour relire les demandes.

Le service a vécu seul sur certicle.monsieurcle.fr jusqu'au 27/09/2026. Ce sous-domaine redirige et doit le rester : chaque certificat déjà émis porte une adresse en certicle.monsieurcle.fr/c/<jeton> imprimée dans son PDF, et ces documents ne seront jamais réédités.

À quoi ça sert

Un client fait changer une serrure après un cambriolage. Son assureur veut savoir si la facture qu'on lui présente est vraie.

Avant, l'assureur appelait. Maintenant il saisit trois éléments de la facture sur un site, et obtient un certificat PDF signé par Monsieur Clé qui dit : cette facture existe, elle porte ce montant, la prestation a eu lieu.

C'est le seul service de Darsy ouvert à des gens de l'extérieur, et le seul qui n'ait pas d'authentification.


Le principe, et il faut le comprendre avant tout le reste

Certi'Clé ne restitue jamais une donnée que le demandeur n'a pas lui-même saisie.

Le demandeur donne trois choses. Le service répond oui, ou non. Il ne dit jamais laquelle était fausse.

Pourquoi ce n'est pas négociable

Le numéro de facture est l'identifiant de la commande. Il est donc énumérable : on peut essayer 71366, 71367, 71368.

Si le service répondait « e-mail correct, montant incorrect », il suffirait d'essayer les montants un par un jusqu'à tomber juste, puis les e-mails, puis les noms. On reconstituerait le fichier client de Monsieur Clé un champ à la fois, sans jamais entrer nulle part.

C'est l'exigence simultanée des trois clés qui tient tout l'édifice.

Le message d'échec est le même mot pour mot que le numéro existe ou non. Sinon, la seule différence de formulation dirait déjà « cette facture existe » — et l'énumération redeviendrait payante.

Un développeur qui trouve ce comportement peu pratique et veut « améliorer le retour utilisateur » casserait le service.


Ce qu'on demande au demandeur

Les trois champs obligatoires

ChampPourquoi celui-là
Numéro de factureL'entrée dans l'index
Adresse e-mailCe que seul le client connaît
Montant TTCCe que seule la facture porte

Les trois doivent concorder sur la même commande. Deux sur trois ne suffisent pas.

Les champs facultatifs

Nom, prénom, code postal, ville, date de facture, mode de paiement. Ils ne décident de rien — ils enrichissent le certificat.

Trois états, pas deux

Un mode de paiement importé à la main, un champ vide en base : ce n'est ni concordant ni discordant, c'est illisible. Écrire « non concordant » serait une affirmation fausse sur un document opposable.


Ce que le certificat peut affirmer

Un certificat n'affirme « la prestation a été réalisée » que sur les statuts qui le signifient sans ambiguïté.

Arbitrage du 28/08/2026 :

StatutsCe que le certificat dit
Prestation réaliséecompleted, cloture, cloturee« La prestation a été réalisée »
En coursExpédition, transit, attente, devis…L'état, sans affirmer qu'elle est close
RuptureRemboursée, annulée, litige, SAV, anomalieLe certificat est émis, et la rupture est affichée

Une commande expédiée n'est pas une commande close : le colis est parti, la prestation ne l'est pas.

Une rupture n'est jamais masquée

Masquer une rupture rendrait tout le document suspect le jour où l'assureur la découvrirait par ailleurs — et il la découvre toujours. Le document ne vaut que parce qu'il dit aussi ce qui dérange.


Le certificat

Un PDF, numéroté CC-AAAA-MM-NNNNNN, avec un jeton de contre-vérification.

L'assureur qui reçoit le PDF peut ouvrir le lien de contre-vérification qu'il porte — …/c/<jeton> — et voir que ce certificat a bien été émis — sans rien saisir. C'est ce qui le rend opposable : le document se vérifie lui-même.

Un certificat n'est jamais réémis à l'identique

Une seconde demande sur la même facture produit un nouveau numéro et une nouvelle date.

Un certificat atteste d'un état constaté à un instant donné. Une commande peut être remboursée entre deux demandes ; réémettre le même document laisserait croire que rien n'a changé.


Ce qui protège le service

Il est public. Il est donc attaqué.

LimiteValeur
Demandes par IP, courte fenêtre5 par quart d'heure
Demandes par IP, par jour20
Demandes sur une même facture10 par jour
Blocage24 heures

S'y ajoutent un champ-piège invisible, un jeton de formulaire à usage unique, et Cloudflare Turnstile quand il est activé.

Aucune donnée du demandeur n'est conservée en clair

Les tentatives ne gardent que des empreintes. Constituer un fichier d'e-mails et de montants tapés par des tiers n'aurait aucune utilité, et créerait exactement le risque que le service existe pour écarter.


Ce que ça touche ailleurs

La boutiqueLecture seule, toujours.
Les commandesL'index des factures se construit depuis les commandes. Une commande sans numéro de facture n'est pas vérifiable.
Les statutsLe vocabulaire vient de Orders\OrderStatus, jamais recopié.
Une liste de statuts recopiée finit toujours par diverger de sa jumelle. La copie qui vivait ici citait les deux orthographes de « clôturée » ; celle du caviardage n'en citait qu'une — et 233 commandes échappaient à la rétention sans que rien ne le signale.