Files
Femboy-Croissant-Bot/server/README.md
Syxpi ad2014b7b2 Update Bot (j'ai plus le repo sur GitHub)
Qui c'est la conne qui a delete le repo sur GitHub? C'EST MOIIIII
2026-02-09 14:36:26 +01:00

90 lines
2.6 KiB
Markdown

# 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