# 🔐 CONFIGURATION PRIVÉE FAILDAILY - NE JAMAIS COMMITER
# ================================================================
# ⚠️ Ce fichier contient TOUTES les données sensibles du projet
# ⚠️ Ne JAMAIS commiter sur GitHub
# ⚠️ À conserver dans un gestionnaire de mots de passe sécurisé
# ================================================================

## 🖥️ SERVEUR OVH - INFORMATIONS GÉNÉRALES
════════════════════════════════════════════════════════════════

**Nom du serveur**: Taaazzz-Dedie
**IP publique**: 141.94.42.172
**Système**: Ubuntu 24.04.3 LTS
**Utilisateur principal**: taaazzz
**Email admin**: bruno@taaazzz-prog.fr
**Domaine principal**: faildaily.com

## 🔑 ACCÈS SSH AU SERVEUR
════════════════════════════════════════════════════════════════

### Connexion SSH Simple
```bash
ssh ubuntu@141.94.42.172
```

### Exécuter une commande à distance (sans se connecter)
```bash
ssh ubuntu@141.94.42.172 "commande à exécuter"
```

**Exemples pratiques** :
```bash
# Vérifier l'état des containers Docker
ssh ubuntu@141.94.42.172 "docker ps"

# Voir les logs d'un container
ssh ubuntu@141.94.42.172 "docker logs faildaily-backend-ssl"

# Redémarrer un container
ssh ubuntu@141.94.42.172 "docker restart faildaily-backend-ssl"

# Vérifier l'espace disque
ssh ubuntu@141.94.42.172 "df -h"

# Lire un fichier .env
ssh ubuntu@141.94.42.172 "cat /home/taaazzz/FailDaily/docker/.env"
```

### Transfert de fichiers avec SCP (Secure Copy)

#### 📤 ENVOYER des fichiers VERS le serveur OVH
```bash
# Syntaxe générale
scp <fichier_local> ubuntu@141.94.42.172:<chemin_distant>

# Envoyer un fichier unique
scp fichier.js ubuntu@141.94.42.172:/home/taaazzz/FailDaily/backend-api/src/

# Envoyer plusieurs fichiers
scp fichier1.js fichier2.js ubuntu@141.94.42.172:/home/taaazzz/FailDaily/backend-api/

# Envoyer un dossier complet (récursif)
scp -r ./src/ ubuntu@141.94.42.172:/home/taaazzz/FailDaily/backend-api/

# Envoyer avec affichage de progression
scp -v fichier.js ubuntu@141.94.42.172:/home/taaazzz/FailDaily/
```

**Exemples pratiques d'envoi** :
```bash
# Mettre à jour le backend
scp backend-api/server.js ubuntu@141.94.42.172:/home/taaazzz/FailDaily/backend-api/

# Mettre à jour le fichier .env
scp docker/.env ubuntu@141.94.42.172:/home/taaazzz/FailDaily/docker/

# Envoyer un dossier complet de routes
scp -r backend-api/src/routes/ ubuntu@141.94.42.172:/home/taaazzz/FailDaily/backend-api/src/
```

#### 📥 TÉLÉCHARGER des fichiers DEPUIS le serveur OVH
```bash
# Syntaxe générale
scp ubuntu@141.94.42.172:<chemin_distant> <destination_locale>

# Télécharger un fichier
scp ubuntu@141.94.42.172:/home/taaazzz/FailDaily/docker/.env ./docker/

# Télécharger plusieurs fichiers
scp ubuntu@141.94.42.172:/home/taaazzz/FailDaily/docker/.env* ./docker/

# Télécharger un dossier complet
scp -r ubuntu@141.94.42.172:/home/taaazzz/FailDaily/backend-api/uploads/ ./local-uploads/

# Télécharger avec compression (plus rapide)
scp -C ubuntu@141.94.42.172:/home/taaazzz/FailDaily/logs.txt ./
```

**Exemples pratiques de téléchargement** :
```bash
# Récupérer les logs
scp ubuntu@141.94.42.172:/home/taaazzz/FailDaily/backend-api/logs/*.log ./logs/

# Récupérer le fichier .env de production
scp ubuntu@141.94.42.172:/home/taaazzz/FailDaily/docker/.env.production ./docker/

# Récupérer une base de données exportée
scp ubuntu@141.94.42.172:/home/taaazzz/backup-db.sql ./backups/
```

### Synchronisation avec RSYNC (recommandé pour gros volumes)
```bash
# Synchroniser un dossier LOCAL → SERVEUR
rsync -avz --progress ./backend-api/ ubuntu@141.94.42.172:/home/taaazzz/FailDaily/backend-api/

# Synchroniser SERVEUR → LOCAL
rsync -avz --progress ubuntu@141.94.42.172:/home/taaazzz/FailDaily/backend-api/ ./backend-api/

# Synchroniser avec exclusions
rsync -avz --progress --exclude 'node_modules' --exclude '.git' ./backend-api/ ubuntu@141.94.42.172:/home/taaazzz/FailDaily/backend-api/

# Dry-run (simulation sans modification)
rsync -avzn --progress ./backend-api/ ubuntu@141.94.42.172:/home/taaazzz/FailDaily/backend-api/
```

**Options rsync utiles** :
- `-a` : Mode archive (préserve permissions, dates, etc.)
- `-v` : Verbose (affiche les détails)
- `-z` : Compression pendant le transfert
- `--progress` : Affiche la progression
- `--delete` : Supprime les fichiers absents de la source
- `-n` : Dry-run (test sans modifier)

### Workflow de déploiement typique

#### 1️⃣ Mettre à jour le code backend
```bash
# Envoyer les fichiers modifiés
scp backend-api/src/routes/admin.js ubuntu@141.94.42.172:/home/taaazzz/FailDaily/backend-api/src/routes/

# Redémarrer le container
ssh ubuntu@141.94.42.172 "docker restart faildaily-backend-ssl"

# Vérifier que l'API fonctionne
ssh ubuntu@141.94.42.172 "curl -s http://localhost:3000/api/health"
```

#### 2️⃣ Mettre à jour la configuration
```bash
# Backup du .env actuel
ssh ubuntu@141.94.42.172 "cp /home/taaazzz/FailDaily/docker/.env /home/taaazzz/FailDaily/docker/.env.backup"

# Envoyer le nouveau .env
scp docker/.env ubuntu@141.94.42.172:/home/taaazzz/FailDaily/docker/

# Redémarrer tous les containers
ssh ubuntu@141.94.42.172 "cd /home/taaazzz/FailDaily/docker && docker-compose restart"
```

#### 3️⃣ Synchroniser tout le backend (grosse mise à jour)
```bash
# Synchronisation complète (sans node_modules)
rsync -avz --progress --exclude 'node_modules' --exclude 'uploads' --exclude '.git' ./backend-api/ ubuntu@141.94.42.172:/home/taaazzz/FailDaily/backend-api/

# Installer les dépendances si package.json a changé
ssh ubuntu@141.94.42.172 "cd /home/taaazzz/FailDaily/backend-api && npm install"

# Redémarrer
ssh ubuntu@141.94.42.172 "docker restart faildaily-backend-ssl"
```

### Clé SSH publique (serveur)
```
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDNP2UkL7LoNNRInjmEDuST38kVSWqmAqhQjJe8aF9ev bruno@taaazzz-prog.fr
```

**Fichiers clés SSH** :
- Privée: `/home/taaazzz/.ssh/id_ed25519`
- Publique: `/home/taaazzz/.ssh/id_ed25519.pub`
- Clés autorisées: `/home/taaazzz/.ssh/authorized_keys`

### ⚡ Astuces PowerShell pour Windows

#### Créer un alias SSH dans PowerShell
```powershell
# Ajouter dans votre $PROFILE
function Connect-OVH { ssh ubuntu@141.94.42.172 }
Set-Alias ovh Connect-OVH

# Utilisation : juste taper "ovh" pour se connecter
```

#### Script PowerShell de déploiement rapide
```powershell
# deploy-backend.ps1
$server = "ubuntu@141.94.42.172"
$remotePath = "/home/taaazzz/FailDaily/backend-api"

Write-Host "📤 Envoi des fichiers..." -ForegroundColor Cyan
scp -r ./backend-api/src/ "${server}:${remotePath}/"

Write-Host "🔄 Redémarrage du container..." -ForegroundColor Yellow
ssh $server "docker restart faildaily-backend-ssl"

Write-Host "✅ Déploiement terminé !" -ForegroundColor Green
```

## 🗄️ BASE DE DONNÉES MYSQL
════════════════════════════════════════════════════════════════

### MySQL Root (changé le 31 octobre 2025)
**Utilisateur**: root
**Mot de passe**: `9ZN0lC+uYGgEWasm*evDw?QhBkXIKAqf`
**Host**: localhost (dans container Docker)

### MySQL Utilisateur Application
**Utilisateur**: faildaily_user
**Mot de passe**: `9ZN0lC+uYGgEWasm*evDw?QhBkXIKAqf`
**Base de données**: faildaily
**Base de logs**: faildaily_logs
**Port**: 3306 (interne Docker), 3308 (externe OVH)

### Connexion depuis le serveur OVH
```bash
mysql -u root -p'9ZN0lC+uYGgEWasm*evDw?QhBkXIKAqf'
mysql -u faildaily_user -p'9ZN0lC+uYGgEWasm*evDw?QhBkXIKAqf' faildaily
```

### Container Docker MySQL
**Nom**: faildaily-db-ssl
**Ports**: 3306/tcp, 33060/tcp

### Historique des mots de passe
- **@51008473@** - ANCIEN (compromis GitHub) - NE PLUS UTILISER
- **@51008473@Alexia@** - ANCIEN (compromis GitHub) - NE PLUS UTILISER
- **9ZN0lC+uYGgEWasm*evDw?QhBkXIKAqf** - ACTUEL (depuis 31/10/2025 13:20)

## 🔐 SECRETS ET CLÉS API
════════════════════════════════════════════════════════════════

### JWT Secret (Backend)
**Secret**: `faildaily_super_secret_key_for_production_2025_bruno_taaazzz`
**Expiration**: 7 jours
**Admin Secret**: `AdminSecretKey2024!`

### Session Secret
**Secret**: `production-session-secret-key-ovh-2025`

### OpenAI API
**Clé API**: `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`
**Modèle**: gpt-3.5-turbo

## 📧 CONFIGURATION EMAIL SMTP OVH
════════════════════════════════════════════════════════════════

**Host SMTP**: ssl0.ovh.net
**Port**: 465 (SSL)
**Sécurisé**: true

### Compte Email Principal
**Email**: contact@taaazzz-prog.fr
**Mot de passe**: `@51008473@Alexia@`
**Expéditeur**: FailDaily <contact@taaazzz-prog.fr>

### Compte Email Secondaire
**Email**: contact@faildaily.com
**Mot de passe**: (vide dans .env actuel)

## 🐳 CONTAINERS DOCKER ACTIFS
════════════════════════════════════════════════════════════════

### FailDaily Production
1. **faildaily-backend-ssl** (Backend API Node.js)
   - Port: 3000/tcp
   - Status: Healthy
   - Uptime: 11 minutes
   
2. **faildaily-frontend-ssl** (Frontend Angular/Ionic)
   - Port: 80/tcp
   - Status: Running
   - Uptime: 23 heures

3. **faildaily-db-ssl** (MySQL 8)
   - Ports: 3306/tcp, 33060/tcp
   - Status: Running
   - Uptime: 23 heures

4. **faildaily-traefik-ssl** (Reverse Proxy SSL)
   - Ports: 80, 443, 8080
   - Status: Running
   - Uptime: 23 heures
   - Dashboard: https://faildaily.com:8080

5. **faildaily-powerpoint-ssl**
   - Status: Running
   - Uptime: 23 heures

### Autres Projets (Serveur Partagé)
- **web-sentinel-***: Système de monitoring (9 containers)
- **coolcare_app**: Application CoolCare (4 semaines uptime)
- **faildaily_cgu**: CGU statiques (5 semaines uptime)

## 🌐 CONFIGURATION DOMAINES & SSL
════════════════════════════════════════════════════════════════

### Domaines
**Principal**: faildaily.com
**API**: api.faildaily.com (non utilisé actuellement)
**WWW**: www.faildaily.com

### Traefik SSL
**Email Let's Encrypt**: contact@taaazzz-prog.fr
**Auto-renouvellement**: Activé via Traefik

### URLs Publiques
- **Application**: https://faildaily.com
- **API Health**: https://faildaily.com/api/health
- **Dashboard Traefik**: https://faildaily.com:8080 (si activé)

## 🔧 VARIABLES D'ENVIRONNEMENT COMPLÈTES
════════════════════════════════════════════════════════════════

### Fichier: /home/taaazzz/FailDaily/docker/.env
**Environnement**: Production
**Node ENV**: production
**Debug**: false
**Log Level**: info

### CORS Origins
```
http://localhost:8000
http://localhost:3000
https://faildaily.com
http://faildaily.com
https://www.faildaily.com
http://www.faildaily.com
```

### Rate Limiting (Production)
- **Window**: 15 minutes
- **Max Requests**: 100 requêtes
- **DDoS Protection Window**: 1 minute
- **DDoS Max**: 50 requêtes
- **Auth Protection**: 20 requêtes / 15 min
- **Upload Protection**: 10 uploads / 5 min

### Uploads
- **Path**: /app/uploads
- **Max Size**: 5 MB (5242880 bytes)
- **Types autorisés**: jpg, jpeg, png, gif, webp

### Cache & Redis
- **Cache activé**: true
- **TTL**: 600 secondes
- **Redis URL**: redis://localhost:6379

### Backup (OVH)
- **Auto Backup**: true
- **Interval**: 24 heures
- **Rétention**: 7 jours

## 📂 CHEMINS IMPORTANTS SUR LE SERVEUR
════════════════════════════════════════════════════════════════

**Projet FailDaily**: `/home/taaazzz/FailDaily/`
**Docker Compose**: `/home/taaazzz/FailDaily/docker/`
**Fichiers .env**: `/home/taaazzz/FailDaily/docker/.env*`
**Uploads Backend**: `/home/taaazzz/FailDaily/backend-api/uploads/`
**SSH Keys**: `/home/taaazzz/.ssh/`

## 🔒 SÉCURITÉ - HISTORIQUE DES ACTIONS
════════════════════════════════════════════════════════════════

### 31 Octobre 2025 - 13:20 (Incident Sécurité GitHub)
1. ✅ 6 fichiers sensibles supprimés du dépôt GitHub
2. ✅ 263 commits réécrits pour nettoyer l'historique
3. ✅ Mot de passe MySQL root changé (@51008473@ → 9ZN0lC+uYGgEWasm*evDw?QhBkXIKAqf)
4. ✅ Fichiers .env et .env.production mis à jour
5. ✅ Container faildaily-backend-ssl redémarré
6. ✅ API vérifiée fonctionnelle

### Ancien mot de passe COMPROMIS
**⚠️ NE PLUS UTILISER**: @51008473@
**⚠️ NE PLUS UTILISER**: @51008473@Alexia@
**⚠️ NE PLUS UTILISER**: @51008473@Alexia@Logs

Ces mots de passe ont été exposés publiquement sur GitHub dans l'historique.

## ⚠️ RECOMMANDATIONS SÉCURITÉ
════════════════════════════════════════════════════════════════

1. 🔐 **Gestionnaire de mots de passe**
   - Installer LastPass, 1Password ou Bitwarden
   - Y stocker TOUTES ces informations
   - Ne jamais les partager en clair

2. 🔄 **Rotation régulière des secrets**
   - MySQL: tous les 3-6 mois
   - JWT Secret: tous les 6 mois
   - API Keys: selon les recommandations des fournisseurs

3. 🚫 **Ne JAMAIS faire**
   - Commiter ce fichier sur GitHub
   - Envoyer les mots de passe par email/chat
   - Réutiliser ces mots de passe ailleurs

4. ✅ **Bonnes pratiques**
   - Utiliser SSH avec clés (pas de mot de passe)
   - Activer 2FA sur tous les services
   - Vérifier régulièrement les logs d'accès
   - Faire des backups réguliers

## 📞 CONTACTS URGENCE
════════════════════════════════════════════════════════════════

**Email admin**: bruno@taaazzz-prog.fr
**Support OVH**: https://www.ovh.com/manager/
**Serveur**: Taaazzz-Dedie (141.94.42.172)

════════════════════════════════════════════════════════════════
📅 Dernière mise à jour: 31 octobre 2025
🔐 Niveau de confidentialité: MAXIMUM
⚠️ Ne JAMAIS partager ce fichier
════════════════════════════════════════════════════════════════
