# 🔧 Guide de dépannage - Connexion OVH Cloud Database

## ❌ Erreur rencontrée

```
Access denied for user 'taaazzz'@'141.94.42.172' (using password: YES)
```

## 🎯 Solution : Whitelist IP sur OVH Cloud Database

### Étape 1 : Autoriser l'IP du serveur OVH

1. **Connexion à l'espace client OVH**
   - URL : https://www.ovh.com/manager/
   - Identifiez-vous avec vos credentials OVH

2. **Navigation vers Cloud Database**

   ```
   Menu Principal → Web Cloud → Cloud Databases → gb9434-001
   ```

3. **Configuration des IP autorisées**
   - Onglet : **"Authorized IPs"** ou **"IP autorisées"**
   - Cliquez sur : **"Add an IP address/mask"**
4. **Ajout de l'IP**
   ```
   IP/Mask: 141.94.42.172/32
   Description: Serveur OVH FailDaily Production
   ```

   - Validez la configuration
   - ⏳ Attendre 1-2 minutes pour la propagation

### Étape 2 : Vérifier l'utilisateur et permissions

1. **Connectez-vous à OVH Cloud Database** (via phpMyAdmin ou CLI)

   ```bash
   mysql -h gb9434-001.eu.clouddb.ovh.net -P 35670 -u taaazzz -p
   ```

2. **Vérifiez les permissions**

   ```sql
   SHOW GRANTS FOR 'taaazzz'@'%';
   ```

3. **Permissions requises**
   ```sql
   GRANT ALL PRIVILEGES ON faildaily_bdd.* TO 'taaazzz'@'%';
   FLUSH PRIVILEGES;
   ```

### Étape 3 : Vérifier le mot de passe Docker Secret

Sur le serveur OVH, vérifiez que le secret contient le bon mot de passe :

```bash
# Inspecter le secret (ne montre PAS le contenu, juste les métadonnées)
docker secret inspect db_password

# Si besoin de recréer le secret
docker secret rm db_password
echo "VOTRE_MOT_DE_PASSE_OVH" | docker secret create db_password -

# Redéployer la stack pour prendre en compte le nouveau secret
docker stack deploy -c docker-stack.ovh-cloud.yml faildaily --prune
```

## 🔍 Vérifications post-correction

### Test 1 : Connexion manuelle depuis le serveur OVH

```bash
mysql -h gb9434-001.eu.clouddb.ovh.net -P 35670 -u taaazzz -p faildaily_bdd
```

- Si ça fonctionne ✅ : Le problème vient du secret Docker
- Si ça échoue ❌ : Le problème vient de l'IP whitelist ou du mot de passe

### Test 2 : Vérifier les logs backend

```bash
docker service logs faildaily_backend --tail 20
```

- Cherchez : **"✅ Connexion MySQL réussie"**

### Test 3 : Health check application

```bash
curl https://faildaily.com/api/health
```

## 📊 Informations de connexion

```yaml
Serveur: gb9434-001.eu.clouddb.ovh.net
Port: 35670
Utilisateur: taaazzz
Base de données: faildaily_bdd
IP serveur OVH: 141.94.42.172
```

## ⚠️ Points d'attention

1. **Sécurité** : L'IP doit être `/32` (une seule IP spécifique)
2. **Permissions** : L'utilisateur `taaazzz` doit avoir `ALL PRIVILEGES` sur `faildaily_bdd`
3. **Secret Docker** : Le mot de passe doit correspondre EXACTEMENT au mot de passe OVH Cloud
4. **Propagation** : Attendre 1-2 minutes après modification de l'IP whitelist

## 🆘 Si le problème persiste

1. Vérifiez que la base `faildaily_bdd` existe bien
2. Vérifiez que les tables sont créées dans cette base
3. Testez avec un autre utilisateur pour isoler le problème
4. Contactez le support OVH si l'IP ne peut pas être ajoutée

## 📝 Commandes utiles

```bash
# Voir l'état des services
docker stack services faildaily

# Voir les tasks en erreur
docker stack ps faildaily --no-trunc

# Logs en temps réel
docker service logs faildaily_backend -f

# Redémarrer un service
docker service update --force faildaily_backend
```
