Outil D&D Master
Rôle
Outil d'aide au maître de jeu pour la campagne D&D. Gère les entités de la campagne et génère des briques de préparation de session via IA.
Accès
| LXC | 115 — 192.168.1.70 |
| Port | 80 |
| URL | https://dnd.2h15.fr (VPN uniquement) |
| Stack | React + TypeScript + Vite (frontend) · FastAPI + PostgreSQL (backend) |
Architecture
Internet (VPN) → Nginx (port 80)
├── / → /opt/dnd/frontend/dist/ (React build)
└── /api/ → FastAPI (service dnd.service, venv)
└── PostgreSQL (local)
| Chemin | Rôle |
|---|---|
/opt/dnd/backend/ |
Code FastAPI, venv Python |
/opt/dnd/frontend/ |
Code React/TypeScript/Vite, build dans dist/ |
Entités gérées
| Entité | Description |
|---|---|
| Campagne | Contexte global, paramètres |
| PJ | Personnages joueurs |
| PNJ | Personnages non-joueurs |
| Lieux | Locations de la campagne |
| Factions | Groupes et organisations |
| Quêtes | Quêtes actives, en veille (dormant) |
| Briques de prépa | Contenu généré pour les sessions |
| Sessions | Historique des sessions jouées |
Campagne en cours
La Malédiction de Strahd (D&D 5e) — 7 PJs, 29 PNJs, 18 lieux, 4 factions, 14 quêtes.
Briques de préparation
Les briques sont des blocs de contenu réutilisables lors des sessions.
Types
social · revelation · exploration · event
Statuts
available— prête à être utiliséeused— déjà utilisée en session
Génération IA
La génération est interactive via un modal chat :
- Claude pose des questions pour clarifier la demande
- Claude propose un résumé de la brique avant de la créer
- La brique est générée uniquement après confirmation explicite
Le contexte injecté automatiquement : liste des PJs, PNJs actifs, quêtes actives et en veille, résumé de la dernière session.
Intelligence artificielle
L'IA est accédée via le CLI Claude Code (claude -p) — credentials dans /root/.claude/.credentials.json sur LXC 115.
Token Claude expiré
Si une erreur 401 apparaît, re-pousser les credentials depuis le host Proxmox :
Raccourcis clavier (UX keyboard-first)
| Raccourci | Action |
|---|---|
Ctrl+K |
Ouvrir la palette de commandes |
j / k |
Navigation dans les listes |
n |
Nouvel élément |
e |
Éditer l'élément sélectionné |
x |
Marquer une brique comme utilisée |
g + lettre |
Navigation rapide vers une section |
Monitoring
- Dashboard de supervision : oui
- Uptime Kuma : monitor HTTP
dnd.2h15.fr/api/health
Débogage
# Statut du service backend
pct exec 115 -- systemctl status dnd
# Logs backend
pct exec 115 -- journalctl -u dnd -n 50
# Statut nginx
pct exec 115 -- systemctl status nginx
# Health check API
pct exec 115 -- curl -s http://localhost/api/health
Déploiement frontend
Après modification du code frontend :