Diagrammes de Cas d'Usage
Site Vitrine
La solution de cashback nouvelle génération
VUE D'ENSEMBLE
1.1 Objectif du Document
Ce document présente les diagrammes de cas d'usage UML du Site Vitrine REWAPP. Il décrit les interactions possibles entre les acteurs externes et le système, couvrant les cas nominaux, alternatifs et les scénarios d'erreur.
Le Site Vitrine constitue la porte d'entrée digitale de l'écosystème REWAPP. Ses missions principales sont :
- Présenter la proposition de valeur unique REWAPP
- Convertir les visiteurs en utilisateurs de l'application mobile
- Recruter de nouveaux commerçants partenaires
- Afficher l'annuaire des partenaires
- Assurer la conformité légale (CGU, CGV, RGPD)
1.2 Acteurs du Système
Acteurs Identifiés
| Acteur | Type | Description |
|---|---|---|
| Visiteur | Primaire | Tout utilisateur anonyme naviguant sur le site vitrine. Peut être un prospect client ou un prospect partenaire. |
| Prospect Client | Primaire | Visiteur intéressé par le téléchargement de l'application REWAPP pour bénéficier du cashback. |
| Prospect Partenaire | Primaire | Commerçant ou représentant d'entreprise souhaitant devenir partenaire REWAPP. |
| Système Email | Secondaire | Service tiers (SendGrid) pour l'envoi d'emails de confirmation et notifications. |
| API REWAPP | Secondaire | Backend REWAPP fournissant les données partenaires et traitant les soumissions de formulaires. |
| Service Géolocalisation | Secondaire | API de cartographie (Mapbox/Google Maps) pour la carte interactive. |
| App Store / Play Store | Secondaire | Plateformes de téléchargement d'applications mobiles. |
1.3 Périmètre Fonctionnel
Le Site Vitrine couvre les fonctionnalités suivantes :
- Navigation et consultation de contenu informatif
- Annuaire interactif des partenaires avec carte et filtres
- Formulaires de conversion (newsletter, inscription partenaire, contact)
- Simulateur de gains pour les prospects
- Pages légales (CGU, CGV, RGPD, mentions légales)
- Téléchargement de l'application mobile
HORS PÉRIMÈTRE
L'authentification utilisateur et la gestion de compte client sont exclusivement réalisées via l'Application Mobile.
DIAGRAMME DE CAS D'USAGE GLOBAL
CAS D'USAGE - PARTENAIRES
4.1 UC-SV-004 : Consulter la Liste des Partenaires
Fiche Cas d'Usage
| Identifiant | UC-SV-004 |
| Nom | Consulter la Liste des Partenaires |
| Acteur principal | Visiteur |
| Acteurs secondaires | API REWAPP, Service Géolocalisation |
| Pré-conditions | Aucune |
| Post-conditions | La liste des partenaires est affichée avec carte interactive |
| Priorité | Haute |
Description : Le visiteur consulte l'annuaire complet des partenaires REWAPP avec une carte interactive et une liste filtrable.
Scénario Nominal
- 1
Le visiteur accède à /partenaires
- 2
Le système récupère la liste des partenaires depuis l'API
- 3
Le système demande la géolocalisation du visiteur
- 4
Le visiteur autorise la géolocalisation
- 5
Le système centre la carte sur la position du visiteur
- 6
Le système affiche les pins des partenaires sur la carte
- 7
Le système affiche la liste des partenaires triés par distance
- 8
Le visiteur peut interagir avec la carte et la liste
Scénarios Alternatifs
A1 - Géolocalisation refusée
A1.1 Le visiteur refuse la géolocalisation
A1.2 Le système centre la carte sur la France métropolitaine (zoom 6)
A1.3 Le système affiche un message : "Activez la géolocalisation pour voir les partenaires près de vous"
A1.4 Le système propose une recherche par ville/code postal
A1.5 Le scénario reprend à l'étape 6
A2 - Nombreux partenaires (clustering)
A2.1 Plus de 10 pins sont proches sur la carte
A2.2 Le système regroupe les pins en clusters
A2.3 Le visiteur peut zoomer pour détailler les clusters
Scénarios d'Erreur
E1 - API indisponible
E1.1 L'API ne répond pas dans les 5 secondes
E1.2 Le système affiche un message d'erreur
E1.3 Un bouton "Réessayer" est affiché
@startuml
title UC-SV-004 : Consulter la Liste des Partenaires
actor Visiteur as V
participant "Site Vitrine" as SV
participant "API REWAPP" as API
participant "Mapbox" as GEO
participant "Navigateur" as NAV
V -> SV : Accès /partenaires
activate SV
SV -> API : GET /partners?limit=100
API --> SV : Liste partenaires
SV -> NAV : Demande géolocalisation
alt Autorisée
NAV --> SV : Position (lat, lng)
SV -> GEO : Centrer carte sur position
else Refusée
NAV --> SV : Permission refusée
SV -> SV : Centrer carte sur France
SV --> V : Message "Activez géolocalisation"
end
SV -> GEO : Afficher pins partenaires
GEO --> SV : Carte avec pins
SV --> V : Page partenaires complète
V -> SV : Clic sur pin
SV -> SV : Afficher info-bulle partenaire
V -> SV : Clic "Voir détails"
SV --> V : Fiche partenaire (sidebar/modal)
@enduml
4.2 UC-SV-005 : Rechercher un Partenaire
Fiche Cas d'Usage
| Identifiant | UC-SV-005 |
| Nom | Rechercher un Partenaire |
| Acteur principal | Visiteur |
| Acteurs secondaires | API REWAPP |
| Pré-conditions | Le visiteur est sur la page /partenaires |
| Post-conditions | Les résultats de recherche sont affichés |
| Priorité | Haute |
Description : Le visiteur utilise la barre de recherche pour trouver un partenaire spécifique par nom, catégorie ou ville.
Scénario Nominal
- 1
Le visiteur saisit un terme dans la barre de recherche
- 2
Le système attend 300ms (debounce)
- 3
Le système envoie la requête de recherche à l'API
- 4
Le système affiche les suggestions autocomplete
- 5
Le visiteur sélectionne une suggestion ou valide sa recherche
- 6
Le système filtre la liste et la carte selon les résultats
- 7
Le système affiche le nombre de résultats trouvés
Règles de Recherche
- Recherche sur : nom du partenaire, catégorie, ville
- Insensible à la casse
- Tolérante aux accents
- Debounce de 300ms pour optimisation
A1 - Aucun résultat
A1.1 La recherche ne retourne aucun partenaire
A1.2 Le système affiche "Aucun partenaire trouvé pour [terme]"
A1.3 Le système propose des suggestions de recherche alternatives
4.3 UC-SV-006 : Filtrer les Partenaires
Fiche Cas d'Usage
| Identifiant | UC-SV-006 |
| Nom | Filtrer les Partenaires |
| Acteur principal | Visiteur |
| Acteurs secondaires | API REWAPP |
| Pré-conditions | Le visiteur est sur la page /partenaires |
| Post-conditions | La liste est filtrée selon les critères sélectionnés |
| Priorité | Moyenne |
Description : Le visiteur applique des filtres pour affiner la liste des partenaires affichés.
Filtres Disponibles
Options de Filtrage
| Filtre | Type | Options |
|---|---|---|
| Catégorie | Multi-select | Restauration, Commerce alimentaire, Mode & beauté, Services, Loisirs & culture, Santé & bien-être |
| Taux de cashback | Range slider | 1% - 10% |
| Type partenaire | Toggle | Tous / Premium uniquement |
| Tri | Select | Distance, Taux cashback (décroissant), Nom (A-Z), Nouveautés |
4.4 UC-SV-007 : Géolocaliser les Partenaires
Fiche Cas d'Usage
| Identifiant | UC-SV-007 |
| Nom | Géolocaliser les Partenaires |
| Acteur principal | Visiteur |
| Acteurs secondaires | Service Géolocalisation, API REWAPP |
| Pré-conditions | Le visiteur est sur la page /partenaires |
| Post-conditions | La carte est centrée sur une position avec partenaires à proximité |
| Priorité | Moyenne |
Description : Le visiteur utilise la géolocalisation ou recherche une adresse pour trouver les partenaires proches d'un lieu spécifique.
Scénario Nominal
- 1
Le visiteur clique sur le bouton "Me localiser"
- 2
Le navigateur demande l'autorisation de géolocalisation
- 3
Le visiteur autorise
- 4
Le système récupère les coordonnées GPS
- 5
Le système centre la carte sur la position (zoom 12)
- 6
Le système affiche les partenaires dans un rayon de 10km
- 7
Le système trie la liste par distance croissante
A1 - Recherche par adresse
A1.1 Le visiteur saisit une adresse dans le champ localisation
A1.2 Le système propose des suggestions via autocomplete (Google Places)
A1.3 Le visiteur sélectionne une adresse
A1.4 Le système centre la carte sur cette adresse
A1.5 Le scénario reprend à l'étape 6
CAS D'USAGE - CONVERSION UTILISATEURS
5.1 UC-SV-008 : S'Inscrire à la Newsletter
Fiche Cas d'Usage
| Identifiant | UC-SV-008 |
| Nom | S'Inscrire à la Newsletter |
| Acteur principal | Prospect Client |
| Acteurs secondaires | API REWAPP, Système Email |
| Pré-conditions | Le visiteur n'est pas encore inscrit |
| Post-conditions | L'email est enregistré et un email de confirmation est envoyé |
| Priorité | Haute |
Description : Le prospect client s'inscrit à la newsletter pour recevoir les liens de téléchargement et les actualités REWAPP.
Scénario Nominal
- 1
Le prospect localise le formulaire newsletter (footer ou section dédiée)
- 2
Le prospect saisit son adresse email
- 3
Le système valide le format de l'email (côté client)
- 4
Le prospect soumet le formulaire
- 5
Le système vérifie le captcha invisible (reCAPTCHA v3)
- 6
Le système envoie l'email à l'API
- 7
L'API enregistre l'email en base de données
- 8
L'API déclenche l'envoi d'un email de confirmation
- 9
Le système affiche le message : "Merci ! Vous recevrez un email avec les liens de téléchargement."
Scénarios d'Erreur
E1 - Email invalide
E1.1 Le format de l'email est invalide
E1.2 Le système affiche : "Veuillez saisir une adresse email valide"
E1.3 Le champ est mis en évidence (bordure rouge)
E2 - Captcha échoué
E2.1 Le score reCAPTCHA est trop bas (suspicion de bot)
E2.2 Le système bloque la soumission
E2.3 Le système propose un captcha visible en fallback
@startuml
title UC-SV-008 : S'Inscrire à la Newsletter
actor "Prospect Client" as PC
participant "Site Vitrine" as SV
participant "reCAPTCHA" as RC
participant "API REWAPP" as API
participant "SendGrid" as EMAIL
PC -> SV : Saisie email + submit
activate SV
SV -> SV : Validation format email
alt Email invalide
SV --> PC : Erreur "Email invalide"
else Email valide
SV -> RC : Vérification captcha
RC --> SV : Score (0.0 - 1.0)
alt Score < 0.5
SV --> PC : Captcha visible requis
else Score >= 0.5
SV -> API : POST /newsletter/subscribe
API -> API : Vérifier si email existe
alt Nouvel email
API -> API : Enregistrer email
API -> EMAIL : Envoyer email bienvenue
else Email existant
API -> EMAIL : Envoyer email rappel
end
API --> SV : 200 OK
SV --> PC : "Merci ! Email de confirmation envoyé"
end
end
@enduml
5.2 UC-SV-009 : Télécharger l'Application
Fiche Cas d'Usage
| Identifiant | UC-SV-009 |
| Nom | Télécharger l'Application |
| Acteur principal | Prospect Client |
| Acteurs secondaires | App Store, Play Store |
| Pré-conditions | Le visiteur souhaite télécharger l'application |
| Post-conditions | Le visiteur est redirigé vers le store approprié |
| Priorité | Critique |
Description : Le prospect client clique sur un bouton de téléchargement pour être redirigé vers l'App Store (iOS) ou le Play Store (Android).
Scénario Nominal
- 1
Le prospect clique sur le bouton "App Store" ou "Play Store"
- 2
Le système détecte le type de store cliqué
- 3
Le système enregistre l'événement analytics (download_click)
- 4
Le système redirige vers l'URL du store correspondant
- 5
Le store s'ouvre avec la fiche de l'application REWAPP
Scénarios Alternatifs
A1 - Scan du QR Code
A1.1 Le prospect scanne le QR code avec son smartphone
A1.2 Le système détecte l'OS du device (iOS/Android)
A1.3 Le système redirige automatiquement vers le store approprié
A2 - Détection automatique de l'OS
A2.1 Un bouton unique "Télécharger" est cliqué
A2.2 Le système détecte l'OS via User-Agent
A2.3 Le système redirige vers le store correspondant
A2.4 Si OS non détecté, afficher les deux options
Événement Analytics
| Nom | download_click |
| Paramètres | store_type (ios/android), source_page, source_button |
5.3 UC-SV-010 : Utiliser le Simulateur de Gains
Fiche Cas d'Usage
| Identifiant | UC-SV-010 |
| Nom | Utiliser le Simulateur de Gains |
| Acteur principal | Prospect Client |
| Acteurs secondaires | Aucun |
| Pré-conditions | Le visiteur est sur la page /clients |
| Post-conditions | Les gains estimés sont affichés |
| Priorité | Moyenne |
Description : Le prospect utilise le simulateur interactif pour estimer ses gains potentiels avec REWAPP.
Scénario Nominal
- 1
Le prospect accède au simulateur sur la page /clients
- 2
Le prospect ajuste les paramètres :
- Dépenses mensuelles (slider : 100€ - 2000€)
- Taux de cashback moyen (défaut : 4%)
- Mode d'utilisation (bancaire / commerçant) - 3
Le système calcule en temps réel :
- Points mensuels gagnés
- Valeur en euros (selon mode choisi)
- Projection annuelle - 4
Le système affiche les résultats de manière visuelle
Formules de Calcul
Points gagnés = (Dépenses × Taux cashback) / 0,10€
Si mode bancaire : Valeur = Points × 0,095€
Si mode commerçant : Valeur = Points × 0,105€
Exemple de Calcul
Dépenses : 500€/mois | Taux : 4%
Points = (500 × 0,04) / 0,10 = 200 points/mois
Bancaire : 200 × 0,095 = 19€/mois = 228€/an
Commerçant : 200 × 0,105 = 21€/mois = 252€/an
CAS D'USAGE - CONVERSION PARTENAIRES
6.1 UC-SV-011 : Soumettre une Demande Partenaire
RÈGLE MÉTIER IMPORTANTE
Toute demande partenaire nécessite une VALIDATION MANUELLE par l'équipe admin REWAPP avant activation.
Fiche Cas d'Usage
| Identifiant | UC-SV-011 |
| Nom | Soumettre une Demande Partenaire |
| Acteur principal | Prospect Partenaire |
| Acteurs secondaires | API REWAPP, Système Email |
| Pré-conditions | Le commerçant souhaite devenir partenaire |
| Post-conditions | La demande est enregistrée avec statut "En attente de validation" |
| Priorité | Critique |
Description : Le prospect partenaire remplit le formulaire d'inscription pour devenir partenaire REWAPP.
Scénario Nominal
- 1
Le prospect accède à /commercants
- 2
Le prospect scrolle jusqu'au formulaire d'inscription
- 3
Le prospect remplit les champs obligatoires
- 4
Le système valide chaque champ en temps réel
- 5
Le prospect soumet le formulaire
- 6
Le système vérifie le SIRET (format + checksum Luhn)
- 7
Le système envoie les données à l'API
- 8
L'API crée une entrée partenaire avec statut "En attente de validation"
- 9
L'API déclenche email de confirmation au commerçant + notification à l'équipe admin
- 10
Le système affiche : "Merci pour votre demande ! Notre équipe vous contactera sous 48h ouvrées pour finaliser votre inscription."
Validation des Champs
Règles de Validation
| Champ | Type | Validation |
|---|---|---|
| Raison sociale | Texte | Min 2 caractères, max 100 |
| Numéro SIRET | Texte | Format 14 chiffres + checksum Luhn |
| Nom du contact | Texte | Min 2 caractères |
| Email professionnel | Format email valide (regex) | |
| Téléphone | Téléphone | Format français (+33 ou 0X XX XX XX XX) |
| Type de commerce | Select | Valeur dans liste autorisée |
| Adresse | Texte | Validée via Google Places |
| Consentement RGPD | Checkbox | Doit être coché |
Scénarios d'Erreur
Messages d'Erreur
| Erreur | Message | Action |
|---|---|---|
| SIRET invalide | "Le numéro SIRET saisi est invalide. Veuillez vérifier." | Focus sur le champ SIRET |
| Email invalide | "L'adresse email n'est pas valide." | Focus sur le champ email |
| Téléphone invalide | "Le numéro de téléphone n'est pas valide (format français attendu)." | Focus sur le champ téléphone |
| Champ obligatoire vide | "Ce champ est obligatoire" | Indication sur le champ concerné |
| Consentement non coché | "Vous devez accepter les conditions pour continuer" | Focus sur la checkbox |
| Erreur serveur | "Une erreur est survenue. Veuillez réessayer." | Bouton réessayer |
@startuml
title UC-SV-011 : Soumettre une Demande Partenaire
actor "Prospect Partenaire" as PP
participant "Site Vitrine" as SV
participant "Google Places" as GP
participant "API REWAPP" as API
participant "SendGrid" as EMAIL
participant "Dashboard Admin" as ADMIN
PP -> SV : Remplissage formulaire
activate SV
PP -> SV : Saisie adresse
SV -> GP : Autocomplete adresse
GP --> SV : Suggestions
SV --> PP : Afficher suggestions
PP -> SV : Soumission formulaire
SV -> SV : Validation côté client
alt Validation échouée
SV --> PP : Erreurs de validation
else Validation OK
SV -> API : POST /partners/register
API -> API : Validation SIRET (Luhn)
alt SIRET invalide
API --> SV : 400 "SIRET invalide"
SV --> PP : Erreur SIRET
else SIRET valide
API -> API : Créer partenaire (statut: pending)
par Notifications
API -> EMAIL : Email confirmation partenaire
API -> ADMIN : Notification nouvelle demande
end
API --> SV : 201 Created
SV --> PP : Message succès
end
end
@enduml
6.2 UC-SV-012 : Demander une Démonstration
Fiche Cas d'Usage
| Identifiant | UC-SV-012 |
| Nom | Demander une Démonstration |
| Acteur principal | Prospect Partenaire |
| Acteurs secondaires | API REWAPP, Système Email |
| Pré-conditions | Le commerçant souhaite plus d'informations |
| Post-conditions | Une demande de démonstration est enregistrée |
| Priorité | Moyenne |
Description : Le prospect partenaire demande à être contacté pour une démonstration du service REWAPP.
Scénario Nominal
- 1
Le prospect clique sur "Demander une démonstration"
- 2
Le système scrolle vers le formulaire partenaire
- 3
Le prospect remplit le formulaire (voir UC-SV-011)
- 4
Le prospect indique dans le message qu'il souhaite une démonstration
- 5
Le système traite la demande comme une inscription partenaire avec flag "demo_requested"
CAS D'USAGE - SUPPORT
7.1 UC-SV-013 : Consulter la FAQ
Fiche Cas d'Usage
| Identifiant | UC-SV-013 |
| Nom | Consulter la FAQ |
| Acteur principal | Visiteur |
| Pré-conditions | Aucune |
| Post-conditions | Le visiteur a consulté les réponses à ses questions |
| Priorité | Moyenne |
Description : Le visiteur consulte la Foire Aux Questions pour trouver des réponses à ses interrogations.
Questions FAQ Clients (minimum 8)
- Comment lier ma carte bancaire ?
- Comment fonctionne le cashback bancaire ?
- Comment utiliser mes points chez un partenaire ?
- Quelle est la durée de validité des points ? (12 mois)
- Y a-t-il un plafond de points ? (Non, illimité)
- Combien de temps pour recevoir mon virement ? (2-3 semaines)
- Comment fonctionne le QR code ? (60 secondes, usage unique)
- Mes données bancaires sont-elles sécurisées ?
7.2 UC-SV-014 : Contacter le Support
Fiche Cas d'Usage
| Identifiant | UC-SV-014 |
| Nom | Contacter le Support |
| Acteur principal | Visiteur |
| Acteurs secondaires | API REWAPP, Système Email |
| Pré-conditions | Aucune |
| Post-conditions | Le message est envoyé à l'équipe support |
| Priorité | Moyenne |
Description : Le visiteur utilise le formulaire de contact pour envoyer un message à l'équipe REWAPP.
Scénario Nominal
- 1
Le visiteur accède à /contact
- 2
Le visiteur remplit le formulaire :
- Nom complet (obligatoire)
- Email (obligatoire)
- Sujet (select : Question générale, Problème technique, Partenariat, Presse, Autre)
- Message (obligatoire, min 10 caractères) - 3
Le système valide les champs
- 4
Le visiteur soumet le formulaire
- 5
Le système envoie le message à l'API
- 6
L'API transmet le message au support
- 7
Le système affiche : "Votre message a bien été envoyé. Nous vous répondrons sous 48h."
Scénarios d'Erreur
- E1 - Champ vide : "Ce champ est obligatoire"
- E2 - Email invalide : "Veuillez saisir une adresse email valide"
- E3 - Message trop court : "Votre message doit contenir au moins 10 caractères"
RELATIONS ET EXTENSIONS
Tableau des Relations
| Cas d'Usage Source | Relation | Cas d'Usage Cible | Condition |
|---|---|---|---|
| UC-SV-004 Liste Partenaires | <<extend>> |
UC-SV-004b Fiche Partenaire | Clic sur un partenaire |
| UC-SV-004 Liste Partenaires | <<extend>> |
UC-SV-005 Recherche | Utilisation barre de recherche |
| UC-SV-004 Liste Partenaires | <<extend>> |
UC-SV-006 Filtrage | Application de filtres |
| UC-SV-004 Liste Partenaires | <<extend>> |
UC-SV-007 Géolocalisation | Activation localisation |
| UC-SV-012 Demande Démo | <<include>> |
UC-SV-011 Inscription Partenaire | Toujours |
| UC-SV-008 Newsletter | <<extend>> |
UC-SV-009 Téléchargement | Via email de confirmation |
@startuml
title Relations entre Cas d'Usage - Site Vitrine
left to right direction
usecase "Consulter liste partenaires" as UC004
usecase "Afficher fiche partenaire" as UC004b
usecase "Rechercher partenaire" as UC005
usecase "Filtrer partenaires" as UC006
usecase "Géolocaliser partenaires" as UC007
usecase "S'inscrire newsletter" as UC008
usecase "Télécharger application" as UC009
usecase "Soumettre demande partenaire" as UC011
usecase "Demander démonstration" as UC012
' Extensions de la liste partenaires
UC004 <.. UC004b : <>
UC004 <.. UC005 : <>
UC004 <.. UC006 : <>
UC004 <.. UC007 : <>
' Relation include
UC012 ..> UC011 : <>
' Relation entre newsletter et téléchargement
UC008 ..> UC009 : <>
[email contient liens stores]
@enduml
RÉCAPITULATIF DES CAS D'USAGE
Synthèse des 14 Cas d'Usage
| ID | Nom | Acteur Principal | Priorité | Complexité |
|---|---|---|---|---|
UC-SV-001 |
Consulter la Page d'Accueil | Visiteur | Haute | Faible |
UC-SV-002 |
Découvrir les Fonctionnalités | Visiteur | Haute | Faible |
UC-SV-003 |
Consulter Informations Légales | Visiteur | Moyenne | Faible |
UC-SV-004 |
Consulter Liste Partenaires | Visiteur | Haute | Moyenne |
UC-SV-005 |
Rechercher un Partenaire | Visiteur | Haute | Moyenne |
UC-SV-006 |
Filtrer les Partenaires | Visiteur | Moyenne | Moyenne |
UC-SV-007 |
Géolocaliser les Partenaires | Visiteur | Moyenne | Moyenne |
UC-SV-008 |
S'Inscrire à la Newsletter | Prospect Client | Haute | Faible |
UC-SV-009 |
Télécharger l'Application | Prospect Client | Critique | Faible |
UC-SV-010 |
Utiliser Simulateur de Gains | Prospect Client | Moyenne | Moyenne |
UC-SV-011 |
Soumettre Demande Partenaire | Prospect Partenaire | Critique | Haute |
UC-SV-012 |
Demander une Démonstration | Prospect Partenaire | Moyenne | Faible |
UC-SV-013 |
Consulter la FAQ | Visiteur | Moyenne | Faible |
UC-SV-014 |
Contacter le Support | Visiteur | Moyenne | Faible |