Environnement Docker

L'environnement Docker offre une solution complète avec Apache, live reload et BrowserSync pour un développement avancé.

Prérequis

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

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 :

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é

  1. Démarrer l'environnement : ./dev/docker.sh
  2. Ouvrir http://localhost:8080 pour le site
  3. Ouvrir http://localhost:3001 pour BrowserSync
  4. Modifier vos fichiers - les changements sont automatiquement détectés
  5. Arrêter l'environnement : ./dev/docker-stop.sh

BrowserSync - Fonctionnalité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.