Files
Femboy-Croissant-Bot/server
2026-02-28 12:32:12 +01:00
..
2026-02-28 12:32:12 +01:00
2026-02-28 12:32:12 +01:00

Serveur Web pour les Transcripts

Serveur web pour héberger les transcripts avec authentification Discord OAuth2.

Installation

  1. Installer les dépendances:
npm install express express-session passport passport-discord
  1. 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 :

  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

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