8.0 KiB
🚀 COMMENCEZ ICI - Déploiement Ansible DockeZR
✅ Résultat du Diagnostic
Voici ce qui a été créé pour vous:
📁 Fichiers Créés
✓ deploy.yml - Playbook Ansible principal (commenté)
✓ inventory.ini - Configuration des serveurs
✓ group_vars/all.yml - Variables de configuration
✓ templates/env.prod.j2 - Template d'environnement
✓ ansible.cfg - Configuration Ansible
✓ deploy-interactive.ps1 - Script de déploiement automatique
✓ test-prereqs.ps1 - Script de vérification
✓ README.md - Documentation complète
✓ GUIDE_EXECUTION.md - Guide détaillé
✓ QUICK_START.md - Guide rapide
🎯 Actions Requises (5 ÉTAPES)
Étape 1: Installer WSL avec Ubuntu (SI PAS DÉJÀ FAIT)
# Dans PowerShell en administrateur:
wsl --install -d Ubuntu
# Redémarrer Windows après installation
# Au redémarrage, Ubuntu s'ouvrira et vous demandera de créer un utilisateur
Étape 2: Installer Ansible dans WSL
# Dans PowerShell normal:
wsl
# Une fois dans WSL Ubuntu:
sudo apt update
sudo apt install ansible git -y
ansible --version
# Pour sortir de WSL:
exit
Étape 3: Configurer l'Inventaire
Vous devez modifier inventory.ini avec les informations de votre serveur:
[production]
server ansible_host=VOTRE_IP_SERVEUR ansible_user=VOTRE_USER ansible_ssh_private_key_file=../../sskdockerz/ssh-key-2025-10-16.key
Remplacez:
VOTRE_IP_SERVEUR→ L'adresse IP de votre serveur (ex: 192.168.1.100)VOTRE_USER→ Votre utilisateur SSH (ex: ubuntu, root, debian)
Exemple:
[production]
server ansible_host=192.168.1.100 ansible_user=ubuntu ansible_ssh_private_key_file=../../sskdockerz/ssh-key-2025-10-16.key
Étape 4: Configurer les Variables
Éditez group_vars\all.yml:
# Ligne 4: URL de votre repository
project_repo: "https://github.com/VOTRE_USERNAME/dockezr.git"
# Ligne 18: Mot de passe PostgreSQL (IMPORTANT!)
postgres_password: "VotreMotDePasseSecurise2024!"
# Ligne 24: Mot de passe Grafana (IMPORTANT!)
grafana_admin_password: "AdminGrafana2024!"
Étape 5: Lancer le Déploiement
# Option A: Script interactif (RECOMMANDÉ)
.\deploy-interactive.ps1
# Le script vous demandera l'IP et l'utilisateur
# Puis déploiera automatiquement
🎬 Commandes Rapides
Vérifier les Prérequis
.\test-prereqs.ps1
Déployer avec Configuration Interactive
.\deploy-interactive.ps1
Déployer Directement (après configuration manuelle)
# Dans PowerShell, depuis le dossier ansible/
$wslPath = wsl wslpath -a "$PWD"
wsl bash -c "cd '$wslPath'; ansible-playbook -i inventory.ini deploy.yml"
Tester la Connexion SSH
$wslPath = wsl wslpath -a "$PWD"
wsl bash -c "cd '$wslPath'; ansible all -i inventory.ini -m ping"
📊 Ce que le Playbook Fait
- ✅ Mise à jour du système Linux
- ✅ Installation de Docker + Docker Compose
- ✅ Configuration des permissions utilisateur
- ✅ Clonage du repository GitHub
- ✅ Configuration des variables d'environnement
- ✅ Construction des images Docker
- ✅ Lancement de tous les services
- ✅ Vérification et affichage des logs
Durée totale: 5-10 minutes
🌐 Accès aux Services
Après déploiement réussi, accédez à:
| Service | URL | Description |
|---|---|---|
| Frontend | http://VOTRE_IP:3000 | Interface de réservation |
| Backend | http://VOTRE_IP:8001 | API REST |
| Swagger | http://VOTRE_IP:8001/docs | Documentation API interactive |
| Prometheus | http://VOTRE_IP:9090 | Monitoring |
| Grafana | http://VOTRE_IP:3001 | Tableaux de bord (admin/votre_mdp) |
📸 Captures d'Écran pour le Livrable TP7
1. Exécution du Playbook
.\deploy-interactive.ps1
📸 Capturez le terminal montrant "DEPLOIEMENT REUSSI!"
2. État des Conteneurs
# Se connecter au serveur
ssh -i ..\..\sskdockerz\ssh-key-2025-10-16.key VOTRE_USER@VOTRE_IP
# Sur le serveur
docker ps
📸 Capturez la liste des conteneurs running
3. Application Web
Ouvrez dans votre navigateur:
📸 Capturez les pages web
🐛 Problèmes Courants
Problème: "Ansible non installé"
Solution:
wsl
sudo apt update && sudo apt install ansible -y
exit
Problème: "Permission denied (publickey)"
Solution:
# Configurer les permissions de la clé
$wslKeyPath = wsl wslpath -a "$PWD\..\..\sskdockerz\ssh-key-2025-10-16.key"
wsl chmod 600 "$wslKeyPath"
# Tester la connexion manuelle
wsl ssh -i $wslKeyPath VOTRE_USER@VOTRE_IP
Problème: "bash: not found"
Solution: WSL Ubuntu n'est pas installé correctement
# Réinstaller Ubuntu
wsl --unregister Ubuntu
wsl --install -d Ubuntu
Problème: "Host unreachable"
Solution:
- Vérifiez que le serveur est allumé
- Vérifiez l'adresse IP dans
inventory.ini - Testez:
ping VOTRE_IP - Vérifiez que le port SSH (22) est ouvert
📚 Documentation Complète
- QUICK_START.md - Guide rapide 5 minutes
- GUIDE_EXECUTION.md - Guide détaillé pas à pas
- README.md - Documentation complète Ansible
- deploy.yml - Playbook commenté (pour le livrable)
✅ Checklist Livrable TP7
Pour valider le TP7, vous devez fournir:
- deploy.yml commenté (✅ déjà fait)
- inventory.ini configuré avec votre serveur
- group_vars/all.yml configuré
- Capture d'écran: Exécution réussie du playbook
- Capture d'écran: docker ps sur le serveur
- Capture d'écran: Application web accessible
- Documentation: Ce dossier ansible/ complet
🎓 Résumé de l'Architecture
┌─────────────────────────────────────────────┐
│ Votre Machine (Windows) │
│ ├── WSL (Ubuntu) │
│ │ └── Ansible │
│ └── Scripts PowerShell │
└──────────────┬──────────────────────────────┘
│ SSH
▼
┌─────────────────────────────────────────────┐
│ Serveur Linux │
│ ├── Docker Engine │
│ ├── DockeZR Repository (cloné) │
│ └── Conteneurs: │
│ ├── PostgreSQL (db) │
│ ├── FastAPI (backend) │
│ ├── Next.js (frontend) │
│ ├── Prometheus │
│ └── Grafana │
└─────────────────────────────────────────────┘
💡 Prochaines Étapes Après Déploiement
- Tester l'application - http://VOTRE_IP:3000
- Créer quelques réservations de test
- Vérifier les logs -
docker compose logs -f - Configurer Grafana - Créer des dashboards
- Sauvegardes - Mettre en place des backups DB
- Sécurité - Configurer un pare-feu
- HTTPS - Configurer SSL/TLS avec Let's Encrypt
🆘 Besoin d'Aide ?
Si vous rencontrez des problèmes:
- Lancez le diagnostic:
.\test-prereqs.ps1 - Lisez les logs: Les messages d'erreur sont explicites
- Consultez GUIDE_EXECUTION.md: Guide détaillé
- Vérifiez la connectivité:
ping VOTRE_IP
Vous êtes prêt ! Bonne chance avec votre déploiement ! 🚀
Créé automatiquement pour le TP7 - OPERATE