diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..159ad81 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,85 @@ +# Wycz - Documentation détaillée + +## Architecture + +```mermaid +graph TD + subgraph "Frontend (HTML/CSS/JS)" + Public[public/] + Admin[admin.html] + App[app.js] + Model3D[model3d.js] + end + + subgraph "Backend (Express ESM)" + Server[server.js] + Auth[src/auth.js] + Config[src/config.js] + end + + subgraph "Services" + Scheduler[scheduler.js
Cron jobs] + Fetcher[fetcher.js
Data refresh] + Blizzard[blizzard.js
API Blizzard] + RaiderIO[raiderio.js
Raider.IO API] + Wago[wago.js
Wago API] + ModelViewer[modelviewerProxy.js] + end + + subgraph "Base de données" + SQLite[(SQLite
better-sqlite3)] + end + + Public --> App + Public --> Admin + Public --> Model3D + App -->|API calls| Server + Admin -->|API calls| Server + Server --> Auth + Server --> SQLite + Scheduler --> Fetcher + Fetcher --> Blizzard + Fetcher --> RaiderIO + Fetcher --> Wago + Model3D --> ModelViewer +``` + +## Fonctionnalités + +### Site Portfolio WoW +- Affichage des personnages et guildes +- Statistiques Raider.IO (scores mythic+) +- Données Blizzard API (armure, achievements) +- Intégration Wago (WeakAuras, addons) +- Visualisation 3D des personnages (modelviewer) + +### Administration +- Interface admin sécurisée (mot de passe) +- Gestion des données affichées +- Configuration du scheduler + +### Scheduler +- Tâches cron pour rafraîchir les données +- Mise à jour automatique des scores Raider.IO +- Sync avec l'API Blizzard + +### Model Viewer Proxy +- Proxy vers les assets 3D de Blizzard +- Rendu 3D des personnages en jeu + +## Variables d'environnement + +| Variable | Description | +|----------|-------------| +| `PORT` | Port du serveur (3004) | +| `ADMIN_PASSWORD` | Mot de passe admin | +| `SESSION_SECRET` | Secret de session Express | +| `DATA_DIR` | Répertoire de données SQLite | + +## Développement + +```bash +cd backend +npm install +node src/server.js # Express sur :3004 +```