Aller au contenu

Tests, exploitation et déploiement

Tests

php bin/phpunit --no-extensions
php bin/console lint:container
php bin/console doctrine:schema:validate

Le projet contient des tests de services. L’extension DAMA référencée par PHPUnit doit être installée ou retirée de la configuration pour lancer la suite sans --no-extensions.

Docker

Le Dockerfile utilise PHP 8.3 avec Apache. compose.yaml fournit l’application et MySQL. Avant usage :

  • remplacer tous les secrets et mots de passe intégrés ;
  • corriger la déclaration du volume si nécessaire ;
  • injecter les variables via un fichier non versionné ;
  • figer les versions d’images, notamment MySQL ;
  • ajouter healthchecks, sauvegardes et politique de redémarrage.

Déploiement

composer install --no-dev --classmap-authoritative
php bin/console doctrine:migrations:migrate --no-interaction
APP_ENV=prod APP_DEBUG=0 php bin/console cache:clear

Les répertoires var, uploads et documents doivent être accessibles en écriture au runtime. Les uploads persistants doivent être montés hors du conteneur.

Observabilité et sauvegarde

  • Centraliser var/log.
  • Surveiller erreurs HTTP, latence API, échecs SMTP/SMS et synchronisations.
  • Collecter stderr en production : Monolog y écrit en JSON et error_log() peut également y être redirigé selon PHP.
  • Alerter sur les messages Erreur envoi email, car un échec SMTP n’est ni rejoué ni conservé dans une file applicative.
  • Surveiller l’espace et les permissions de public/uploads/products/sale, nécessaires à la compression des images.
  • Sauvegarder MySQL et les volumes d’uploads.
  • Tester régulièrement la restauration.
  • Exécuter les migrations une seule fois par déploiement.