Le "VTT Data-Manager-Visuel" (VTT-DMV) est une application de bureau (Windows/Mac) distribuée via Steam, destinée aux Maîtres du Jeu (MJ) de
0

Configure Feed

Select the types of activity you want to include in your feed.

14 1 0

Clone this repository

https://tangled.org/moustik.tngl.sh/Virtual-Table-Top-Data-Manager-visuel https://tangled.org/did:plc:lpxfbbji3hwnqswvnhhf2vlz
git@tangled.org:moustik.tngl.sh/Virtual-Table-Top-Data-Manager-visuel git@tangled.org:did:plc:lpxfbbji3hwnqswvnhhf2vlz

For self-hosted knots, clone URLs may differ based on your setup.



README.md

🎲 VTT Data-Manager-Visuel#

Local-First · Desktop · Steam P2P · Souveraineté numérique

Rust Tauri SvelteKit SurrealDB Licence

VTT-DMV est une application desktop tout-en-un pour les Maîtres de Jeu de jeux de rôle sur table.
Elle fusionne trois familles d'outils dans une seule app :

Création de monde Table virtuelle spatiale Outils de table
Wiki structuré (lieux, persos, orgas…) Rendu 2D canvas/WebGL Jet de dés
Relations typées et valuées Tokens draggable, brouillard de guerre Traqueur d'initiative
Templates de propriétés par genre Import de maps, calques Marqueurs d'état, compteurs

🔑 Philosophie#

100% local. Toutes les données et images vivent sur le disque dur du MJ. Pas de cloud, pas de compte, pas de serveur.

Le soir de la partie, les joueurs rejoignent instantanément via le réseau P2P de Steam — sans config IP, sans port forwarding. Le MJ garde la souveraineté totale sur son univers.

    ┌──────────────┐
    │   Disque MJ  │  ← Toutes les données, zéro cloud
    └──────┬───────┘
           │
    ┌──────┴───────┐
    │  Steam P2P   │  ← Les joueurs se connectent en un clic
    └──────────────┘

🧱 Stack technique#

Couche Technologie Rôle
Shell desktop Tauri v2 Fenêtre native, accès système, signatures
Frontend SvelteKit 5 + Vite UI réactive, rendu 2D
Backend Rust Tokio Tâches async, réseau, fichiers
Base de données SurrealDB 3 (SurrealKV) Graphe embarqué, multi-modèle
Réseau P2P Steamworks SDK NAT traversal, lobby, invitations

📁 Structure#

├── src-tauri/              # Backend Rust (binaire Tauri)
│   ├── src/
│   │   ├── main.rs         # Point d'entrée
│   │   ├── lib.rs          # Commandes Tauri
│   │   └── infrastructure/
│   │       ├── db.rs       # SurrealDB embeddé
│   │       ├── network.rs  # Steamworks P2P
│   │       └── mod.rs
│   ├── Cargo.toml
│   └── tauri.conf.json
├── frontend/               # Frontend SvelteKit
│   ├── src/
│   │   ├── routes/         # Pages (SSR/CSR)
│   │   └── lib/            # Composants, stores
│   └── package.json
├── DOCUMENTATION/          # PRD, SPECs, ADRs, audits
├── backlog/                # Tâches, milestones
├── Makefile                # Commandes de build
└── CHANGELOG.md

🚀 Quick start#

Prérequis#

  • Rust 1.85+
  • Node.js 22+
  • npm 10+
  • Steamworks SDK (optionnel — pour la feature réseau P2P)
# Installer les dépendances frontend
cd frontend && npm install && cd ..

# Lancer en mode développement
make dev

# Builder le binaire standalone
make build

Avec Steamworks (nécessite le SDK)#

# Activer la feature steamworks
cargo build --release -p vtt-dmv --features steamworks

📋 MVP — 13 fonctionnalités#

# Feature Statut
F01 Base de données de monde souveraine (13 types d'entités) 🔨 En cours
F02 Workspace spatial 2D avec tokens draggable ⏳ Planifié
F03 Réseau P2P Steamworks zéro-config ⏳ Planifié
F04 Steamworks optionnelle (mode hors-ligne) ✅ ADR rédigé
F05 Gestion des médias (images, cartes) ⏳ Planifié
F06 Éditeur de token ⏳ Planifié
F07 Brouillard de guerre ⏳ Planifié
F08 Initiative tracker ⏳ Planifié
F09 Jet de dés (3D physiques) ⏳ Planifié
F10 Calques de map ⏳ Planifié
F11 Portée / mesure de distance ⏳ Planifié
F12 Marqueurs d'état et compteurs ⏳ Planifié
F13 Sécurité Payload Router ⏳ Planifié

📚 Documentation#

Toute la doc est dans /DOCUMENTATION :

  • 10 - Produit → PRD, roadmap, guide utilisateur
  • 20 - Technique → SPECs, glossaire, sécurité, veille
  • 30 - Décisions → ADRs (Architecture Decision Records)
  • 40 - Exploitation → Runbooks, audits

🛠️ Commandes Makefile#

Commande Description
make dev Lancer Tauri + SvelteKit en mode dev
make build Builder le binaire release
make fmt Formater Rust + JS
make lint Linter Rust + JS
make test Tests Rust + frontend (vitest)

📝 Licence#

MIT © 2026 — Projet open-source.