Mode opératoire de la solution
Workflow de type BPMN du parcours utilisateur complet — de l'inscription à la rencontre réelle. Fidèle au dossier d'analyse MVP1 (§9 & §21), incluant les points de décision, les exceptions et les garde-fous « Trust First ».
flowchart TB
start([Découverte / Splash]):::start --> onb[Onboarding
TRUST · COMPATIBILITY · INTENTION]:::task
onb --> reg[Inscription
email/tél + consentements RGPD/CNDP]:::task
reg --> gDup{Email/tél
déjà utilisé ?}:::gw
gDup -- Oui --> exDup[Proposer connexion /
récupération de compte]:::exc
exDup --> reg
gDup -- Non --> vEmail[Vérification email
lien / OTP]:::task
vEmail --> gEmail{OTP valide ?}:::gw
gEmail -- Non --> exOtp[Renvoi avec throttling
fallback support]:::exc
exOtp --> vEmail
gEmail -- Oui --> vTel[Vérification téléphone
OTP SMS · numéro jamais public]:::task
vTel --> gTel{OTP SMS valide ?}:::gw
gTel -- Non --> exOtp
gTel -- Oui --> prof[Création du profil
identité déclarative · vie pro · vision mariage]:::task
prof --> quest[Questionnaires
valeurs & personnalité]:::task
quest --> crit[Critères de recherche
indispensables → rédhibitoires]:::task
crit --> intent{L'utilisateur veut
être proposé / contacter ?}:::gw
intent -- "Pas encore
(exploration)" --> explore[Accès limité :
peut compléter, pas être proposé]:::exc
explore --> intent
intent -- Oui --> kyc[Vérification identité KYC
document + selfie + liveness
prestataire externe]:::task
kyc --> gKyc{Résultat KYC ?}:::gw
gKyc -- "Illisible /
refus" --> exKyc[Explication + nouvelle
tentative limitée]:::exc
exKyc --> kyc
gKyc -- "Suspicion
fraude" --> review[Statut « en revue »
accès restreint + notif]:::exc
review --> modH[[Revue humaine
vérificateur]]:::task
modH --> gMod{Décision ?}:::gw
gMod -- Refusé --> endBan([Compte refusé /
recours possible]):::endn
gMod -- Validé --> trust
gKyc -- Vérifié --> trust[Constitution du
Trust Passport · badges]:::task
trust --> gComplete{Profil complet
& validé ?}:::gw
gComplete -- Non --> exInc[Guidage vers
complétion du profil]:::exc
exInc --> prof
gComplete -- Oui --> match[[Matching curé & explicable
3–5 propositions max]]:::task
match --> gPool{Profils
compatibles ?}:::gw
gPool -- Aucun --> exWait[Message honnête + file
d'attente + notif dispo
« pas de faux profils »]:::exc
exWait --> match
gPool -- Oui --> disc[Découverte progressive
valeurs → personnalité → projet
→ compatibilité → photo]:::task
disc --> act{Action de
l'utilisateur ?}:::gw
act -- "Pas pour moi" --> match
act -- "Demander une
mise en relation" --> wait[En attente de
réciprocité]:::task
act -- "Intéressé(e)" --> wait
wait --> gRecip{Intérêt
réciproque ?}:::gw
gRecip -- Non --> match
gRecip -- Oui --> matched([Match !
PAS de messagerie texte]):::start
matched --> propose[[Proposition de call in-app
SEULE action possible · étape pivot]]:::task
propose --> gAccept{Les deux
acceptent le call ?}:::gw
gAccept -- "Non / en attente" --> pending[Match en attente du call
aucun texte · aucune coordonnée
la relation ne progresse pas]:::exc
pending --> propose
gAccept -- Oui --> sched[Planification du call
créneau proposé & confirmé]:::task
sched --> vcall[Call audio/visio in-app
WebRTC chiffré, coordonnées masquées
+ conseils de sécurité]:::task
vcall --> gShow{Le call a-t-il
eu lieu ?}:::gw
gShow -- "No-show / refus répété" --> flag[Signal anti-scam remonté
+ possibilité de signaler]:::exc
flag --> gReport{Signalement
confirmé ?}:::gw
gReport -- Oui --> susp[Suspension / blocage
modération]:::exc
susp --> endBan
gReport -- Non --> pending
gShow -- Oui --> rate[Chacun note le call
« bien passé ? » en privé]:::task
rate --> gOK{Call concluant
pour les deux ?}:::gw
gOK -- "Non / mitigé" --> gRetry{Reproposer
un autre call ?}:::gw
gRetry -- Oui --> propose
gRetry -- Non --> endArch([Match clôturé
sans suite]):::endn
gOK -- Oui --> unlock{Double consentement :
débloquer les coordonnées ?}:::gw
unlock -- "Un seul / aucun" --> pending
unlock -- "Les deux acceptent" --> reveal[Déblocage mutuel des coordonnées
rappel sécurité · événement tracé · révocable]:::task
reveal --> meet[Poursuite hors-app &
rencontre réelle
check-list de sécurité]:::task
meet --> ref{Impliquer un
référent / famille ?}:::gw
ref -- Oui --> refInv[Invitation référent
droits limités & optionnels]:::task
refInv --> done
ref -- Non --> done([Objectif : mise en relation
matrimoniale de confiance]):::endn
classDef start fill:#e9d9be,stroke:#b58b57,stroke-width:1.5px,color:#5a4526,rx:16,ry:16;
classDef task fill:#fffdf9,stroke:#d3ab77,stroke-width:1.3px,color:#4a3f33;
classDef gw fill:#f3e2c9,stroke:#b58b57,stroke-width:1.4px,color:#7a5a2c;
classDef exc fill:#f6ddd0,stroke:#d8a48a,stroke-width:1.2px,color:#7a4a3a;
classDef endn fill:#dde0d1,stroke:#9a9a7a,stroke-width:1.4px,color:#4a4a33;