Skip to content

Guide administrateur — Événements et créneaux

Cette fiche décrit la gestion des événements et de leurs créneaux depuis la console d'administration (/admin/events). Elle ne couvre ni la gestion des invités et des invitations (voir Invitations) ni la personnalisation du modèle d'email d'un événement (voir Éditeur d'emails).

Créer un événement

Depuis /admin/events, le bouton Nouvel événement ouvre un panneau latéral avec deux champs :

  • Nom (obligatoire, 200 caractères maximum) — doit être unique : un nom déjà utilisé par un autre événement est refusé (409) et signalé directement sous le champ.
  • Description (5000 caractères maximum) — éditeur de texte riche (TipTap) avec une barre d'outils minimaliste : gras, italique et lien (les liens doivent commencer par http:// ou https://). Les sauts de ligne sont pris en charge (touche Entrée), plafonnés à deux retours consécutifs. Aucun titre, liste ni autre mise en forme n'est disponible.

Un clic sur Créer enregistre l'événement à l'état Brouillon et redirige immédiatement vers sa page d'édition (/admin/events/:id/edit) pour y ajouter créneaux et invités.

La page d'édition d'un événement

/admin/events/:id/edit est organisée en cinq onglets :

OngletContenu
DétailsNom, description, date d'ouverture des inscriptions (formulaire de création, réutilisé)
CréneauxCalendrier des créneaux de l'événement — voir plus bas
InvitésListe des membres invités et suivi des invitations — voir Invitations
TemplateModèle d'email d'invitation propre à cet événement — voir Éditeur d'emails
StatistiquesGraphiques de remplissage et export CSV des réservations — voir plus bas

Les modifications du formulaire Détails ne sont pas enregistrées automatiquement : un bandeau d'actions apparaît dès qu'un champ est modifié, avec Réinitialiser les modifications et Enregistrer.

Liste des événements avec statut, créneaux et taux de remplissage

Publier ou dépublier

L'en-tête de la page d'édition porte en permanence un bouton Publier / Dépublier (à côté du bouton Enregistrer), qui bascule l'état de l'événement :

  • Brouillon (état par défaut à la création) — l'événement est invisible pour les membres, quels que soient les créneaux et invités déjà configurés. Ni le calendrier, ni les invitations ne le montrent.
  • Publié — l'événement devient visible et réservable par les membres qui y sont invités.

La publication est refusée (erreur affichée) si le champ Nom est vide. Il n'existe pas d'autre condition (un événement sans créneau peut être publié).

Depuis la liste /admin/events, chaque ligne affiche un badge Publié ou Brouillon, et l'en-tête de la liste résume le nombre total d'événements ainsi que la répartition publiés / brouillons.

Chaque ligne du tableau affiche aussi le nombre de créneaux remplis sur le total (3/8), un badge de taux de remplissage (vert ≥ 80 %, orange ≥ 50 %), la période couverte par l'événement (première et dernière date de créneau) et un badge Personnalisé / Défaut indiquant si l'événement utilise son propre modèle d'email d'invitation (voir Éditeur d'emails).

Date d'ouverture des inscriptions différée

Dans l'onglet Détails, l'interrupteur Date d'ouverture des inscriptions différée permet de programmer l'ouverture des réservations à une date et une heure précises (le sélecteur n'autorise pas de date passée). Tant que cette date n'est pas atteinte :

  • l'événement peut déjà être publié et visible ;
  • les membres invités qui s'y connectent le voient en mode consultatif (informations de l'événement visibles, sans accès aux créneaux) ;
  • les réservations ne sont pas encore possibles.

Passé la date d'ouverture, l'événement bascule automatiquement en mode réservable, sans action admin supplémentaire. Le détail de ce que voient les membres et les visiteurs non connectés est traité dans Vue publique d'un événement.

Désactiver l'interrupteur retire la date d'ouverture : l'événement redevient réservable dès sa publication.

Dupliquer un événement

Le menu d'actions (•••) d'une ligne de la liste, ou le même menu depuis la page d'édition, propose Dupliquer. La copie créée reprend uniquement :

  • le nom, suffixé de « (copie) » ;
  • la description.

Tout le reste repart à zéro :

  • l'état est forcé à Brouillon, quel que soit l'état de l'original ;
  • la date d'ouverture des inscriptions est réinitialisée (aucune programmation) ;
  • aucun créneau de l'original n'est copié ;
  • aucun invité (liste des utilisateurs autorisés) n'est copié.

TIP

La duplication est utile pour réutiliser le nom et la description d'un événement récurrent (même formulation d'une édition à l'autre), mais elle ne fait gagner de temps ni sur les créneaux ni sur la liste d'invités : ces deux étapes sont à refaire intégralement sur la copie.

Après duplication, la navigation redirige automatiquement vers la page d'édition du nouvel événement.

Cycle de vie d'un événement

mermaid
stateDiagram-v2
    [*] --> Brouillon: Créer
    Brouillon --> Publié: Publier
    Publié --> Brouillon: Dépublier
    Brouillon --> Brouillon: Dupliquer (la copie repart en Brouillon)
    Publié --> Brouillon: Dupliquer (la copie repart en Brouillon)

Publier, dépublier et dupliquer sont trois actions indépendantes de la date d'ouverture des inscriptions : un événement publié avec une date d'ouverture future est visible mais non réservable (mode consultatif), tandis qu'un événement publié sans date d'ouverture est réservable dès sa publication.

Gérer les créneaux — onglet Créneaux

L'onglet Créneaux affiche un calendrier (FullCalendar) avec quatre vues, sélectionnables par onglets : Semaine, Mois, Année, Liste.

Pour créer un créneau : cliquez sur une plage vide du calendrier, ou faites un clic droit sur une case pour ouvrir le menu contextuel puis Nouveau créneau. Le formulaire du créneau comprend :

  • Date et heure de début / de fin — un créneau peut s'étendre sur plusieurs jours (date de fin distincte de la date de début) ; l'heure de fin doit être postérieure à l'heure de début.
  • Capacité — nombre maximal de participants, doit être supérieur à 0.
  • Description (500 caractères maximum) — texte brut, sans mise en forme.

En modification, la capacité ne peut pas être réduite en dessous du nombre de réservations déjà enregistrées sur ce créneau : le formulaire affiche l'erreur et le nombre minimal accepté.

Un clic droit sur un créneau existant propose Modifier ou Supprimer depuis le même menu contextuel.

Onglet Créneaux d'un événement

Vue Liste et consultation des inscrits

La vue Liste de l'onglet Créneaux affiche les créneaux sous forme d'agenda chronologique (regroupement par date), avec un badge indiquant les places restantes sur chaque créneau ; les créneaux déjà passés apparaissent atténués, les créneaux annulés sont en lecture seule (l'action Modifier est remplacée par Voir, avec la date d'annulation affichée).

Ouvrir un créneau réservé affiche la liste de ses inscrits (avatar, nom) ainsi qu'un ratio « X sur Y place(s) », avec la mention « complet » une fois la capacité atteinte.

Pas de génération en série

La création de créneaux se fait un par un (formulaire ou clic sur le calendrier) : il n'existe pas, à ce jour, de fonction de génération en série (récurrence hebdomadaire, plage de dates automatique…) dans l'interface ni côté serveur. Pour un événement à créneaux répétitifs, chaque créneau doit être créé individuellement.

Annuler un créneau réservé

La suppression d'un créneau (bouton Supprimer du menu contextuel, ou depuis sa fiche d'édition) a un comportement différent selon qu'il est réservé ou non — la boîte de dialogue de confirmation change de libellé en conséquence :

  • Créneau vide (0 réservation) — « Supprimer définitivement ce créneau ? ». Confirmé, le créneau est effacé de la base sans laisser de trace ni envoyer d'email : traitement adapté à une erreur de saisie.
  • Créneau réservé (≥ 1 réservation) — « Annuler ce créneau ? ». Un champ motif optionnel (500 caractères maximum) permet de préciser la raison, reprise dans l'email envoyé aux réservants. Confirmé :
    • le créneau n'est pas supprimé mais marqué annulé (suppression douce) : il disparaît du calendrier actif mais reste consultable dans l'historique des réservants concernés ;
    • chaque membre ayant réservé ce créneau reçoit automatiquement un email de notification d'annulation, avec le motif s'il a été renseigné ;
    • un second appel d'annulation sur un créneau déjà annulé est refusé (aucun envoi en double).
mermaid
flowchart TD
    A[Supprimer un créneau] --> B{Réservations sur ce créneau ?}
    B -->|0| C[Suppression définitive — DELETE en base, aucun email]
    B -->|"≥ 1"| D[Soft-delete — cancelled_at renseigné]
    D --> E[Email d'annulation à chaque réservant]
    E -->|Échec d'envoi| F[Notification « en attente » — onglet Invités]
    E -->|Succès| G[Notification marquée envoyée]

Suivi des notifications d'annulation

Si l'envoi d'un email d'annulation échoue (panne SMTP au moment de l'annulation), la notification correspondante reste « en attente ». L'onglet Invités de l'événement concerné affiche alors un encart Notifications d'annulation en attente (visible uniquement s'il en existe pour cet événement), listant les créneaux annulés et leurs destinataires non notifiés, avec un bouton Renvoyer qui relance l'envoi pour l'ensemble des destinataires en attente de cet événement. L'encart disparaît une fois tous les envois réussis. Le tableau de bord affiche une carte équivalente à l'échelle de l'instance entière — voir Tableau de bord.

Export CSV des réservations

Dans l'onglet Statistiques d'un événement, le bouton Export CSV télécharge l'ensemble des réservations de cet événement au format CSV :

  • encodage UTF-8 avec BOM (compatibilité Excel) ;
  • séparateur point-virgule (;) ;
  • dates au format français (JJ/MM/AAAA HH:MM) ;
  • colonnes : Prénom, Nom, Email, Téléphone, Date de réservation, Créneau, Événement ;
  • nom de fichier reservations_<nom-evenement>_<date-du-jour>.csv.

Le téléchargement démarre directement dans le navigateur au clic, sans étape intermédiaire.

Récapitulatif des limites de champs

ChampLimite
Nom de l'événement200 caractères, unique
Description de l'événement5000 caractères, texte riche (gras, italique, liens)
Description d'un créneau500 caractères, texte brut
Capacité d'un créneauentier > 0 ; en modification, jamais inférieure au nombre de réservations existantes
Motif d'annulation d'un créneau500 caractères, optionnel

Supprimer un événement

Le menu d'actions (•••) propose aussi Supprimer : la confirmation rappelle que la suppression entraîne celle des créneaux et réservations associés, et qu'elle est irréversible. Depuis la liste, une sélection multiple (cases à cocher) fait apparaître une barre d'actions groupées avec la même suppression en masse, sous une confirmation unique portant sur le nombre d'événements sélectionnés.


Pour la gestion des invités et le suivi des invitations, voir Invitations. Pour ce que voient les membres et les visiteurs sur la page publique d'un événement, voir Vue publique d'un événement. Pour le détail des routes utilisées par ces écrans, voir Référence — API.

Publié sous licence FSL-1.1-MIT.