Comment elle se calcule
Quand tu rejoins un challenge, on enregistre joined_at (l'instant T) et le challenge a un deadline_days (par exemple 3 ou 7 jours).
Ta deadline personnelle = joined_at + deadline_days
Concrètement : si tu rejoins le mardi à 14h un challenge avec deadline_days = 3, tu as jusqu'au vendredi 14h pour soumettre.
Pourquoi c'est personnel
Ce n'est PAS une date globale fixée par l'admin. Chaque participant a son propre chrono indépendant. Tu peux rejoindre un challenge n'importe quand sans rater une "fenêtre globale".
Le countdown live
Sur la page du challenge en mode active, une sidebar à droite affiche un compteur live (jours, heures, minutes) qui décrémente en temps réel.
Tu n'as qu'un challenge actif à la fois
Pour t'éviter de te disperser, tu ne peux avoir qu'un seul challenge en cours simultanément. Soumets ou rate-le pour pouvoir en rejoindre un autre.
Si tu dépasses
Le cron quotidien (02:00 UTC) marque ta participation comme expired et te retire −50 XP. Tu peux re-rejoindre le même challenge ou en choisir un nouveau.