Agenda
Gérer un calendrier d’événements
La fonctionnalité permet de gérer un calendrier d’événements et d’expositions, avec tous les cas courants.
Événements
- 01-arte-concert-festival.html
- 01-20-00-priya-ragu.html
- 02-arte-concert-festival.html
- 02-20-00-gonzales.html
- 03-arte-concert-festival.html
- 03-20-00-gonzales.html
- 05-cine-club-gaze.html
- 05-20-00-emmanuelle.html
- 08-alaska.html
- 10-paris-berlin.html
- 10-14-00-les-fantomes-de-la-liberte.html
- 10-16-00-resistance-fondamentale.html
- 14-16-00-contes-a-paillettes.html
- 15-cine-club-gaze.html
- 15-20-00-atlantique.html
- 20-16-00-contes-a-paillettes.html
- 20-19-00-encore-heureux.html
- 20-20-30-encore-heureux.html
- 24-20-30-anetha-vel.html
- _index.html
- _index.html
- _index.html
Simple
Un concert unique, une conférence…
Pas de créneaux du tout (journée) ou 1 créneau horaire unique.
Pas d’enfants.
Sans créneau
Exemples
1. Alaska : sur la piste de Telaquana (8 janvier 2025, pas d’horaire)
Propriété | Valeur |
---|---|
permalink | /fr/agenda/YYYY/slug/ |
1. | /fr/agenda/2025/alaska/ |
file | /content/fr/events/YYYY/MM/DD-slug.html |
1. | /content/fr/events/2025/01/08-alaska.html |
path | /events/YYYY/MM/DD-slug |
1. | /events/2025/01/08-alaska |
Slug
Le slug doit être unique*dans le scope de l’année.
Il ne peut pas être composé que de chiffres.
Modèle impliqué : Communication::Website::Agenda::Event::Localization
Avec créneau unique
Ce cas est en réalité un événement récurrent avec un unique timeslot. Il respecte la nomenclature de l’événement récurrent.
Récurrent
Une série de séances sur une journée ou une série de concerts sur plusieurs jours.
Si l’événement chevauche 2 années, on prend l’année de début.
Créneaux horaires multiples.
Pas d’enfants.
Les événements récurrents s’appuient sur des time slots (Agenda::Event::TimeSlot
), qui génèrent des fichiers statiques.
Exemples
1. Anetha Vel (24 janvier 2025 à 20h30)
2+3. Contes à paillettes (14 janvier 2025 à 16h, 20 janvier 2025 à 16h)
4+5. Podcast encore heureux (19h et 20h30 20 janvier)
L’événement n’est pas envoyé.
Pour chaque time slot, il faut générer un fichier pour affichage dans la liste.
Propriété | Valeur |
---|---|
permalink | /fr/agenda/YYYY/slug/ |
1. | /fr/agenda/2025/anetha-vel/ |
2+3. | /fr/agenda/2025/contes-a-paillettes/ |
4+5. | /fr/agenda/2025/encore-heureux/ |
file | /content/fr/events/YYYY/MM/DD-hh-mm-slug.html |
1. | /content/fr/events/2025/01/24-20-30-anetha-vel.html |
2. | /content/fr/events/2025/01/14-16-00-contes-a-paillettes.html |
3. | /content/fr/events/2025/01/20-16-00-contes-a-paillettes.html |
4. | /content/fr/events/2025/01/20-19-00-encore-heureux.html |
5. | /content/fr/events/2025/01/20-20-30-encore-heureux.html |
path | /events/YYYY/MM/DD-hh-mm-slug |
1. | /events/2025/01/24-20-30-anetha-vel |
2+3. | /events/2025/01/14-16-00-contes-a-paillettes |
4+5. | /events/2025/01/20-19-00-encore-heureux |
Si on fait un bloc Agenda et qu’on fait un lien vers Contes à paillettes, on pointe vers le 1er timeslot.
Slug
Le slug de l’événement doit être unique dans le scope de l’année.
Il ne peut pas être composé que de chiffres.
Modèle impliqué : Communication::Website::Agenda::Event::Localization
Le slug des timeslots doit être unique dans le scope de l’événement.
Il est forcé sur le pattern DD-hh-mm.
Modèle impliqué : Communication::Website::Agenda::Event::TimeSlot::Localization
Parent
Pas de créneaux.
Enfants (n>1, le cas 1 enfant devrait être traité en événement simple).
Si l’événement chevauche 2 années, on prend l’année de début.
Une journée d’études avec des conférences successives ou un festival de musique.
Afin d’afficher les enfants nichés sous les parents dans les listes, il faut utiliser un objet jour (Agenda::Event::Day
), qui modélise un jour d’un festival.
Ainsi, l’Arte Concert Festival aura 3 jours, et chaque jour génère un fichier statique afin de permettre à Hugo de retrouver ses petits.
Exemples
1. Arte Concert Festival (Du 1er au 3 janvier 2025)
2. Rencontres Internationales Paris-Berlin (1 journée le 10 janvier)
3. Ciné Club Gaze (plusieurs mois)
Propriété | Valeur |
---|---|
permalink | /fr/agenda/YYYY/slug/ |
1. | /fr/agenda/2025/arte-concert-festival/ |
2. | /fr/agenda/2025/paris-berlin/ |
3. | /fr/agenda/2025/cine-club-gaze/ |
file | /content/fr/events/YYYY/MM/DD-slug.html |
1. | /content/fr/events/2025/01/01-arte-concert-festival.html |
1. | /content/fr/events/2025/01/02-arte-concert-festival.html |
1. | /content/fr/events/2025/01/03-arte-concert-festival.html |
2. | /content/fr/events/2025/01/10-paris-berlin.html |
3. | /content/fr/events/2025/01/05-cine-club-gaze.html |
3. | /content/fr/events/2025/01/15-cine-club-gaze.html |
path | /events/YYYY/MM/DD-slug |
1. | /events/2025/01/01-arte-concert-festival |
2. | /events/2025/01/10-paris-berlin |
3. | /events/2025/01/15-cine-club-gaze |
Slug
Le slug de l’événement doit être unique dans le scope de l’année.
Il ne peut pas être composé que de chiffres.
Modèle impliqué : Communication::Website::Agenda::Event::Localization
La génération des jours est faite avec les objets Communication::Website::Agenda::Event::Day
qui n’ont pas de slug
Enfant
Concert pendant un festival.
Un parent, pas d’enfant (pas d’enfant d’enfant).
En général avec un créneau, les cas 0 (pas d’horaire) et n>1 (récurrent) sont possibles.
Exemples
1+2. Conférences pendant Paris-Berlin
3. Concert de Priya Ragu pendant Arte Concert Festival (1er janvier, 20h)
4+5. Concerts de Gonzales sur 2 jours différents pendant Arte Concert Festival (le 2 et 3 janvier, 20h)
6+7. Séances de ciné à 10 jours d’intervalle, à 20h (Emmanuelle le 5 janvier, Atlantique le 15 janvier)
8. Promenade libre pendant Arte Concert Festival (le 1er janvier, pas d’horaire)
Propriété | Valeur |
---|---|
permalink | /fr/agenda/YYYY/parent_slug/slug/ |
1. | /fr/agenda/2025/paris-berlin/les-fantomes-de-la-liberte/ |
2. | /fr/agenda/2025/paris-berlin/resistance-fondamentale/ |
3. | /fr/agenda/2025/arte-concert-festival/priya-ragu/ |
4+5. | /fr/agenda/2025/arte-concert-festival/gonzales/ |
6. | /fr/agenda/2025/cine-club-gaze/emmanuelle/ |
7. | /fr/agenda/2025/cine-club-gaze/atlantique/ |
8. | /fr/agenda/2025/arte-concert-festival/promenade/ |
file | /content/fr/events/YYYY/MM/DD-hh-mm-slug.html |
1. | /content/fr/events/2025/01/10-14-00-les-fantomes-de-la-liberte.html |
2. | /content/fr/events/2025/01/10-16-00-resistance-fondamentale.html |
3. | /content/fr/events/2025/01/01-20-00-priya-ragu.html |
4. | /content/fr/events/2025/01/02-20-00-gonzales.html |
5. | /content/fr/events/2025/01/03-20-00-gonzales.html |
6. | /content/fr/events/2025/01/05-20-00-emmanuelle.html |
7. | /content/fr/events/2025/01/15-20-00-atlantique.html |
8. | /content/fr/events/2025/01/01-promenade.html |
path | /events/YYYY/MM/DD-hh-mm-slug |
1. | /events/2025/01/10-14-00-les-fantomes-de-la-liberte |
2. | /events/2025/01/10-16-00-resistance-fondamentale |
3. | /events/2025/01/01-20-00-priya-ragu |
4. | /events/2025/01/02-20-00-gonzales |
5. | /events/2025/01/03-20-00-gonzales |
6. | /events/2025/01/05-20-00-emmanuelle |
7. | /events/2025/01/15-20-00-atlantique |
8. | /events/2025/01/01-promenade |
Slug
Le slug de l’événement doit être unique dans le scope du parent.
Il ne peut pas être composé que de chiffres.
Modèle impliqué : Communication::Website::Agenda::Event::Localization
Le slug des timeslots doit être unique dans le scope de l’événement.
Il est forcé sur le pattern DD-hh-mm.
Modèle impliqué : Communication::Website::Agenda::Event::TimeSlot::Localization
Hypothèse obsolète 1
Le système de fichier suivant ignore les parentés, tout est à la racine.
Propriété | Valeur |
---|---|
file | /content/fr/events/YYYY/MM/DD-hh-mm-slug.html |
1. | /content/fr/events/2025/01/10-14-00-les-fantomes-de-la-liberte.html |
2. | /content/fr/events/2025/01/10-16-00-resistance-fondamentale.html |
3. | /content/fr/events/2025/01/01-20-00-priya-ragu.html |
4. | /content/fr/events/2025/01/02-20-00-gonzales.html |
5. | /content/fr/events/2025/01/03-20-00-gonzales.html |
6. | /content/fr/events/2025/01/05-20-00-emmanuelle.html |
7. | /content/fr/events/2025/01/15-20-00-atlantique.html |
Hypothèse obsolète 2
Le système de fichier suivant cause des dissonances de date. Un festival à cheval sur 2 ans peut contenir des événements de 2026 dans un dossier 2025. Ce système paraît, malgré cela, meilleur que le premier.
Propriété | Valeur |
---|---|
file | /content/fr/events/YYYY/parent_slug/YYYY/MM/DD/hh-mm-slug.html |
1. | /content/fr/events/2025/paris-berlin/2025-01-10-14-00-les-fantomes-de-la-liberte.html |
2. | /content/fr/events/2025/paris-berlin/2025-01-10-16-00-resistance-fondamentale.html |
3. | /content/fr/events/2025/arte-concert-festival/2025-01-01-20-00-priya-ragu.html |
4. | /content/fr/events/2025/arte-concert-festival/2025-01-02-20-00-gonzales.html |
5. | /content/fr/events/2025/arte-concert-festival/2025-01-03-20-00-gonzales.html |
6. | /content/fr/events/2025/cine-club-gaze/2025-01-05-20-00-emmanuelle.html |
7. | /content/fr/events/2025/cine-club-gaze/2025-01-15-20-00-atlantique.html |
Périodes
Pour avoir des sortes de filtres de calendrier, il est nécessaire de générer des pages pour les années et les mois. Cela ne s’applique que pour les événements, parce qu’il n’y a pas un volume d’expositions suffisant pour que ce soit nécessaire (au Louvre, quelques expos chaque année).
Année
La page d’une année liste les 12 mois, avec des liens vers chaque mois et pour chaque jour ayant des événements, un lien vers la page mois et une ancre du jour sélectionné.
Propriété | Valeur |
---|---|
file | /content/fr/events/YYYY/_index.html |
/content/fr/events/2025/_index.html | |
permalink | /fr/agenda/YYYY/ |
/fr/agenda/2025/ | |
path | /events/YYYY |
/events/2025 |
Mois
La page d’un mois liste les jours, avec les événements de chaque jour. Cette page n’est pas paginée, et les jours ont des identifiants permettant de faire un lien avec ancre vers une journée spécifique.
Propriété | Valeur |
---|---|
permalink | /fr/agenda/YYYY/MM/ |
/fr/agenda/2025/02/ | |
file | /content/fr/events/YYYY/MM/_index.html |
/content/fr/events/2025/02/_index.html | |
path | /events/YYYY/MM |
/events/2025/02 |
Expositions
- pulse.html
- _index.html
Une exposition, ouverte tous les jours.
Jour de fin > jour de début.
Pas de créneaux, pas d’enfants.
Rien = tout (ouvert tous les jours).
Exemples
PULSE : Au rythme de la lumière et du son (Du 12 décembre 2025 au 13 juillet 2025)
Propriété | Valeur |
---|---|
permalink | /fr/expositions/YYYY/slug/ |
/fr/expositions/2025/pulse/ | |
file | /content/fr/exhibitions/YYYY/slug.html |
/content/fr/exhibitions/2025/pulse.html | |
path | /exhibitions/YYYY/slug |
/exhibitions/2025/pulse |
Aujourd’hui, il n’y a pas de page d’année pour les expositions (/fr/expositions/2025/
n’amène nulle part).
Catégories
Une caractérisation des événements et des expositions, par exemple un congrès ou un concert.
Lieu (pas fait dans la v2)
Un lieu, physique ou virtuel, par exemple l’IUT Bordeaux Montaigne, une chaîne Twitch ou une url de webinaire. Le lieu peuvent avoir des enfants, par exemple des salles à l’IUT, qui sont au sein d’un bâtiment. Un événement peut être connecté à plusieurs lieux, comme c’est le cas pour les événements hybrides.
Analyse
Historique
Est-ce vraiment du domaine du site ? Ou est-ce plus haut, avec une publication sur le site ? Par souci de simplicité, on développe les événements au sein des sites Web uniquement. S’ils sont développés aussi au sein des extranets, il est probable que les enjeux fonctionnels soient différents (inscription notamment). À la v1 de l’agenda, produite pour La Criée et l’appel d’offres Villa Médicis, s’ajoute la v2 produite pour la Gaîté Lyrique.
Exemples
- https://www.college-de-france.fr/fr/agenda
- https://www.college-de-france.fr/fr/agenda/colloque/origines-des-planetes-la-vie
- https://www.college-de-france.fr/fr/agenda/colloque/origines-des-planetes-la-vie/interventions-institutionnelles-mesr-cnrs
- https://www.louvre.fr/expositions-et-evenements/expositions
- https://www.louvre.fr/expositions-et-evenements/evenements-activites