2.6 KiB
2.6 KiB
Serveur Web pour les Transcripts
Serveur web pour héberger les transcripts avec authentification Discord OAuth2.
Installation
- Installer les dépendances:
npm install express express-session passport passport-discord
- Configurer les variables d'environnement dans
.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 pour un guide complet étape par étape.
Résumé rapide :
- Aller sur https://discord.com/developers/applications
- Créer une nouvelle application ou utiliser l'existante
- Aller dans "OAuth2" → "Redirects"
- Ajouter:
http://localhost:3000/auth/discord/callback(pour le dev) - Ajouter:
https://transcript.syxpi.fr/auth/discord/callback(pour la prod) - Copier le Client ID et le Client Secret dans
.env - Configurer les scopes :
identifyetguilds
Lancement
npm run server
# ou
node server/transcript-server.js
Le serveur sera accessible sur http://localhost:3000
Routes
GET /login- Page de connexion DiscordGET /auth/discord- Démarre l'authentification DiscordGET /auth/discord/callback- Callback OAuth DiscordGET /auth/logout- DéconnexionGET /- 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:
- Configurer un reverse proxy (Nginx/Apache) pointant vers le port 3000
- Configurer SSL/HTTPS (Let's Encrypt)
- Mettre à jour
DISCORD_CALLBACK_URLdans.env - 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