# Configuration de la base de données MySQL distante

## Informations à configurer dans le fichier `.env`

Après avoir uploadé les fichiers sur le serveur, créez un fichier `.env` avec ces informations :

### Configuration MySQL pour serveur distant

```env
DB_CONNECTION=mysql
DB_HOST=votre-serveur-mysql.com      # Ou l'adresse IP du serveur MySQL
DB_PORT=3306                          # Port MySQL (généralement 3306)
DB_DATABASE=nom_de_la_base            # Nom de votre base de données
DB_USERNAME=nom_utilisateur           # Utilisateur MySQL
DB_PASSWORD=mot_de_passe              # Mot de passe MySQL
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
```

## Exemple basé sur l'ancien projet

Si vous utilisez la même base de données que l'ancien projet PHP, voici un exemple :

```env
DB_CONNECTION=mysql
DB_HOST=localhost                     # Ou l'IP/hostname du serveur distant
DB_PORT=3306
DB_DATABASE=sc4pessauxgm_wp317        # Nom de votre base
DB_USERNAME=sc4pessauxgm_wp317        # Utilisateur MySQL
DB_PASSWORD=S4ep5K2z.@                # Mot de passe
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
```

## Vérification de la connexion

Une fois le `.env` configuré, testez la connexion :

```bash
php artisan db:show
```

Cette commande affichera les informations de connexion et testera la connexion à la base de données.

## Migration depuis l'ancien projet

Si vous migrez depuis le projet PHP natif (`LMM Logs`) :

1. **Les tables existent déjà** dans la base de données
2. Vérifiez que toutes les migrations sont exécutées :
   ```bash
   php artisan migrate:status
   ```
3. Si des migrations manquent :
   ```bash
   php artisan migrate --force
   ```
4. Vérifiez que les bots IA sont présents :
   ```bash
   php artisan db:seed --class=BotSeeder
   ```

## Structure de base de données

Le projet utilise ces tables :

- `users` - Utilisateurs de l'application
- `bots` - Bots IA détectables (20 bots pré-configurés)
- `sites` - Sites web analysés
- `analyses` - Analyses de fichiers logs
- `logs_ia` - Entrées de logs détectées comme provenant de bots IA

## Problèmes courants

### Erreur "Connection refused"

- Vérifiez que `DB_HOST` est correct (IP ou hostname du serveur distant)
- Vérifiez que le port `DB_PORT` est correct (3306 par défaut)
- Vérifiez que le serveur MySQL accepte les connexions distantes

### Erreur "Access denied"

- Vérifiez `DB_USERNAME` et `DB_PASSWORD`
- Vérifiez que l'utilisateur MySQL a les permissions sur la base de données

### Erreur "Unknown database"

- Vérifiez que `DB_DATABASE` correspond au nom exact de la base de données
- Vérifiez que la base de données existe sur le serveur MySQL

## Sécurité

⚠️ **Important** : 
- Ne jamais commiter le fichier `.env` (il est dans `.gitignore`)
- Utiliser des mots de passe forts
- Limiter l'accès au fichier `.env` (permissions 600) :
  ```bash
  chmod 600 .env
  ```

