Skip to main content

Aperçu des TCG supportés

Aperçu des TCG supportés

Dernière mise à jour : 2026-05-10

6 TCG intégrés. Chaque TCG a une page dédiée dans ce chapitre. Workflow de mise à jour des cartes : voir mettre-a-jour-cartes.md. Workflow d'ajout d'un nouveau TCG : voir ajouter-un-tcg.md.

Tableau récap

TCG Collection Qdrant Source data Type source Fréquence maj Symboles UI Deckbuilding Méta
Magic: The Gathering magic-cards Scryfall bulk JSON + traduction Haiku Téléchargée À chaque set Standard (~3-4×/an) mana-font (webfont) ✅ 17Lands + MTGGoldfish + MTGTop8
Disney Lorcana lorcana-cards LorcanaJSON.org Téléchargée (MIT) À chaque set PNG Ravensburger ⚠️ partiel ❌ DotGG figée nov 2025
Flesh and Blood flesh-and-blood-cards Package npm @flesh-and-blood/cards Bundlée image Docker À chaque set PNG LSS ✅ fabtcg.com tournois
Riftbound riftbound-cards API Riot card-gallery Live API À chaque set PNG Riot press-kit ✅ Mobalytics + RiftboundStats
Terraforming Mars terraforming-mars-cards HTML parsing + cards.json Statique locale Quasi-statique (cards.json) ❌ pas de format
Ark Nova ark-nova-cards JSON + sprites Statique locale Quasi-statique (sprites locales)

Caractéristiques transverses

Côté backend

  • Source : implémente l'interface CardSource dans src/services/cards/sources/<tcg>.ts (load(), normalizeCard(), getImageUrl())
  • Registry : enregistré dans src/services/cards/sources/registry.ts (Map collection → CardSource)
  • Cache mémoire : cards-cache.ts charge la collection au boot (warm-up CARD_WARM_TIMEOUT_MS)
  • Recherche : /api/cards/search utilise BM25 ou full-text in-memory

Côté frontend

  • Symboles inline : frontend/src/lib/<tcg>-symbols.ts avec regex whitelist + remplacement
  • Hook autocomplete : useMentionAutocomplete debounce 150ms → /api/cards/search
  • Modale zoom : CardZoomModal.vue (770+ lignes, async load) gère stats + ability text par TCG

Côté RAG

  • hasCardDatabase sur games : pointe vers la collection Qdrant correspondante. Active dynamiquement :
    • Autocomplete @card
    • Bloc CARTES CITÉES dans le userPrompt
    • Mode deckbuilding (selon les champs structurels disponibles)
    • Resync via /admin

Côté méta

  • Chunks [META] ingérés via services/meta/<source>.ts
  • Ingest sources : services/meta/ingest.ts (snapshot → chunks)
  • Cron meta-sync.ts orchestre la fréquence (par défaut hebdo, configurable par TCG)

Limites actuelles

  • Lorcana méta : DotGG est figé depuis le 21 nov 2025. Pas de source alternative pour l'instant. Si DotGG reprend, juste relancer META_LORCANA_* (pas implémenté car source morte).
  • TM / Ark Nova deckbuilding : pas de champs structurels (format, hero, color identity). Retombe silencieusement sur retrieval synergy seul.
  • Pokemon TCG : pas implémenté. Procédure dans ajouter-un-tcg.md.
  • Pas de cross-TCG dans une même question : un jeu = une hasCardDatabase unique. Le mode "MTG vs Lorcana sur le même chat" n'a pas de sens applicatif.