86 lines
2.0 KiB
Markdown
86 lines
2.0 KiB
Markdown
# 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<br/>Cron jobs]
|
|
Fetcher[fetcher.js<br/>Data refresh]
|
|
Blizzard[blizzard.js<br/>API Blizzard]
|
|
RaiderIO[raiderio.js<br/>Raider.IO API]
|
|
Wago[wago.js<br/>Wago API]
|
|
ModelViewer[modelviewerProxy.js]
|
|
end
|
|
|
|
subgraph "Base de données"
|
|
SQLite[(SQLite<br/>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
|
|
```
|