Un flux iCalendar généré depuis distributions.php, servi sur
/calendrier.ics, permet d'ajouter toutes les distributions à venir à son
agenda (iPhone, Android, Google Agenda, Outlook). En abonnement webcal://,
les agendas suivent les changements de dates sans rien réimporter.
Les heures sont converties depuis le champ `horaires` en tenant compte du
changement d'heure ; les distributions annulées sont exclues.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sans limite de tentatives, lftp réessayait indéfiniment un login refusé,
ce qui martèle le serveur et finit par déclencher un blocage d'IP côté OVH.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Le webroot contient le contenu de src/ à plat, mais la cible mirroir
partait de « ./ ». Lancée depuis la racine, elle publiait .git/, shell.nix
et surtout .envrc — qui contient le mot de passe FTP en clair — dans le
répertoire public.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Toutes les distributions ont désormais lieu à « La Grange », le dernier
mercredi du mois (sauf décembre, avancé au 16), de 17h à 19h.
Les horaires passent dans un champ obligatoire `horaires` de chaque
distribution : la Guinguette du 30 juin 2027 finit à 21h30, ce que la
valeur codée en dur ne permettait pas d'exprimer.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Comparaison sur la date seule (minuit) plutôt que sur l'heure courante,
pour éviter que le basculement se fasse dès le matin du jour de distribution.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>