Constat (audit du 2026-10-02, lecture seule)
/login renvoie HTTP 500 sur 6 des 7 instances (yannick, baptiste, coralie, corentin, damien, elea). ronan répond 200. Sur ces 6 instances, toute commande console échoue aussi : tous leurs crons (Messenger, dispatch Takeout, purges, déploiement nocturne) sont en erreur. Le messenger.log de yannick atteint 53 Mo (erreurs répétées, sans rotation).
Cause
Les 6 instances sont au commit 06602c1 (30/09). Leur config/bundles.php et leur composer.lock référencent symfony/monolog-bundle (ajouté par 463b0bf), mais vendor/symfony/monolog-bundle est absent . Erreur : Class "Symfony\Bundle\MonologBundle\MonologBundle" not found.
Log deploy-nightly.log du déploiement de 02:15 : composer a été lancé avec le PHP en mode CGI (Composer should be invoked via the CLI version of PHP, not the cgi-fcgi SAPI), a affiché son aide et n'a rien installé, en sortant avec le code 0 . Le script avait déjà fait git checkout --force : nouveau code + ancien vendor/, puis cache:clear en échec. .deployed-sha est resté inchangé mais le code, lui, avait changé.
Le correctif 61ba614 (composer via PHP CLI explicite) est sur main depuis 09:47, mais absent du code des 6 instances : le script exécuté la nuit prochaine sera encore l'ancien, qui récupérera main (Symfony 8.1) puis relancera composer de la même façon défaillante. Sans intervention, la guérison spontanée n'interviendrait qu'à la nuit du 2026-10-04.
Décision (2026-10-02)
Pas de réparation partielle par SSH instance par instance. Les divergences sont réglées dans l'ordre de priorité ci-dessous, puis un déploiement exceptionnel unique (avec autorisation explicite à ce moment-là ) aligne les 7 instances.
Durcir les scripts de déploiement (ticket lié : composer CLI partout, vérification de vendor/, rollback)
PR Panel admin : afficher la charge serveur et l'état des imports Takeout différés #528 (admin charge Takeout) mergée : ses 2 migrations additives partiront dans ce déploiement
Résorption de la dérive schéma/entités (ticket lié)
Déploiement exceptionnel des 7 instances
Critères de clôture
HTTP 200 sur /login des 7 instances
doctrine:migrations:status sans migration en attente sur chacune
vendor/ complet (composer install --dry-run : rien Ă installer) sur chacune
Le script nocturne présent sur disque sur chaque instance est la version corrigée
Crons de nouveau sans erreur ; décision sur la rotation de messenger.log
Hors périmètre
Les évolutions de #561 et #547 .
Constat (audit du 2026-10-02, lecture seule)
/loginrenvoie HTTP 500 sur 6 des 7 instances (yannick, baptiste, coralie, corentin, damien, elea). ronan répond 200. Sur ces 6 instances, toute commande console échoue aussi : tous leurs crons (Messenger, dispatch Takeout, purges, déploiement nocturne) sont en erreur. Lemessenger.logde yannick atteint 53 Mo (erreurs répétées, sans rotation).Cause
06602c1(30/09). Leurconfig/bundles.phpet leurcomposer.lockréférencentsymfony/monolog-bundle(ajouté par463b0bf), maisvendor/symfony/monolog-bundleest absent. Erreur :Class "Symfony\Bundle\MonologBundle\MonologBundle" not found.deploy-nightly.logdu déploiement de 02:15 : composer a été lancé avec le PHP en mode CGI (Composer should be invoked via the CLI version of PHP, not the cgi-fcgi SAPI), a affiché son aide et n'a rien installé, en sortant avec le code 0. Le script avait déjà faitgit checkout --force: nouveau code + ancienvendor/, puiscache:clearen échec..deployed-shaest resté inchangé mais le code, lui, avait changé.61ba614(composer via PHP CLI explicite) est surmaindepuis 09:47, mais absent du code des 6 instances : le script exécuté la nuit prochaine sera encore l'ancien, qui récupéreramain(Symfony 8.1) puis relancera composer de la même façon défaillante. Sans intervention, la guérison spontanée n'interviendrait qu'à la nuit du 2026-10-04.Décision (2026-10-02)
Pas de réparation partielle par SSH instance par instance. Les divergences sont réglées dans l'ordre de priorité ci-dessous, puis un déploiement exceptionnel unique (avec autorisation explicite à ce moment-là ) aligne les 7 instances.
vendor/, rollback)Critères de clôture
/logindes 7 instancesdoctrine:migrations:statussans migration en attente sur chacunevendor/complet (composer install --dry-run: rien à installer) sur chacunemessenger.logHors périmètre
Les évolutions de #561 et #547.