| Résumé | Discourse Calendar and Events ajoute des fonctionnalités de calendrier et d’événements dynamiques et interactifs à votre site Discourse. | |
| Guide d’installation | Ce plugin est inclus dans le noyau 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 l’interrupteur, soit depuis ses paramètres, tous deux accessibles depuis votre page admin/plugins :
Fonctionnalités
Un peu étonnamment, Discourse Calendar and Events ajoute à la fois les fonctionnalités de calendrier et d’événements à votre site Discourse. Avec 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 d’accès facile pour tous vos événements à venir.
Calendriers
Des calendriers personnalisés peuvent être créés dans plusieurs sujets, et ceux que vous souhaitez donner une visibilité accrue peuvent être affichés au-dessus de la liste des sujets d’une catégorie.
Vous pouvez trouver plus d’informations détaillées sur la création et l’utilisation des calendriers dans :
É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 l’option 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é dans :
Cela ne doit pas être confondu 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 un tag [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. Réglez 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 la catégorie. |
| working days | Définit les jours ouvrables. Vous pouvez afficher la disponibilité d’un groupe en utilisant le tag timezones dans un post, ex: [timezones group=admins][timezones] |
| working day start hour | Heure de début des heures de travail. |
| working day end hour | Heure de fin des heures de travail. |
| close to working day hours extension | Définit l’heure d’extension des heures de travail 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 “Upcoming events” |
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 du temps relatif. |
| discourse post event edit notifications time extension | Étend (en minutes) la période après la fin d’un événement lorsque les invités going sont encore notifiés des modifications dans le post original. |
| discourse post event allowed custom fields | Permet à chaque événement de définir la valeur des 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 sur la catégorie d’événement. |
| sidebar show upcoming events | Affiche le lien des événements à venir dans la barre latérale sous ‘More’. Nécessite post event enabled |
| map events to color | Assigne une couleur d’événement à un tag ou une catégorie spécifiée |
![]()
L’endpoint
discourse-post-event/events.jsona 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
Création d’événements via l’API
Vous pouvez créer des événements via POST /posts.json avec le BBCode [event][/event] dans le champ raw. Voici les détails sur la configuration de votre requête API :
- Utilisez
POST /posts.jsonavec le paramètreraw - Syntaxe de l’événement:
[event start="2024-05-10 20:00" status="public" timezone="America/Vancouver" end="2024-05-10 21:30" allowedGroups="trust_level_0"]\n[/event] - Un retour à la ligne littéral
\nest requis entre les balises ouvrantes et fermantes - Les guillemets doubles doivent être échappés lors de l’utilisation de JSON (
\") - Le compte utilisateur API doit avoir la permission de créer des événements (admin ou un groupe avec des droits de création d’événements)
- Définissez la catégorie via le paramètre
category, en passant l’id de la catégorie comme valeur.
Événements en direct (Livestream)
Pour les événements en direct, utilisez la fonctionnalité livestream pour permettre aux membres de regarder un événement et de participer au chat en même temps.
Un événement livestream inclut :
- Un flux vidéo (en utilisant YouTube, par exemple)
- Un événement de calendrier utilisant Discourse Calendar and Events
- Un canal 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 livestream crée un canal chat pour accompagner votre événement, en plus de discourse post event enabled et calendar enabled.
Si vous voulez utiliser livestream, mais ne voulez pas le chat ailleurs...
- Réglez
chat allowed groupssur la configuration par défaut, ou inclueztrust_level_0pour permettre aux nouveaux utilisateurs de participer au chat livestream - Supprimez les groupes du paramètre
direct message enabled groupspour empêcher les DMs utilisateur-utilisateur - Ne créez pas d’autres canaux de chat
Création d’un événement livestream
Pour créer un événement livestream :
- Ouvrez un nouveau sujet.
- Sélectionnez l’icône + dans la barre d’outils du composer et cliquez sur Create Event (si l’événement n’a pas déjà été ajouté à votre sujet).
- Collez le lien vers la vidéo de l’événement (par exemple, une URL YouTube) dans le champ emplacement/URL.
- Activez “livestream”
Vous verrez alors que l’événement et le livestream ont été créés, ainsi qu’un canal chat associé sur le côté droit.
Dès qu’un utilisateur clique sur Going sur l’événement, il rejoindra automatiquement le canal de chat, lui permettant de participer à la conversation !
Diffusion de webinaires Zoom
Vous pouvez utiliser 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 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 :
-
Rendez-vous sur marketplace.zoom.us, cliquez sur Develop, puis sur Build app.
-
Lorsqu’on vous demande quel type d’application vous créez, choisissez General App et cliquez sur Create.
-
Depuis la page App Credentials de l’application, copiez le Client ID (Clé SDK) et le Client Secret (Secret SDK).
-
Sous Embed, activez la permission Meeting SDK.
-
Dans votre Discourse, rendez-vous dans Admin → All site settings et entrez les valeurs de l’étape 3 dans
livestream zoom sdk keyetlivestream 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 seul canal de chat Discourse, pour garder tout le chat au même endroit et s’assurer 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 :
- Ouvrez un nouveau sujet, sélectionnez l’icône +, et cliquez sur Create Event.
- Collez votre lien de webinaire Zoom (par exemple,
https://zoom.us/``...) dans le champ URL/Emplacement. - Activez Livestream.
- Définissez le nom de l’événement, l’heure de début, l’heure de fin et autres détails de l’événement comme désiré.
- 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 présence 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 sera 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 taper sur 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 dans une vue Zoom plein écran (qui est également accessible sur desktop en ajoutant /zoom à la fin de l’URL du sujet de l’événement) avec un bouton flottant Chat qu’ils peuvent taper 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é rationalisé.
Voici à quoi ressemblera le calendrier de la barre latérale par défaut.
Si vous ne voulez pas l’heure, vous pouvez ajouter une valeur vide timeFormat dans le paramètre de bloc du composant.
Hébergé par nous ? Ce plugin est disponible sur nos niveaux Business et Enterprise Calendar | Discourse - Civilized Discussion
categoryId est la catégorie sur laquelle le calendrier sera affiché en haut.
postId est le post dans lequel vous mettez le calendrier avec [calendar][/calendar] ↩︎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 ↩︎
il peut masquer les samedis et dimanches du calendrier. Vrai par défaut. Vous pouvez le définir à faux avec weekends=false. ↩︎
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 ↩︎


















