Chez Liip, nous accompagnons rĂ©guliĂšrement des client·e·s aux besoins complexes en matiĂšre de gestion de contenu. Un exemple rĂ©cent est la rĂ©alisation du nouveau site web du Museum fĂŒr Gestaltung de Zurich, le principal musĂ©e suisse du design, reconnu pour la richesse et la diversitĂ© de son programme public. Lâun des points centraux du projet Ă©tait la mise en place dâun systĂšme de gestion dâĂ©vĂ©nements Ă la fois flexible et puissant, capable de rĂ©pondre Ă une grande variĂ©tĂ© de formats et dâexigences.
Comprendre les besoins
En plus de ses expositions permanentes et temporaires, le Museum fĂŒr Gestaltung Zurich propose un large Ă©ventail dâĂ©vĂ©nements: visites guidĂ©es, sorties scolaires, ateliers de plusieurs jours, mais aussi concerts ou projections ponctuelles. Ces activitĂ©s se dĂ©roulent sur trois sites diffĂ©rents et sâadressent Ă des publics variĂ©s : visiteur·euse·s individuel·le·s, familles, groupes dâami·e·s ou classes scolaires. Certains Ă©vĂ©nements sont gratuits, dâautres requiĂšrent une inscription payante, et beaucoup sont proposĂ©s en plusieurs langues.
Pour gĂ©rer cette diversitĂ©, le musĂ©e avait besoin dâun systĂšme capable de prendre en charge:
- des événements récurrents avec des plannings complexes
- des durĂ©es trĂšs variables (de la visite de deux heures Ă lâatelier de plusieurs jours)
- plusieurs lieux en parallĂšle
- la segmentation et le ciblage précis des publics
- la définition de limites de participant·e·s (minimum et maximum)
- une communication automatisée avec les visiteur·euse·s (par exemple, des rappels)
En rĂ©sumĂ©, il ne sâagissait pas seulement dâafficher une liste dâĂ©vĂ©nements et un calendrier, mais de concevoir un vĂ©ritable systĂšme de gestion Ă©vĂ©nementielle, Ă la fois flexible et Ă©volutif.
Ăvaluer les solutions Drupal
Avec Drupal, la devise est «il y a un module pour ça». Avec plus de 53 000 modules disponibles, il était logique de commencer par là .
AprÚs avoir étudié plusieurs options, nous avons identifié le module Recurring Events comme point de départ le plus intéressant.
Pourquoi Recurring Events?
Avantages:
- Câest le module le plus complet pour gĂ©rer des Ă©vĂ©nements dans Drupal.
- Il propose par dĂ©faut une riche palette de fonctionnalitĂ©s, qui dans certains cas dĂ©passaient mĂȘme nos besoins.
Inconvénients:
- Lâensemble des exigences du musĂ©e nâĂ©tait pas couvert.
- Certaines fonctionnalitĂ©s existantes ne correspondaient pas aux cas dâusage et devaient ĂȘtre adaptĂ©es.

Identifier les lacunes
Le module Recurring Events rĂ©pondait dĂ©jĂ Ă une partie de nos besoins, mais pas Ă tous. Câest une difficultĂ© frĂ©quente en dĂ©veloppement logiciel : les solutions existantes couvrent souvent une grande partie du chemin, mais rarement lâensemble des exigences spĂ©cifiques.
Pour le Museum fĂŒr Gestaltung, plusieurs fonctionnalitĂ©s essentielles manquaient encore :
Gestion multilingue
Au-delĂ des trois langues nationales, le musĂ©e propose rĂ©guliĂšrement des Ă©vĂ©nements en anglais pour les visiteur·euse·s internationaux·ales. Il Ă©tait donc indispensable que le contenu et les processus dâinscription soient entiĂšrement gĂ©rables en plusieurs langues.
Inscriptions de groupe
la majoritĂ© des visites sâeffectue en groupe (familles, ami·e·s, classes ou groupes guidĂ©s). Le systĂšme devait permettre lâinscription dâun groupe entier, et basculer automatiquement sur liste dâattente si la capacitĂ© restante Ă©tait insuffisante.
CapacitĂ© par dĂ©faut selon le type dâĂ©vĂ©nement
certains formats, comme les visites guidĂ©es, reviennent frĂ©quemment avec une capacitĂ© fixe. Pouvoir dĂ©finir une valeur standard aurait simplifiĂ© la saisie et rĂ©duit le risque dâerreurs.
Dates dâĂ©vĂ©nement verrouillĂ©es
Une fois un Ă©vĂ©nement publiĂ© et visible, ses dates ne devaient plus pouvoir ĂȘtre modifiĂ©es ou supprimĂ©es. Cette restriction garantissait la clartĂ© et Ă©vitait toute confusion pour le public.
Communication par e-mail adaptée
Selon le type dâinscription (groupe privĂ© ou classe scolaire), diffĂ©rentes Ă©quipes Ă©taient responsables du suivi. Le systĂšme devait donc permettre lâutilisation de modĂšles dâe-mails distincts pour assurer une communication cohĂ©rente et ciblĂ©e.
Choisir la bonne approche
Une fois les besoins clairement dĂ©finis, restait Ă rĂ©pondre Ă une question centrale: fallait-il dĂ©velopper une solution entiĂšrement sur mesure, ou bien Ă©tendre lâexistant ?
AprÚs analyse, quatre pistes se sont dégagées :
Option 1: Développer une solution custom
Cela nous donnerait un contrÎle et une flexibilité totale.
Avantages:
- Une solution parfaitement adaptée aux besoins du musée, sans aucun compromis.
Inconvénients:
- Un coût initial élevé.
- Risque de réinventer des fonctionnalités déjà couvertes par des modules existants.
Option 2: Forker le module Recurring Events
Il s'agit d'une approche pragmatique, en particulier Ă court terme, mais difficile Ă maintenir Ă long terme.
Avantages:
- PossibilitĂ© dâadapter le module Ă lâensemble des besoins spĂ©cifiques.
- Mise en Ćuvre rapide au dĂ©part.
Inconvénients:
- Charge de maintenance importante Ă long terme.
- Risques de conflits avec les futures évolutions du module.
- Les améliorations resteraient internes et ne bénéficieraient pas à la communauté.
Option 3: Ătendre le module avec du code custom
Utilisez le module tel quel et développez les fonctionnalités manquantes à l'aide des API Drupal, qui sont conçues pour adapter les fonctionnalités existantes aux besoins spécifiques d'un projet.
Avantages:
- Réutilisation des fonctionnalités existantes.
- Séparation claire entre le code communautaire et la logique spécifique au projet.
Inconvénients:
- Maintenance continue nécessaire pour le code custom.
- Risques de conflits si le module évolue.
- Les ajouts pourraient ĂȘtre utiles Ă dâautres, mais resteraient isolĂ©s.
Option 4: Contribuer directement au module Recurring Events
Collaborez avec les responsables de la maintenance du module afin d'intégrer directement les nouvelles fonctionnalités dans le module.
Avantages:
- Alignement avec la philosophie open source de Drupal.
- Compatibilité et support communautaire assurés sur le long terme.
- Relecture et amĂ©lioration des fonctionnalitĂ©s par dâautres dĂ©veloppeur·euse·s expĂ©rimenté·e·s.
- Réduction de la maintenance pour notre équipe à terme.
Inconvénients:
- Exigences élevées en matiÚre de qualité de code et de documentation.
- Risque que certaines contributions soient refusĂ©es ou prennent du temps Ă ĂȘtre validĂ©es.
- NĂ©cessitĂ© dâune coordination et dâune communication accrues pendant le dĂ©veloppement.
Une collaboration réussie
Nous avons finalement retenu lâoption 4: collaborer Ă©troitement avec les mainteneur·euse·s du module Recurring Events afin dây intĂ©grer les fonctionnalitĂ©s manquantes. Pendant plusieurs mois, nous avons participĂ© activement Ă lâissue queue, contribuĂ© du code, relu des patches et affinĂ© des solutions en dialogue constant avec la communautĂ©. Cette collaboration a conduit Ă lâintĂ©gration de lâun·e de nos dĂ©veloppeur·euse·s comme co-mainteneur·euse officiel·le du module.
Le rĂ©sultat est un vĂ©ritable succĂšs: nous avons livrĂ© un systĂšme de gestion dâĂ©vĂ©nements puissant, flexible et parfaitement adaptĂ© aux besoins du musĂ©e, tout en restant fidĂšle aux principes de lâopen source. Plusieurs de nos contributions font dĂ©sormais partie des derniĂšres versions du module, et dâautres amĂ©liorations sont dĂ©jĂ en cours de dĂ©veloppement.
Chez Liip, nous croyons fermement quâil ne suffit pas dâutiliser des outils: il faut aussi les renforcer et les partager. Nous le faisons non seulement pour nos client·e·s, mais aussi pour lâensemble de la communautĂ© open source Drupal.
Si tu veux participer Ă lâamĂ©lioration de la gestion dâĂ©vĂ©nements dans Drupal, rejoins la discussion avec nous dans l’issue queue du module Recurring Events.