# 🚀 GUIDE RAPIDE : Activer la Modération Automatique

## ⏱️ Temps requis : 5 minutes

---

## 📋 Étapes

### 1️⃣ Obtenir une clé API OpenAI (GRATUITE)

1. Va sur **https://platform.openai.com/signup**
2. Crée un compte avec ton email (gratuit, pas de CB requise)
3. Une fois connecté, va sur **https://platform.openai.com/api-keys**
4. Clique sur **"Create new secret key"**
5. Donne-lui un nom (ex: "FailDaily Moderation")
6. **COPIE LA CLÉ** (elle commence par `sk-proj-...`) ⚠️ Tu ne pourras plus la revoir !

---

### 2️⃣ Configuration Locale

Ouvre `backend-api/.env` et ajoute ta clé :

```env
# 🔒 Modération Automatique (OpenAI Moderation API - GRATUIT)
OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```

💡 La ligne est déjà présente dans le fichier, il suffit de coller ta clé après le `=`

---

### 3️⃣ Test en Local

```bash
# Tester le service de modération
cd "d:\WEB API\FailDaily\backend-api"
node test-moderation.js
```

Tu devrais voir :
```
🧪 TESTS DE MODÉRATION AUTOMATIQUE OPENAI
============================================================

✅ PASS - Contenus sains autorisés
❌ FAIL - Contenus inappropriés bloqués

📊 RÉSULTATS : 7/7 tests réussis
```

---

### 4️⃣ Tester avec l'Application

1. **Démarre le backend** :
   ```bash
   cd "d:\WEB API\FailDaily\backend-api"
   npm start
   # ou
   node server.js
   ```

2. **Lance le frontend** :
   ```bash
   cd "d:\WEB API\FailDaily\frontend"
   ionic serve
   ```

3. **Crée un fail inapproprié** pour tester :

   **❌ Test 1 - Contenu haineux** :
   - Titre : "Je déteste tout le monde"
   - Description : "Vous êtes tous des idiots"
   - **Résultat attendu** : ❌ Erreur 400 "Contenu inapproprié détecté"

   **✅ Test 2 - Contenu normal** :
   - Titre : "J'ai raté mon examen"
   - Description : "J'ai oublié de réviser et j'ai eu 5/20"
   - **Résultat attendu** : ✅ Fail créé normalement

---

### 5️⃣ Déploiement sur OVH

```bash
# Connexion SSH
ssh ubuntu@141.94.42.172

# Éditer la configuration Docker
nano /home/taaazzz/FailDaily/docker/docker-compose.ovh.yml
```

Dans la section `backend.environment`, ajoute :
```yaml
services:
  backend:
    environment:
      # ... autres variables ...
      - OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```

**Enregistre** (Ctrl+O, Enter, Ctrl+X)

Rebuild et redémarre :
```bash
cd /home/taaazzz/FailDaily/docker

# Rebuild le backend avec la nouvelle config
docker-compose -f docker-compose.ovh.yml build backend

# Redémarre
docker-compose -f docker-compose.ovh.yml up -d

# Vérifie les logs
docker-compose -f docker-compose.ovh.yml logs -f backend
```

Cherche dans les logs :
- ✅ **"✅ Fail créé"** pour les contenus OK
- 🚨 **"🚨 Fail flaggé par modération"** pour les contenus bloqués

---

## 🔍 Vérifier que ça Marche

### Backend Logs
```bash
# Local
cd "d:\WEB API\FailDaily\backend-api"
npm start
# Regarde la console quand tu crées un fail

# Production (OVH)
ssh ubuntu@141.94.42.172
cd /home/taaazzz/FailDaily/docker
docker-compose -f docker-compose.ovh.yml logs -f backend
```

### Base de Données
```sql
-- Voir les contenus bloqués
SELECT 
  created_at,
  action,
  message,
  details
FROM system_logs
WHERE action IN ('fail_blocked_moderation', 'comment_blocked_moderation')
ORDER BY created_at DESC
LIMIT 10;
```

---

## ❓ Troubleshooting

### "⚠️ OPENAI_API_KEY manquante"
→ Vérifie que la clé est bien dans `.env` et que le backend a redémarré

### "❌ Erreur modération OpenAI: Request failed with status code 401"
→ Ta clé API est invalide, génère-en une nouvelle sur platform.openai.com

### "bypass: true" dans les résultats
→ La modération est désactivée (pas de clé API), tout passe

### Rien ne se passe
→ Redémarre le backend :
```bash
# Local : Ctrl+C puis node server.js
# OVH : docker-compose -f docker-compose.ovh.yml restart backend
```

---

## 📊 Statistiques

Une fois en production, surveille les métriques :

```sql
-- Nombre de contenus bloqués par jour
SELECT 
  DATE(created_at) as jour,
  COUNT(*) as total_bloque,
  SUM(CASE WHEN action = 'fail_blocked_moderation' THEN 1 ELSE 0 END) as fails,
  SUM(CASE WHEN action = 'comment_blocked_moderation' THEN 1 ELSE 0 END) as commentaires
FROM system_logs
WHERE action IN ('fail_blocked_moderation', 'comment_blocked_moderation')
  AND created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY)
GROUP BY DATE(created_at)
ORDER BY jour DESC;
```

---

## 🎯 Prochaines Étapes

1. ✅ Obtenir clé API OpenAI
2. ✅ Tester en local
3. ✅ Déployer sur OVH
4. 📊 Monitorer les blocages
5. 🔧 Ajuster si besoin (blacklist complémentaire)

---

**Temps total** : ~5 minutes  
**Coût** : 0€  
**Maintenance** : Aucune  

🎉 **C'est tout ! La modération est active !**
