# Serveur Web pour les Transcripts Serveur web pour héberger les transcripts avec authentification Discord OAuth2. ## Installation 1. Installer les dépendances: ```bash npm install express express-session passport passport-discord ``` 2. Configurer les variables d'environnement dans `.env`: ```env # Discord OAuth DISCORD_CLIENT_ID=ton_client_id DISCORD_CLIENT_SECRET=ton_client_secret DISCORD_CALLBACK_URL=http://localhost:3000/auth/discord/callback # Serveur TRANSCRIPT_PORT=3000 TRANSCRIPT_WEB_URL=transcript.syxpi.fr SESSION_SECRET=change-me-in-production # Modérateurs (IDs Discord séparés par des virgules) MODERATOR_IDS=361526553940721684,autre_id_moderateur # Base de données (déjà configurée pour le bot) DB_HOST=192.168.1.6 DB_USER=bot DB_PASSWORD=ton_password DB_NAME=bot ``` ## Configuration Discord OAuth **📖 Guide détaillé :** Voir [OAUTH_SETUP.md](./OAUTH_SETUP.md) pour un guide complet étape par étape. **Résumé rapide :** 1. Aller sur https://discord.com/developers/applications 2. Créer une nouvelle application ou utiliser l'existante 3. Aller dans "OAuth2" → "Redirects" 4. Ajouter: `http://localhost:3000/auth/discord/callback` (pour le dev) 5. Ajouter: `https://transcript.syxpi.fr/auth/discord/callback` (pour la prod) 6. Copier le Client ID et le Client Secret dans `.env` 7. Configurer les scopes : `identify` et `guilds` ## Lancement ```bash npm run server # ou node server/transcript-server.js ``` Le serveur sera accessible sur `http://localhost:3000` ## Routes - `GET /login` - Page de connexion Discord - `GET /auth/discord` - Démarre l'authentification Discord - `GET /auth/discord/callback` - Callback OAuth Discord - `GET /auth/logout` - Déconnexion - `GET /` - Page d'accueil (liste des transcripts) - `GET /tickets/:type/:date/:file` - Accès à un transcript (avec auth) ## Sécurité - Seuls les utilisateurs authentifiés peuvent accéder aux transcripts - Vérification que l'utilisateur est le créateur du ticket OU modérateur - Sessions sécurisées avec cookies httpOnly - HTTPS requis en production ## Déploiement Pour déployer sur `transcript.syxpi.fr`: 1. Configurer un reverse proxy (Nginx/Apache) pointant vers le port 3000 2. Configurer SSL/HTTPS (Let's Encrypt) 3. Mettre à jour `DISCORD_CALLBACK_URL` dans `.env` 4. Lancer le serveur avec PM2 ou systemd ## Améliorations futures - [ ] Vérification réelle des permissions Discord (rôles modérateur) - [ ] Interface de recherche/filtrage des transcripts - [ ] Statistiques et analytics - [ ] Export PDF des transcripts - [ ] API REST pour accéder aux transcripts