Sync push_then_sync : préserve les absences 'publiee_escada' contre écrasement/orphelines après push (PDF Escada stale). UI reconnaît le statut (calendrier, éditeur, KPIs) au lieu d'afficher 'présent'. Sync_esacada : timeout grille 20s → 45s + retry après reload (AUTOMAT 1 échouait à la 1re classe après changement de langue). Telegram : ajoute liste d'erreurs + tail du log dans les notifs d'échec même en mode normal — avant on avait juste 'a échoué (code 1)'. UX : - Calendrier toujours visible (même sans absences) et démarre sur le mois courant (pas sur le 1er mois d'absence) ; tous les jours cliquables pour pouvoir ajouter une absence. - Date du jour pré-sélectionnée aussi via navigate_to (clic depuis /classe). - KPIs cards taggées kpi-card/kpi-value pour CSS responsive mobile. - Badge 'DEV' dans la sidebar (APP_ENV=dev) — invisible en prod. - Badge 'Built with Reflex' masqué. - KPIs retirés du dashboard /accueil. Prod : - Dockerfile.prod multi-stage (Reflex export bundle + runtime slim). - docker-compose.prod.yml séparé (port 3002, projet eptm-dashboard-prod). - .gitignore + .dockerignore nettoyés. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
14 lines
736 B
Text
14 lines
736 B
Text
# Variables d'environnement partagées entre stack dev et stack prod.
|
|
# Les valeurs sensibles spécifiques (SMTP, Escada creds, etc.) vivent dans
|
|
# data/settings.json (dev) ou data_prod/settings.json (prod), pas ici.
|
|
|
|
# Clé de signature des cookies / state Reflex. NE PAS partager / régénérer.
|
|
REFLEX_SECRET_KEY=af16a3c0a6f2a94583ebd704f4e9716743abe27c10e8837633274d08441c20c2
|
|
|
|
# Bot Telegram pour les notifications cron (commun aux deux stacks par défaut ;
|
|
# le chat_id de chaque CronJob peut surcharger via la colonne notify_chat_id).
|
|
TELEGRAM_BOT_TOKEN=8659950969:AAEpc3sl34txpsHyYC5-3rnfgVnkEuQoU_Q
|
|
TELEGRAM_CHAT_ID=-4992234358
|
|
|
|
# Timezone — surchargée par docker-compose.* mais utile pour les scripts CLI.
|
|
TZ=Europe/Zurich
|