Environnement Docker
L'environnement Docker offre une solution complète avec Apache, live reload et BrowserSync pour un développement avancé.
Prérequis
- Docker installé sur votre système
- Docker Compose installé
- Bash pour exécuter les scripts
Démarrage rapide
# Donner les permissions d'exécution (si nécessaire)
chmod +x dev/docker.sh dev/docker-stop.sh
# Démarrage complet de l'environnement
./dev/docker.sh
# Arrêt de l'environnement
./dev/docker-stop.sh
Services disponibles
| Service | Port | URL | Description |
|---|---|---|---|
| Apache | 8080 | http://localhost:8080 | Serveur web principal |
| Live Reload | 3000 | http://localhost:3000 | Rechargement automatique |
| BrowserSync | 3001 | http://localhost:3001 | Interface de synchronisation |
Avantages de l'environnement Docker
- 🐳 Environnement isolé : Pas de conflit avec votre système
- 🔄 Live reload : Rechargement automatique des pages
- 🌐 Apache réel : Environnement proche de la production
- 🔧 BrowserSync : Synchronisation multi-navigateurs
- 📱 Test responsive : Test sur différents appareils
Configuration Docker
Structure des fichiers Docker
docker/
├── Dockerfile # Image Apache personnalisée
├── compose.yaml # Configuration des services
└── README.md # Documentation Docker
Services configurés
L'environnement Docker comprend plusieurs services orchestrés :
- Web (Apache) : Serveur principal avec support PHP et SSI
- Live Reload : Surveillance des fichiers et rechargement automatique
- BrowserSync : Synchronisation des navigateurs et outils de développement
Utilisation avancée
Commandes Docker manuelles
# Construire et démarrer les services
docker-compose -f docker/compose.yaml up --build
# Démarrer en arrière-plan
docker-compose -f docker/compose.yaml up -d
# Voir les logs
docker-compose -f docker/compose.yaml logs -f
# Arrêter les services
docker-compose -f docker/compose.yaml down
Accès aux conteneurs
# Accéder au conteneur Apache
docker-compose -f docker/compose.yaml exec web bash
# Voir les processus en cours
docker-compose -f docker/compose.yaml ps
# Redémarrer un service spécifique
docker-compose -f docker/compose.yaml restart web
Développement avec Docker
Workflow recommandé
- Démarrer l'environnement :
./dev/docker.sh - Ouvrir http://localhost:8080 pour le site
- Ouvrir http://localhost:3001 pour BrowserSync
- Modifier vos fichiers - les changements sont automatiquement détectés
- Arrêter l'environnement :
./dev/docker-stop.sh
BrowserSync - Fonctionnalités
- 🔄 Rechargement automatique des pages
- 📱 Test multi-appareils synchronisé
- 🎯 Injection CSS sans rechargement
- 📊 Interface de contrôle sur le port 3001
- 🔍 Outils de débogage intégrés
Dépannage Docker
Problèmes courants
⚠️ Port déjà utilisé : Si un port est déjà utilisé, arrêtez les autres services ou modifiez les ports dans
docker/compose.yaml
# Vérifier les ports utilisés
netstat -tulpn | grep :8080
netstat -tulpn | grep :3000
# Forcer l'arrêt de tous les conteneurs
docker stop $(docker ps -q)
# Nettoyer les ressources Docker
docker system prune -f
Reconstruction complète
# Arrêter et supprimer tous les conteneurs
./dev/docker-stop.sh
# Reconstruire complètement
docker-compose -f docker/compose.yaml build --no-cache
# Redémarrer
./dev/docker.sh
Comparaison avec le serveur Python
| Aspect | Serveur Python | Docker |
|---|---|---|
| Simplicité | ✅ Très simple | ⚠️ Plus complexe |
| Performance | ✅ Léger | ⚠️ Plus lourd |
| Fonctionnalités | ⚠️ Basiques | ✅ Avancées |
| Environnement | ⚠️ Système local | ✅ Isolé |
| Live reload | ❌ Manuel | ✅ Automatique |
💡 Recommandation : Utilisez le serveur Python pour un développement simple et rapide, Docker pour un environnement plus proche de la production avec des fonctionnalités avancées.