Commit Graph

2 Commits

Author SHA1 Message Date
louispaulb
0b9933c485 targo-sync: retirer le mdp F du repo + cron quotidien tickets
⚠️ SÉCURITÉ : le défaut en dur du mdp F ("facturation") avait fuité dans sync_services /
sync_invoices (commit 004c3f8). Défaut passé à "" (secret via env uniquement). Le mdp est
DÉSORMAIS chargé depuis /opt/targo-sync/secrets.env (hôte, chmod 600, gitignored).
NB : le mdp reste dans l'HISTORIQUE git (004c3f8) → rotation recommandée (décision Louis).

Cron quotidien tickets (récurrence #26) :
- tickets-daily.sh (30 4 * * *) → migrate_tickets.py (idempotent), n'importe que les nouveaux.
- Séparé de run.sh (horaire) : scan 252k trop lourd pour l'horaire.
- .gitignore : secrets.env / *.env / *.log / .lock jamais versionnés.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 21:55:35 -04:00
louispaulb
004c3f8dee sync-legacy: scoreboard de réconciliation + fix des abonnements fantômes à la source
Scoreboard (console de réconciliation F ↔ ERPNext) :
- hub: legacy-sync.js scoreboard() + GET /legacy-sync/scoreboard — comptes bruts
  par module (clients/lieux/abos/appareils/tickets/factures/paiements) + métrique
  ghost_active_subscriptions. Devices = tabService Equipment (pas tabDevice).
  Count F « abos actifs » exclut les comptes résiliés (comparaison pomme-à-pomme).
- ops: carte « Réconciliation par module » sur LegacySyncPage.vue.

Fix fantômes à la SOURCE (scripts/targo-sync/, jusqu'ici hors repo) :
- La vraie sync des services = scripts Python hôte (/opt/targo-sync/, cron horaire),
  PAS le hub. svc_status() ignorait le statut du COMPTE → un compte résilié F
  (status 3/4/5) dont les services restent status=1 ressortait « Actif » (F ne
  cascade pas). Résultat : ~3855 abonnements fantômes recréés à chaque heure.
- sync_services_incremental.py: svc_status() rendu conscient du compte (force
  'Annulé' si compte résilié) sur Phase B (création) + Phase D (rafraîchissement).
  Rollout: dry-run {Actif→Annulé: 3855} → APPLY=1 → ghost=0 stable.
- Versionne aussi run.sh + sync_invoices_incremental.py + README (snapshot fidèle
  de la prod ; ces scripts écrivent en base chaque heure et n'étaient pas suivis).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 20:03:36 -04:00