# 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 ```