Elite Outsiders ← Tools menu Cron Robots

Les 3 robots qui tournent dans le ciel

eo-backup-worker · Cloudflare · maintenu par Claude Code

Imagine un robot serviteur qui dort sur un nuage. Tu lui as appris 3 missions et tu lui as mis 3 réveils.

Quand chaque réveil sonne, il fait une seule mission, puis se rendort. Il ne fait rien d'autre. Pas besoin que ton ordi soit ouvert ; il vit là-haut tout seul.

Le robot s'appelle eo-backup-worker. Il vit sur Cloudflare Workers. Le code est dans ~/Projects/eo-backup-worker/.

🔔

Réveil n°1 — La photocopie de sécurité

1er du mois · 03:00 UTC (≈ 04-05h Paris)

Le robot fait une photocopie de la newsletter Kit (tous les abonnés + leurs tags) et de la base de données du site (D1), puis range les 4 fichiers dans un tiroir privé sur Cloudflare R2. Comme une photo de famille rangée à l'abri.

Couvre 12 mois de rétention. Tous les 1ers janvier/avril/juillet/octobre, il refait un test de restauration sur une DB preview pour vérifier que les sauvegardes sont vraiment lisibles (le « dry-run trimestriel »).

À chaque run, tu reçois un mail récap par Resend (✅ ok / ⚠️ partial / ❌ failed) listant ce qui a été sauvegardé.

cron : 0 3 1 * * · cible R2 : eo-backups bucket · doc : Notion chap 13 (Monitoring/alerting) + sous-page Setup backup mensuel Kit + D1 — 2026-04-30
🔔

Réveil n°2 — Le veilleur de créneaux Cal.com

Tous les jours · 07:00 UTC (≈ 08-09h Paris)

Le robot regarde les 3 pages publiques Cal.com (byCaliber / Forja / EO) et compte les créneaux dispo sur les 4 prochaines semaines. Si un créneau est mort (un autre RDV t'empêche d'être là), il t'envoie un mail "🔴 MORT" pour que tu décides quoi faire.

Si tu fixes le conflit (ou si le chaos hebdo bouge le créneau ailleurs), tu reçois un mail "🟢 REVIVED" au prochain check. Pas de mail quand tout va bien — silence radio.

Sa mémoire vit dans Cloudflare KV (clé cal_slot_health:v2) — elle stocke l'état de chaque (event × date) pour détecter les transitions.

cron : 0 7 * * * · code : eo-backup-worker/src/cal-monitor.js · trigger manuel : POST /admin/cal-monitor-now?token=...
🔔

Réveil n°3 — Le magicien du chaos hebdo

Dimanche · 21:00 UTC (≈ 22-23h Paris)

Le robot tire au hasard les heures des créneaux LUN aprem / MER matin / VEN soir pour les 4 prochaines semaines, et permute byCaliber / Forja / EO sur les 3 plages 30min de chaque jour. Comme un magicien qui rebat les cartes chaque dimanche soir.

Effet voulu : chaque visiteur qui revient sur cal.com une semaine plus tard voit des heures différentes. Crée un effet "vraie vie pleine" plutôt que "machine bien huilée 3 créneaux fixes".

Bornes des heures dans la constante STARTS du code (LUN 13:00-16:00 / MER 10:00-11:00 / VEN 18:30-19:00). À éditer + redeploy si besoin de bouger une borne. Tu reçois un mail récap après chaque run.

cron : 0 21 * * SUN · code : eo-backup-worker/src/cal-randomize.js · trigger manuel : POST /admin/cal-randomize-now?token=...

Bloc technique — pour Claude Code

QuoiValeur
Workereo-backup-worker · Cloudflare account 88ff6259a88cb5fb8e8b9e13e082d7c4
URLhttps://eo-backup-worker.alexandre-corne-ac.workers.dev
Repo~/Projects/eo-backup-worker/
Crons0 3 1 * * (backup) · 0 7 * * * (cal-monitor) · 0 21 * * SUN (cal-randomize)
SecretsRESEND_API_KEY · KIT_API_KEY · D1_API_TOKEN · D1_PREVIEW_API_TOKEN · BACKUP_HEALTH_TOKEN · CAL_API_KEY · NOTIFY_FROM · NOTIFY_TO
BindingsR2 eo-backups · D1 eliteoutsiders + eliteoutsiders-preview · KV BACKUP_STATE
Endpoints admin (POST + ?token=BACKUP_HEALTH_TOKEN)/admin/run-now · /admin/cal-monitor-now · /admin/cal-randomize-now
Healthcheck (GET + ?token=BACKUP_HEALTH_TOKEN)/backup/last-run
State KV (cal-monitor)namespace id 09082b5063a34c238de4b117efaf7d93 · clé cal_slot_health:v2