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).