Module Agenda pour ZwiiCMS
Module de calendrier / agenda événementiel pour ZwiiCMS, basé sur FullCalendar v6.1.21.
Ce module est une version modifiée du module Agenda original de Sylvain Lelièvre, avec plusieurs corrections de bugs et ajouts fonctionnels (import ICS, mailing, sauvegarde/restauration, catégories).
Fonctionnalités
- Affichage calendrier (vue mois / semaine / Jour / Planning) avec navigation, via FullCalendar.
- Création, modification et suppression d'évènements directement en cliquant sur le calendrier (sous réserve des droits, voir plus bas).
- Catégories d'évènements, avec couleurs de fond et de texte personnalisables par évènement.
- Gestion des droits par évènement :
- accès en lecture (qui peut voir l'évènement),
- accès en modification (qui peut le modifier/supprimer),
- avec 4 niveaux : Visiteur, Membre, Modérateur, Administrateur.
- Import d'évènements depuis un fichier
.ics(agendas externes, jours fériés, etc.), avec détection automatique du format DATE ou DATETIME. - Mailing automatique : envoi d'un e-mail (en copie cachée) à une liste d'adresses lors de la création d'un évènement, à partir d'un fichier d'adresses
.csv/.txtimporté. - Sauvegarde et restauration de l'agenda complet (export/import du fichier
events.json). - Largeur d'affichage du calendrier configurable (400 à 1130 px, ou 100%).
Structure du module
agenda/
├── agenda.php # Contrôleur principal (toute la logique métier)
├── enum.json # Métadonnées du module (nom, version...)
├── changes.md # Historique des versions/corrections
├── vendor/fullCalendar/ # Librairie FullCalendar v6.1.21
├── view/
│ ├── index/ # Affichage public du calendrier
│ ├── add/ # Formulaire de création d'un évènement
│ ├── edit/ # Formulaire de modification d'un évènement
│ ├── config/ # Configuration du module (droits, sauvegarde, import ICS/CSV)
│ └── category/ # Gestion des catégories d'évènements
Stockage des données
site/data/agenda/module/data/— les évènements de l'agenda de la page concernée./events.json site/data/agenda/module/data/— sauvegardes de l'agenda (fichiers_sauve/ .json).site/file/source/agenda/ics/— fichiers.icsimportés.site/file/source/agenda/categories/— données liées aux catégories.site/file/source/agenda/adresses/— fichiers.csv/.txtd'adresses e-mail pour le mailing.
Niveaux de droits
| Action | Droit minimum requis |
|---|---|
| Voir le calendrier | Visiteur |
| Ajouter / modifier / supprimer un évènement | selon droits configurés (voir "Configuration") |
| Configurer le module, gérer les catégories | Modérateur |
Le droit minimum pour créer un évènement se règle dans la configuration du module (droit_creation, Modérateur par défaut). Chaque évènement a en plus ses propres droits de lecture et de modification, choisis lors de sa création.
Configuration
Accessible aux administrateurs/modérateurs via la page de configuration du module :
- Droit de création minimum requis pour ajouter un évènement.
- Limitation du choix des rôles : si activée, un utilisateur ne peut proposer que des niveaux de droits inférieurs ou égaux au sien pour un évènement.
- Import d'un fichier
.icsexterne. - Import d'un fichier
.csv/.txtd'adresses pour le mailing. - Sauvegarde / restauration de l'agenda.
- Largeur maximale du calendrier à l'affichage.
Prérequis techniques
- ZwiiCMS (rôles
visitor/member/moderator/admin, clégetUser('role')en minuscules). - TinyMCE et Flatpickr (fournis par le core ZwiiCMS) pour l'édition du texte des évènements et la sélection des dates.
Historique des corrections
Voir changes.md pour le détail des versions et des bugs corrigés (import ICS, création manuelle d'évènements, droits de lecture/modification...).
Licence
Copyright (C) 2008-2018 Rémi Jean, 2018-2025 Frédéric Tempez, 2026 Michel Tuboeuf & Frédéric Tempez. Sous licence GNU General Public License v3.0 ou ultérieure. Utilise FullCalendar Core Package (c) 2019 Adam Shaw — voir fullcalendar.io.
Cet item ne reçoit pas de commentaire.