Glossaire métier¶
Le glossaire définit le vocabulaire partagé entre les équipes produit, métier et technique. C'est l'Ubiquitous Language au sens DDD : chaque terme ici doit être utilisé de façon identique dans les conversations, les spécifications et le code.
Règle d'or
Si un terme technique dans le code ne correspond pas à un terme de ce glossaire, c'est une dette cognitive. Signalez-le pour mettre le glossaire ou le code à jour.
A–E¶
| Terme | Définition métier | Equivalent code | Domaine |
|---|---|---|---|
| Auto-évaluation | Processus par lequel le joueur sélectionne son niveau initial en consultant les critères définis par l'admin | UserLevelAssessment | Auth |
| Compétitive (partie) | Partie dont le résultat impacte le niveau et la fiabilité des joueurs | type: competitive | Partie |
| Amicale (partie) | Partie sans impact sur le niveau (détente, entraînement) | type: friendly | Partie |
| Création de compte | Inscription via email + OTP uniquement (pas de mot de passe) | AuthService::register() | Auth |
| Créneau | Plage horaire définie par un gestionnaire de club pour un terrain | TimeSlot | Club |
F–N¶
| Terme | Définition métier | Equivalent code | Domaine |
|---|---|---|---|
| Fiabilité (score de) | Indicateur en % de la fiabilité du niveau auto-déclaré, calculé à partir des résultats compétitifs | reliability_score | Auth |
| Gestionnaire de club | Utilisateur ayant revendiqué ou créé un club, validé par un admin | User[club_manager] | Club |
| Intervalle de niveau | Fourchette min–max définie par le créateur d'une partie pour filtrer les joueurs acceptables | level_min, level_max | Partie |
| Lieu libre | Adresse saisie librement (hors clubs référencés) pour une partie | custom_location | Partie |
| Niveau | Valeur décimale entre 1.0 et 10.0 représentant le niveau de jeu d'un joueur | level (float) | Auth |
O–P¶
| Terme | Définition métier | Equivalent code | Domaine |
|---|---|---|---|
| OTP | Code à usage unique envoyé par email pour l'inscription et la connexion (pas de mot de passe) | OtpService | Auth |
| Organisateur | Joueur ayant créé la partie (inscrit automatiquement comme participant) | creator_id dans Match | Partie |
| Participant | Joueur inscrit à une partie | Participant | Partie |
| Partie | Rencontre de padel 2v2 (4 joueurs, 2 équipes de 2) — terme officiel de l'application | Match | Partie |
| Position | Emplacement d'un joueur dans la partie : Équipe A/B × Gauche/Droite | position dans Participant | Partie |
| Piste | Terrain de padel sur lequel se joue la partie | court/field | Club |
R–V¶
| Terme | Définition métier | Equivalent code | Domaine |
|---|---|---|---|
| Réservation | Demande de créneau pour un terrain, soumise à validation du gestionnaire de club | Reservation | Club |
| Score de fiabilité | Voir Fiabilité | — | — |
| Set | Manche d'une partie de padel (premier à 6 jeux, 2 jeux d'écart) | Set VO | Partie |
| Tirage au sort | Répartition aléatoire des joueurs en équipes et positions, déclenchée par le créateur | ShuffleTeams | Partie |
| Utilisateur | Personne inscrite sur Primatch (joueur, gestionnaire de club, admin) | User | Auth |
| Validation croisée | Les 4 joueurs doivent valider le score pour qu'il soit officiel (timeout 24h) | logique dans ScoreService | Partie |
| Visibilité | Caractéristique d'une partie : public (visible par tous) ou private (sur invitation) | visibility | Partie |
Paliers de niveau (référence CDC)¶
Définis par l'administrateur
Les paliers exacts sont configurables par l'admin. La référence initiale est basée sur les critères Pista Padel.
| Plage | Nom indicatif |
|---|---|
| 1.0 – 2.0 | Débutant |
| 2.5 – 4.0 | Initié |
| 4.5 – 6.0 | Intermédiaire |
| 6.5 – 7.5 | Avancé |
| 8.0 – 9.0 | Expert |
| 9.5 – 10.0 | Compétiteur |
Bounded Contexts (MVP)¶
graph TB
A[🔐 Auth Context\nUser, OTP, Niveau, Fiabilité] --> B[🎾 Partie Context\nMatch, Participant, Score, Position]
A --> C[🏟️ Club Context\nClub, Terrain, Créneau, Réservation]
B --> D[📊 Niveau Context\nAjustement niveau & fiabilité]
B --> E[💬 Messagerie Context\nChat par partie]