03-comment-je-travaille/guides/runbook.md

Runbook d'exploitation

Ce guide rassemble les gestes d'exploitation de Telaria en production (VPS Ubuntu + Apache). Il complÚte le guide de déploiement en se concentrant sur le maintien en condition opérationnelle.

Stack de production complĂšte : stack-production.md.

Déployer une mise à jour

Ordre sĂ»r — un faux pas sur l'OPcache casse le web alors que le CLI reste vert :

  1. git pull
  2. composer install --no-dev --optimize-autoloader
  3. php bin/console doctrine:migrations:migrate --no-interaction
  4. php bin/console cache:clear && php bin/console cache:warmup
  5. sudo systemctl reload php8.5-fpm ← indispensable
  6. sudo systemctl restart telaria-messenger-async telaria-veille-scheduler ← les workers ne rechargent pas automatiquement le code

⚠ Le piĂšge OPcache. En prod, opcache.validate_timestamps=0 impose le rechargement de PHP-FPM aprĂšs tout changement de code ou de schĂ©ma. Sans lui, le CLI et les tests sont verts mais le web (FPM) sert l'ancien code — vĂ©cu : SQLSTATE[42S22] Unknown column 't0.username' aprĂšs un drop de colonne. DĂ©tail : deployment.md §5.

⚠ Le piĂšge workers Messenger. Les workers telaria-messenger-async et telaria-veille-scheduler ne rechargent pas le code PHP au git pull — ils tournent sur la version compilĂ©e au dĂ©marrage. Un dĂ©ploiement sans redĂ©marrage des workers laisse la veille tourner sur l'ancien code silencieusement. VĂ©cu 2026-06-02 : 12 jours de veille silencieuse suite Ă  un dĂ©ploiement sans redĂ©marrage des workers — zĂ©ro token consommĂ©, 5500 items en backlog.

Superviser

  • Consommation API IA et coĂ»ts : back-office /admin/metrics (usage et coĂ»t par modĂšle, projection, alertes e-mail). Voir ../specs/telaria-admin.md.
  • Veille agentique : une source qui Ă©choue plusieurs fois passe en standby automatique (seuil de 3 Ă©checs consĂ©cutifs) ; Ă  surveiller dans le back-office veille.
  • Logs : Apache (/var/log/apache2/), application (var/log/), sudo fail2ban-client status sshd.
  • Certificats TLS : renouvellement Certbot automatique ; contrĂŽler avec certbot renew --dry-run. Voir ssl-tls.md.

Sauvegarder

  • Base de donnĂ©es : sauvegarde rĂ©guliĂšre (mysqldump) — c'est la seule donnĂ©e non rĂ©gĂ©nĂ©rable.
  • Index vectoriel RAG : artefact dĂ©rivĂ©, non sauvegardĂ© — se rĂ©gĂ©nĂšre avec php bin/console app:rag:ingest.
  • Documentation : versionnĂ©e dans telaria-doc (git) — pas de sauvegarde sĂ©parĂ©e nĂ©cessaire.

Incidents courants

SymptĂŽme Cause probable Geste
Web KO mais CLI vert aprÚs un déploiement OPcache sert l'ancien code sudo systemctl reload php8.5-fpm
SQLSTATE 
 Unknown column migration appliquée sans reload FPM recharger FPM ; vérifier doctrine:schema:validate
Source de veille muette passée en standby aprÚs 3 échecs lever le standby dans le back-office veille
Veille tourne mais 0 token / 0 résumé workers Messenger sur ancien code aprÚs déploiement sudo systemctl restart telaria-messenger-async telaria-veille-scheduler puis vérifier php bin/console app:rag:stats
0 token depuis plusieurs jours workers arrĂȘtĂ©s silencieusement (crash non signalĂ©) systemctl is-active telaria-messenger-async → si failed : journalctl -u telaria-messenger-async -n 30
503 sur tous les domaines aprÚs upgrade PHP vhosts manuels ont le socket php8.X-fpm.sock hardcodé sudo sed -i 's/php8.X-fpm/php8.Y-fpm/g' /etc/apache2/sites-enabled/*.conf && sudo a2disconf php8.X-fpm && sudo a2enconf php8.Y-fpm && sudo systemctl reload apache2
Certificat expiré renouvellement Certbot en échec certbot renew --force-renewal puis recharger Apache

Voir aussi

Assistant documentaire

Posez une question sur la documentation. Les rĂ©ponses citent leurs sources — un clic ouvre le document Ă  gauche.

Loading…
Loading the web debug toolbar…
Attempt #