Cron / Jobs planifiés¶
Bécik a quelques tâches qui doivent tourner même quand l'utilisateur n'est pas sur le site.
Option A — Vercel Cron¶
- Config via
vercel.json. - Limitations possibles sur le plan gratuit.
Option B — GitHub Actions (recommandé si tu veux évoluer)¶
Le workflow GitHub appelle un endpoint HTTP protégé par CRON_SECRET.
Fichier : .github/workflows/daily-cron.yml
Secrets à configurer dans GitHub¶
Dans Settings → Secrets and variables → Actions:
BECIK_CRON_URL- Exemple :
https://<ton-domaine>/api/cron/maintenance-notifications CRON_SECRET- Doit matcher la variable
CRON_SECRETconfigurée côté Vercel.
Nettoyage Storage (TODO)¶
Un job planifié doit nettoyer les fichiers du bucket Supabase Storage medias qui ne sont plus référencés.
- Endpoint prévu:
/api/cron/cleanup-orphan-media - Sécurité: header
Authorization: Bearer <CRON_SECRET> - Scope initial:
medias/support-tickets/**(pièces jointes des tickets support) - Sécurité opérationnelle: rapport seulement par défaut; suppression uniquement via mode explicite (ex:
?mode=delete&confirm=YES) + garde-fous (fichiers anciens, limite, orphelin sur plusieurs runs)
Ajuster l'heure¶
Le schedule GitHub est en UTC (comme Vercel). Modifie la ligne :
cron: "0 14 * * *"
14:00 UTC ≈ 09:00 au Québec (hiver) / 10:00 (été).
Strava¶
La mise à jour Strava (activité/odomètre) est basée sur les webhooks et n'a pas besoin de cron fréquent.