Galerie photos illimitée pour les rencontres passées + page publique dédiée + carrousel

Photos :
- Nouvelle table rencontre_passee_photos (photos illimitées par rencontre
  passée, avec position). Migration idempotente au démarrage des anciennes
  colonnes image_path/_2/_3 vers cette table (puis colonnes nullées)
- Le nombre de photos affiché est désormais celui réellement uploadé
  (calculé), le champ manuel nb_photos n'est plus utilisé
- Gestion admin : ajout illimité, choix de la photo « principale » (mise
  en avant), suppression réservée aux admins (les modérateurs ajoutent et
  réordonnent mais ne suppriment pas)

Participants auto :
- rencontres_passees.rencontre_id (FK, ON DELETE SET NULL) ; quand une
  rencontre passée est liée à une rencontre, le nombre de participants est
  calculé depuis ses inscriptions ; sinon valeur manuelle de repli. Le
  formulaire admin propose la liaison et affiche le compte auto

Public :
- Nouvelle page /rencontres-passees (menu « Rencontres passées ») listant
  toutes les rencontres passées
- Carrousel plein écran (composant Carousel) montrant TOUTES les photos
  (flèches, clavier ←/→/Échap, compteur, miniatures) ; ouvert au clic sur
  une carte. La grille d'accueil montre 3 aperçus avec badge « +N » et un
  lien « Voir toutes les rencontres → »
- Composant PastEventCard partagé entre l'accueil et la page dédiée

Vérifié : 34 + 21 + 26 tests existants au vert, 19 nouveaux tests
(participants auto liés/déliés, upload illimité, nb_photos calculé,
principale, restrictions modérateur sur suppression de photo, migration
legacy des colonnes inline), parcours navigateur complet (galerie admin,
page publique, carrousel).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fkg15RCxNgUys4ru73He2o
This commit is contained in:
Claude committed 2026-07-13 18:13:32 +00:00
1 parent 214250bc39
commit 298c3becd5
13 files changed
+476 -139

No files matched your search

+10 -3
View File
@@ -101,6 +101,9 @@ l'utilisateur est bloqué sur un écran de changement obligatoire avant d'accéd
rencontres passées, formulaire de demande d'adhésion.
- Annuaire : recherche plein texte, filtres par catégorie, fiche détaillée par entreprise.
Seuls les membres **validés pour la saison** apparaissent.
- Rencontres passées : page dédiée listant toutes les rencontres passées ; un clic ouvre un
carrousel plein écran de **toutes** les photos (flèches, clavier, miniatures). Le nombre de
participants et de photos est calculé automatiquement (voir back-office).
- L'association : mission, valeurs, mot du président, chronologie, chiffres clés.
**Espace membre** (connexion email + mot de passe)
@@ -133,9 +136,13 @@ l'utilisateur est bloqué sur un écran de changement obligatoire avant d'accéd
membre ne l'a pas changé. L'admin peut aussi réinitialiser l'accès à tout moment.
- Rencontres : création, édition (avec photo affichée sur les cartes de la page d'accueil) ;
suppression réservée aux administrateurs. Liste des inscrits avec impression et export Excel.
- Rencontres passées : gestion complète de la section « Ils y étaient » de la page d'accueil —
titre, date, lieu, description, participants, et jusqu'à 3 photos par rencontre (1 grande +
2 petites, comme affiché sur l'accueil) ; suppression réservée aux administrateurs.
- Rencontres passées : gestion complète de la section « Ils y étaient » et de la page publique
dédiée — titre, date, lieu, description, et **galerie de photos illimitée** par rencontre
(ajout, suppression réservée aux admins, choix de la photo principale mise en avant). Le
**nombre de photos affiché est celui réellement uploadé** (jamais saisi à la main), et le
**nombre de participants est récupéré automatiquement** quand la rencontre passée est liée à
une rencontre (comptage de ses inscriptions) ; sinon une valeur manuelle sert de repli.
La suppression d'une rencontre passée ou d'une de ses photos est réservée aux administrateurs.
- Inscriptions : modification, confirmation ; annulation (suppression) réservée aux administrateurs.
- Catégories : ajout, renommage, suppression (les entreprises deviennent « Non classée »).
- Contenu du site : citation, signature et photo de la page d'accueil.