1.6 KiB
1.6 KiB
| 1 | Élément | Entité/Table | Champ | Type TypeScript | Type MySQL | Type MongoDB | Description | Contraintes | Obligatoire | Exemple |
|---|---|---|---|---|---|---|---|---|---|---|
| 2 | Carte | cards | id | string | VARCHAR(36) (UUID) | string (champ c_id) | Identifiant métier stable de la carte | UNIQUE / PRIMARY KEY | Oui | carte_123e4567-e89b-12d3-a456-426614174000 |
| 3 | Carte | cards | question | string | TEXT | string | Terme ou question affichée à l'utilisateur lors du tirage jeu | Non vide | Oui | a2f3 |
| 4 | Carte | cards | response | string | TEXT | string | Réponse cachée, révélée à la demande par le joueur | Non vide | Oui | Asynchrone et non bloquant (Event Loop) |
| 5 | Carte | cards | theme | string | VARCHAR(50) | string | Thème / catégorie de la carte | Non vide + index | Oui | javascript |
| 6 | Carte | cards | tags | string[] | JSON (type JSON) | string[] | Mots-clés additionnels pour la recherche | Optionnel | Non | ["frontend","DOM"] |
| 7 | Carte | cards | createdAt | Date | DATETIME / TIMESTAMP | Date | Date de création de la carte | Automatique à l'insertion | Oui | 9/16/26 8:00 |
| 8 | Carte | cards | updatedAt | Date | DATETIME / TIMESTAMP | Date | Date de dernière modification | Automatique à chaque modification | Oui | 9/16/26 9:30 |
| 9 | Thème | themes | id | string | VARCHAR(36) (UUID) | string | Identifiant unique du thème (si entité dédiée) | UNIQUE / PRIMARY KEY | Oui | thm_2026-0001 |
| 10 | Thème | themes | name | string | VARCHAR(50) UNIQUE | string | Nom du thème | UNIQUE | Oui | javascript |
| 11 | Liste des types | Option "recommandation" | liste des thèmes | - | - | - | Alternative : dériver dynamiquement les thèmes depuis les valeurs DISTINCT de cards.theme | - | - | - |
| 12 | Index recommandé MySQL | idx_theme_sur_cards.theme | - | - | INDEX (theme) | - | - | - | - | - |
| 13 | Index recommandé MongoDB | index_sur_cards.theme | - | - | - | index(theme) | - | - | - | - |