Générer un calendrier ical avec libreoffice calc
Depuis plusieurs années j’utilise le plugin calendrier de
Nextcloud synchronisé avec mon
téléphone et avec le plugin
lighting
pour le courielleur
Thunderbird.
Je suis donc parfois amener à créer des séries d’évènements comme
le calendrier des animations de l’association
Henchou Don Lanvaeleg.
Je vous propose dans cet article une modèle de classeur
Calc permettant de générer un fichier
ICS pouvant être importer dans le calendrier de
Thundrbird.
La base de cette macro a été trouvée sur un forum mais malheureusement je n’ai pas noté l’adresse, je ne peux donc pas citer la source originale.
Le format ICAL
Le format ICAL permet d’échanger des informations entre calendriers comme des invitations à des évènements.
La page de Wikipedia explique en détail et avec des exemples ce format, je ne vais pas ici essayer de faire mieux ou recopier le contenu de cette page. Je me permet juste de faire un résumé simplifié et correspondant aux éléments que j’utilise dans mon claseur Calc.
Le format utilisé est celui d’un langage balisé, chaque fichier commence et se termine par des balises :
-
BEGIN:VCALENDAR
: balise d’ouverture du fichier de calendrier -
END:VCALENDAR
: balise de fermeture du fichier de calendrier
De la même façon chaque évènement est délimité par des balises d’ouverture et de fermeture :
BEGIN:VEVENT
END:VEVENT
Il peut y avoir plusieurs évènements dans un fichier ICAL, donc on
peut y trouver plusieurs couples de BEGIN:VEVENT
/END:VEVENT
.
Dans chaque évènement on va trouver les différentes informations de cet évènement :
-
SUMMARY:
: le titre de l’évènement -
DESCRIPTION:
la description -
DTSTART:
: la date et l’heure de début de l’évènement -
DTEND:
: la date et l’heure de fin de l’évènement
Le format des éléments DTSTART:
et DTEND:
est AAAAMMJJThhmmss :
- AAAA : l’année
- MM : le mois
- JJ : le jour
- T : pour TIME
- hh : l’heure de début
- mm : les minutes
- ss : les secondes
Pour un évènement commençant le 10 février 2019 à 14H30 on aura
un DTSTART:
de 20190210T143000
.
A l’intérieur d’un évènement on pourra rajouter des informations
complémentaires comme une ou plusieurs alarmes qui sont dans ce cas
délimités par les mots clés BEGIN:VALARM
et END:VALARM
.
Le classeur Calc
Le classeur Calc permet de décrire les évennements et des macros permettent de générer le fichier ICAL à partir de ces éléments.
les données du classeur
Les données utilisées sont :
- DateTexte et HeureDebutTexte : information générée automatiquement (j’en ai besoin pour générer les évennement d’un calendrier Jekyll)
- DateDebut : date de début de l’évennement
- HeureDebut : heure de début de l’évennement
- Duree : duree de l’évennement
- Unité Evt : définit le type de durée de l’évennement ; 2 valeurs
sont possibles :
- h : pour une durée exprimée en heures
- j : pour une durée exprimée en jours
- Titre : le titre de lévennement
- Description : un commentaire décrivant l’évennement
- Categorie : on peut attribuer une catégorie à l’évennement, certaines application permettent d’afficher les évennements avec des couleurs différentes suivant les catégories
- Alarm : permet de définir si une alarme sera déclenchée avant l’évennement
- Unité Alarm : définit l’unité utilisée pour l’alarme. Elle reprend le même fonctionnement que l’unité de l’évennement (h pour heure et j pour jour)
- Alarm2 et Unité Alarme2 : ces 2 colonnes permettent de définir une deuxième alarme pour un évennement.
Les macros du classeur
Il y a 4 boutons permettant de déclencher différentes macros, 2 de ces macros permettent de générer des fichier ICAL tandis que les 2 autres permettent de générer des fichiers Markdown pouvant être utilisés dans Jekyll.
Calendriers ICAL
Il y a 2 macros pour générer les calendriers ICAL, la première,
Evennement ICS qui va générer le fichier ICAL de l’évennement
de la ligne sélectionnée. La deuxième, Calendrier ICS va générer le fichier ICAL pour
tous les évennements du classeur.
Dans les 2 cas, le résultat est dans le fichier /tmp/exportICS
.
Calendrier Jekyll/Markdown
Tout comme pour les calendriers ICAL il y a 2 macros qui génèrent les
calendriers au format Markdown. La première Evennement Jekyll va
générer un fichier pour un évennement, la deuxième, Calendrier Jekyll,
va générer un fichier pour chacun des évennements du ficvhier.
Dans les 2 cas, le résultat est dans le dossier /tmp
et le fichiers
sont nommés avec la date de l’évennement.
Télécharger le fichier Calendier-ICS-2019-06-10.ods