Le déploiement graceful : votre boutique ne s'arrête plus
Le déploiement classique — connexion FTP, copie de fichiers, croisement des doigts — est le mode opératoire le plus risqué qui soit. Sur une infrastructure Docker, on parle de graceful reload : les nouveaux conteneurs démarrent, les anciens terminent leurs requêtes en cours, puis s'éteignent proprement. Le visiteur ne voit rien.
La commande concrète pour mettre à jour un service sans coupure :
# Rebuild uniquement le service PHP sans toucher MariaDB ni Nginx\ndocker compose up -d --no-deps --build php\n\n# Vérifier que le nouveau conteneur répond\ncurl -I https://votre-boutique.fr/healthcheckLa stratégie de backup intégrée
Docker simplifie considérablement la gestion des sauvegardes. Voici le pattern recommandé :
# Dump MariaDB vers un fichier daté\ndocker exec mariadb mysqldump \\\n -u ps_user -p"${DB_PASSWORD}" prestashop \\\n > backup_$(date +%Y%m%d_%H%M).sql\n\n# Synchroniser vers un stockage distant (S3, OVH Object Storage)\nrclone sync ./backups remote:votre-bucket/prestashop/Ce script, lancé via un cron quotidien, vous garantit un point de restauration en cas d'incident. En 2026, ne pas avoir de backup automatisé est une faute de gestion, pas un oubli technique.
Surveiller votre stack en production
Une infrastructure Docker sans monitoring est une infrastructure aveugle. Voici les trois métriques à surveiller en priorité :
- Mémoire consommée par conteneur :
docker stats --no-stream— si PHP-FPM consomme plus de 80 % de la RAM allouée, augmentez les ressources ou optimisez le nombre de workers. - Logs d'erreur Nginx :
docker logs nginx --tail 100 | grep -i error— une erreur 502 Bad Gateway signifie que PHP-FPM ne répond plus. - Temps de réponse applicatif : intégrez un endpoint
/healthcheckdans votre PrestaShop et monitorez-le via UptimeRobot (gratuit jusqu'à 50 moniteurs).
Plan de reprise d'activité en 3 commandes
Le vrai test d'une infrastructure Docker, c'est de pouvoir répondre à la question : si mon serveur tombe ce soir, combien de temps me faut-il pour remettre la boutique en ligne ? Sur une stack bien configurée, la réponse tient en trois commandes :
# 1. Cloner le dépôt contenant votre docker-compose.yml\ngit clone git@github.com:votre-org/infrastructure.git\n\n# 2. Restaurer la base de données depuis le dernier backup\ndocker exec -i mariadb mysql -u ps_user -p"${DB_PASSWORD}" prestashop < backup_latest.sql\n\n# 3. Lancer la stack complète\ndocker compose up -dTrente minutes, contre deux à cinq jours sur une infrastructure manuelle. C'est la différence entre un incident et une catastrophe.