# Présentation du projet

# Présentation du projet

> _Dernière mise à jour : 2026-05-10_

## But

Webapp RAG (Retrieval-Augmented Generation) self-hosted qui répond en français aux questions sur les règles de jeux de société et de TCG, en citant les sources (page exacte du livret PDF, cartes, règles d'extensions).

## Public

Initialement : Thymon en solo pendant ses parties / lors de l'analyse de decks. Architecture multi-utilisateur avec auth en place (argon2 + sessions cookies HTTP-only) pour future ouverture.

## État

- **Production** : tourne sur Unraid de Thymon, exposée sur <https://rules.thymon.fr> via Nginx Proxy Manager.
- **Stack mature** : 6401 lignes TypeScript backend, 50 composants Vue, 34 endpoints API, 6 TCG intégrés, 4 phases de roadmap RAG livrées.
- **CI/CD** : Gitea Runners, build multi-stage, push registry Gitea self-hosted.

## Historique court

| Date | Étape clé |
|---|---|
| 2026 (début) | Setup Hono + Vue + Qdrant, premier RAG simple |
| 2026 Q1 | Embeddings TEI, contextual retrieval B, hierarchy LLM |
| 2026-04 | Vision inline (Claude lit PNG), HyDE, RAG Fusion v2, sticky mentions, deck import FAB, mode deckbuilding |
| 2026-04-26 | Méta-game (17Lands, MTGGoldfish, MTGTop8, Mobalytics, RiftboundStats) |
| 2026-04-27 | Lorcana intégration full premium, Phase 2 OCR roadmap préparée |
| 2026-05-06 | OCR auto Phase 1 (tesseract) |
| 2026-05-09 | Sécurité SSH renforcée (user oracle dédié, ForceCommand wrapper) |

## Caractéristiques clés

- **Self-hosted total** : aucune dépendance cloud sauf appels Claude via VM oracle (qui est aussi self-hosted, mais le compte Anthropic est externe).
- **Multilingue** : règles FR ou EN par jeu, HyDE bilingue, traduction question si nécessaire.
- **Vision inline** : Claude lit la PNG de la page la plus pertinente directement via son outil `Read` côté VM SSH (zéro pré-ingestion vision).
- **Méta-game** : ingest tier lists + tournois (17Lands, MTGGoldfish, MTGTop8, Mobalytics, RiftboundStats, fabtcg.com) → indexés en chunks `[META]` aux côtés des règles.
- **Mode deckbuilding** : intent dédié, spec Haiku, prompt Opus spécialisé, validation structurelle + retry auto.
- **Sécurité SSH** : 4 couches (user oracle séquestré, ForceCommand wrapper, validateModel(), ed25519 dédiée).