Calendrier et événements Discourse

:discourse2: Résumé Discourse Calendar and Events ajoute des fonctionnalités de calendrier et d’événements dynamiques et interactifs à votre site Discourse.
:open_book: Guide d’installation Ce plugin est intégré au cœur de Discourse. Il n’est pas nécessaire d’installer le plugin séparément.

Activation du Calendrier et des Événements

Le plugin Calendrier et Événements peut être activé soit via le commutateur, soit depuis ses paramètres, tous deux accessibles depuis votre page admin/plugins :

Fonctionnalités

Ce n’est guère surprenant, Discourse Calendar and Events ajoute à la fois les fonctionnalités de calendrier et d’événements à votre site Discourse. Grâce à celles-ci, vous pouvez créer des calendriers de sujets individuels pour suivre des occasions importantes ou des chronologies, afficher des calendriers dans les catégories, ajouter un calendrier de vacances pour marquer les congés, absences ou jours de maladie, créer des sujets d’événements interactifs, ainsi qu’afficher un résumé de calendrier facile d’accès de tous vos événements à venir.

Calendriers

Des calendriers sur mesure peuvent être créés dans plusieurs sujets, et ceux que vous souhaitez mettre en avant peuvent être affichés au-dessus de la liste des sujets d’une catégorie.

Vous trouverez des informations plus détaillées sur la création et l’utilisation des calendriers ici :

Événements

La fonctionnalité Événement permet d’insérer des éléments interactifs dans les sujets que vos membres peuvent utiliser pour s’inscrire pour assister ou participer aux activités de votre communauté. Ceux-ci sont tous résumés dans un calendrier dédié à l’échelle du site, avec la possibilité d’ajouter un lien d’accès facile à votre menu de navigation. Vous pouvez trouver plus d’informations sur la création et l’utilisation de cette fonctionnalité ici :

:exclamation: Il ne faut pas confondre cela avec le plugin Events de Pavilion (notez le pluriel)

Paramètres du Calendrier

Nom Description
calendar enabled Active le plugin discourse-calendar. Cela ajoutera le support pour une balise [calendar][/calendar] dans le premier post d’un sujet.
holiday calendar topic id ID du sujet du calendrier de vacances/absence du personnel.
holiday status emoji Définit l’emoji utilisé pour le statut de vacances.
delete expired event posts after Les posts avec des événements expirés seront automatiquement supprimés après (n) heures. Définissez sur -1 pour désactiver la suppression.
all day event start time Les événements qui n’ont pas d’heure de début spécifiée commenceront à cette heure. Le format est HH:mm. Pour 6h00 du matin, entrez 06:00
all day event end time Les événements qui n’ont pas d’heure de fin spécifiée se termineront à cette heure. Le format est HH:mm. Pour 18h00, entrez 18:00
calendar categories Affiche un calendrier en haut d’une catégorie. Les paramètres obligatoires sont categoryId et postId. ex: categoryId=6;postId=453[1] Autres paramètres valides: tzPicker[2], weekends[3] et defaultView[4].
calendar categories outlet Permet de changer quel outlet doit afficher le calendrier de catégorie.
working days Définit les jours ouvrables. Vous pouvez afficher la disponibilité d’un groupe en utilisant la balise timezones dans un post, ex: [timezones group=admins][timezones]
working day start hour Heure de début des heures ouvrables.
working day end hour Heure de fin des heures ouvrables.
close to working day hours extension Définit le temps d’extension des heures ouvrables pour mettre en évidence les fuseaux horaires.
calendar automatic holidays enabled Définit automatiquement le statut de vacances en fonction de la région d’un utilisateur (note: vous pouvez désactiver des vacances automatiques spécifiques dans les paramètres du plugin)
map events title Mappe le titre du calendrier de la barre latérale en fonction de la catégorie. Par défaut “Événements à venir”

Paramètres des Événements

Nom Description
discourse post event enabled Active les fonctionnalités d’Événement. Note: nécessite également que calendar enabled soit activé.
discourse post event allowed on groups Groupes autorisés à créer des événements.
displayed invitees limit Limite le nombre d’invités affichés sur un événement.
display post event date on topic title Affiche la date de l’événement après le titre du sujet.
use local event date Utilise la date locale après le titre du sujet au lieu de l’heure relative.
discourse post event edit notifications time extension Étend (en minutes) la période après la fin d’un événement pendant laquelle les invités going sont toujours notifiés des modifications dans le post original.
discourse post event allowed custom fields Permet à chaque événement de définir la valeur de champs personnalisés.
events calendar categories Affiche un calendrier d’événements en haut d’une catégorie.
sort categories by event start date enabled Active le tri des sujets de catégorie par date de début d’événement.
disable resorting on categories enabled Permet aux catégories de désactiver la capacité des utilisateurs à trier dans la catégorie d’événement.
sidebar show upcoming events Affiche le lien des événements à venir dans la barre latérale sous ‘Plus’. Nécessite post event enabled
map events to color Assigne une couleur d’événement à une balise ou catégorie spécifiée

:information_source: :curling_stone: L’endpoint discourse-post-event/events.json possède maintenant un paramètre ajouté pour basculer entre une réponse simple et détaillée. Pour obtenir la réponse détaillée, vous pouvez ajouter ?include_details=true:

/discourse-post-event/events.json?include_details=true

Événements en direct (Livestream)

Pour les événements en direct, utilisez la fonctionnalité de livestream pour permettre aux membres de regarder un événement et de participer au chat en même temps.

Un événement livestream comprend :

  • Un flux vidéo (en utilisant YouTube, par exemple)
  • Un événement de calendrier utilisant Discourse Calendar and Events
  • Un canal de chat associé créé automatiquement pour l’événement

Prérequis pour les événements livestream

Pour utiliser les événements livestream, vous devez avoir chat enabled, car le livestream crée un canal de chat pour accompagner votre événement, en plus de discourse post event enabled et calendar enabled.

Création d’un événement livestream

Pour créer un événement livestream :

  1. Ouvrez un nouveau sujet.
  2. Sélectionnez l’icône + dans la barre d’outils du rédacteur et cliquez sur Create Event (si l’événement n’a pas déjà été ajouté à votre sujet).
  3. Collez le lien vers la vidéo de l’événement (par exemple, une URL YouTube) dans le champ emplacement/URL.
  4. Activez “livestream”

Vous verrez alors que l’événement et le livestream ont été créés, ainsi qu’un canal de chat associé sur le côté droit.

Dès qu’un utilisateur clique sur Going pour l’événement, il rejoindra automatiquement le canal de chat, lui permettant de participer à la conversation !

Diffusion de webinaires Zoom

Vous pouvez utiliser le livestream pour héberger des webinaires Zoom directement dans Discourse, afin que les membres puissent regarder l’événement et participer au canal de chat associé sans quitter votre communauté.

Prérequis pour les webinaires Zoom

En plus des prérequis du livestream, vous devrez également configurer les paramètres suivants :

  • Activez livestream zoom enabled
  • Entrez votre clé SDK de réunion Zoom dans le paramètre livestream zoom sdk key
  • Entrez votre secret SDK de réunion Zoom dans le paramètre livestream zoom sdk secret

Pour obtenir la clé et le secret du SDK de réunion Zoom :

  1. Rendez-vous sur marketplace.zoom.us, cliquez sur Develop, puis sur Build app.

  2. Lorsque l’on vous demande quel type d’application vous créez, choisissez General App et cliquez sur Create.

  3. Depuis la page App Credentials de l’application, copiez le Client ID (Clé SDK) et le Client Secret (Secret SDK).

  4. Sous Embed, activez la permission Meeting SDK.

  5. Dans votre Discourse, rendez-vous dans Admin → All site settings et entrez les valeurs de l’étape 3 dans livestream zoom sdk key et livestream zoom sdk secret.

Pour que le webinaire Zoom fonctionne correctement dans Discourse :

  • Le webinaire ne doit pas nécessiter d’inscription ou de code d’accès pour rejoindre.

  • Désactivez le chat intégré de Zoom pour vous assurer que toute la discussion a lieu dans le canal de chat Discourse unique, afin de garder tous les chats au même endroit et de garantir que la conversation peut continuer après la fin du webinaire.

Création d’un événement livestream pour un webinaire Zoom

Pour créer un événement livestream pour votre webinaire Zoom :

  1. Ouvrez un nouveau sujet, sélectionnez l’icône + et cliquez sur Create Event.
  2. Collez le lien de votre webinaire Zoom (par exemple, https://zoom.us/``...) dans le champ URL/Location.
  3. Activez Livestream.
  4. Définissez le nom de l’événement, l’heure de début, l’heure de fin et les autres détails de l’événement selon vos souhaits.
  5. Publiez le sujet.

Comme pour les autres événements livestream, cet événement sera créé avec un canal de chat Discourse associé que les membres rejoindront automatiquement après avoir confirmé leur participation en tant que “Going”.

Expérience des membres

Voici comment vos membres vivront le webinaire :

Avant l’événement

Un bouton Join Zoom est affiché à partir de 30 minutes avant le début de l’événement. En dehors de cette fenêtre, le bouton est désactivé avec un message indiquant quand il deviendra disponible.

Pendant l’événement

Une fois que les membres cliquent sur Join Zoom, le webinaire se chargera dans la page du sujet (ou, si l’hôte n’a pas encore démarré l’événement, le membre devra attendre qu’il le fasse pour voir la vidéo).

L’audio ne se connecte pas automatiquement lors de la connexion au webinaire ; les participants doivent cliquer ou toucher l’icône audio dans la barre d’outils Zoom pour se connecter. C’est une limitation du SDK Zoom et ne peut pas être modifiée.

Sur mobile, le webinaire s’ouvre en plein écran Zoom (qui est également accessible sur bureau en ajoutant /zoom à la fin de l’URL du sujet de l’événement) avec un bouton Chat flottant qu’ils peuvent toucher pour ouvrir un panneau de superposition de chat pendant l’événement.

Après l’événement

Le bouton Join Zoom est masqué 10 minutes après l’heure de fin de l’événement. Le canal de chat reste accessible aux participants jusqu’à ce que vous le fermiez.

Intégrations avec d’autres plugins

Vous pouvez utiliser un composant de ce plugin avec Right Sidebar Blocks. Vous voudrez vous assurer que la route souhaitée est activée dans le composant Right Sidebar Blocks. Le nom du bloc sera upcoming-events-list. Historiquement, des paramètres supplémentaires étaient requis dans le plugin Calendrier lui-même, mais cela a été simplifié.

C’est ainsi que le calendrier de la barre latérale apparaîtra par défaut.

Si vous ne voulez pas l’heure, vous pouvez ajouter une valeur vide pour timeFormat dans le paramètre de bloc du composant.

:discourse2: Hébergé par nous ? Ce plugin est disponible sur nos niveaux Business et Enterprise Calendar | Discourse - Civilized Discussion


  1. categoryId est la catégorie sur laquelle le calendrier sera affiché en haut.
    postId est le post dans lequel vous placez le calendrier avec [calendar][/calendar] ↩︎

  2. il peut afficher un sélecteur de fuseau horaire en haut à droite du calendrier. Faux par défaut, vous pouvez l’activer avec tzPicker=true ↩︎

  3. il peut masquer les samedis et dimanches du calendrier. Vrai par défaut. Vous pouvez le définir à faux avec weekends=false. ↩︎

  4. defaultView définira la vue du calendrier (jour, semaine, etc.). Il peut être défini comme:

    defaultView=agendaDay
    defaultView=agendaWeek
    defaultView=month (par défaut)
    defaultView=listNextYear ↩︎

101 « J'aime »
How to use the calendar plugin?
Discourse Calendar - How to?
Calendar plugin, nothing is displayed
Discourse 2.2.0.beta3 Release Notes
How to use the calendar plugin?
Discourse Calendar dislpay link text rather than link url
Ability to mark any post as unread
Is there a room booking plugin?
📅 Event List Widget (Layouts Plugin)
I am looking for a webhook or event api
Inserting date/time into new topic's title field (ie, right here > !)
Db:migrate fails on discourse-calendar
Moderator/Admin Off Duty Button
Go from a Wordpress + Discourse structure to a Discourse site only?
Creating sub-communities in a discourse server
Vacation autoresponder for users who are away?
Please better document the Discourse Calendar plugin
Plugin to gather approvals / signatures on an initiative?
Plugin to show upcoming events on hosted discourse
Is there any way to change the starting date of the Calendar?
SEO applied to Discourse Official Plugins
Add color to events based on event category or tag?
Add recurrent items within a date-range
Use Case Question - Room/Equipment Booking
Best practices for communicating to user base
Integrate with Discourse-calendar
My Wiki of useful Meta (and other) links
Quotes in event name clears attendees
Calendar in Discourse
Show Cakeday dates on the Calendar plugin
Agenda de colegio
What are your favorite plugins for your community?
Display a category as a calendar by scheduled Topic-timer dates
Why you should use Discourse internally for your company/team instead of Slack (4 years use case)
Newbie question: Is there a comprehensive guide to configuring and administering Discourse instance?
Angus' Events Plugin :calendar:
When "closing" event it moves it to today's date & time
How to display different calendar views?
Discourse calendar and event iCal integration?
Can the auto-responder fire on @mentions?
Event/Calendar Plugin - Cannot select a user for bulk-invite
Bulk Invite via modal only allowing one user (and not displaying correctly)
Help us test Horizon, our newest theme
500 Error when posting, moment.tz runtime error
Best practice for a topic for a recurring event
How to get "back" btn
Event Chat Channels Now Available
📅 New Calendar Feature: End Date for Recurring Events
🌍 New Calendar Feature: Show Local Time
What livestream/webinar platforms do you use?
Custom Wizard Plugin :mage:
ICS → Discourse Importer
How have you built a local community around Discourse?
Angus' Events Plugin :calendar:
What happens next?
Bundling more popular plugins with Discourse core
Calendar subscription URLs for external calendar apps
Listing event invitees with email addresses
Discourse Daily Challenges
Upcoming Events Extra Buttons and Enhancements
Horizon: High Context Topic Cards
Besoin de renseignement pour informer une annulation d'événement
Current Projects - May 2026
It's easier than ever to create events in Discourse!
Easily create Events categories using the Calendar and Events plugin
It is very difficult to make events all day in the events modal (and 00:00 is confusing)
Discourse Calendar - How to?
Angus' Events Plugin :calendar:
Topic List Previews (TLP)
New Topic button text does not change to New Event in sidebar in events category in Horizon Theme
Current Projects - June 2026
Event Duplicator: duplicate calendar events/topics into a new time period
Event Creation
Category Calendar with defaultView="listNextYear" not showing events
Calendar Core - Needs any special theme?
Creating and managing calendars
Sorting Categories by Title
Creating and managing events
Category Calendar with defaultView="listNextYear" not showing events
The "Save Changes" button is very low on my user preferences interface page
Group Timezones
Easily create Events categories using the Calendar and Events plugin
Available hours / work hours flair
Could use help, setting up new community
Feature request: wrap calendar items when there's just one per day
Right Sidebar Blocks
Custom Discourse instance for a writers club
Unread messages blue numbers appearing in Latest lately (when they shouldn't)?
Database migration chokes on huge value of a "calendar-details" item in table "post_custom_fields"
"Out of office" user indicator
Database migration chokes on huge value of a "calendar-details" item in table "post_custom_fields"
Angus' Events Plugin :calendar:
Angus' Events Plugin :calendar:
Calendar plugin features to make it really useful for us
"Out of office" user indicator
Can discourse display topic replies in reverse order?
Discourse Livestream
New to Discourse, have some questions :)
Expired events with end times are being removed from upcoming-events even with setting set to -1
Setup Continuous Integration using GitHub Actions
Add color to events based on event category or tag?