Préambule
J’ai décidé de faire un export « iCalendar » (anciennement « vCalendar ») de mon agenda simple pour SPIP.
Introduction
« iCalendar » est un format d’échange d’agenda, et permet de transférer des rendez-vous.
C’est à l’origine un format d’import/export de rendez-vous créé par un consortium Apple/AT&T/IBM/Siemens et principalement utilisé par une application sous Mac (iCal).
L’idée de réutiliser ce format d’échange a été adopté par quelques logiciels de calendrier comme Mozilla.
Pré-requis
Le seul pré-requis est d’avoir installé la contribution « Mini agenda ultra simple », et évidemment, de l’utiliser.
Cette contribution va vous permettre de faire une exportation de votre mini agenda au format iCalendar afin de le récupérer dans votre logiciel d’agenda favori.
Ajouter un filtre
Vous allez devoir ajouter un filtre dans votre fichier mes_fonctions.php3 comme suivant :
Ce filtre va être utilisé pour générer une date compatible avec le format d’export des données.
Le fichier agenda-ical.php3 :
Créez un fichier agenda-ical.php3 contenant le code php suivant :
J’ai donné un délai de 24 * 3600 ce qui donne une mise en cache d’une journée. Le fichier sera généré une fois par jour.
Par rapport à un fichier .php3 SPIP habituel, vous retrouvez en plus la ligne
@header ("content-type:text/calendar");qui permet de spécifier que vous ne renvoyez pas une page HTML, mais un fichier de type « calendar ».
Le fichier agenda-ical.html :
Voici le source du squelette proprement dit :
Convention pour l’écriture des articles
Autant sur votre site SPIP vous pouvez gérer les données de l’article à votre convenance, j’ai pour ma part utilisé un certain nombre de conventions :
- Le sous-titre de l’article correspond au lieu de l’événement
- Le sur-titre de l’article correspond à l’organisateur de l’événement
Résultat :
Voici ce que donne la récupération d’un événement avec Mozilla Calendar :

- Un événement sous Mozilla Calendar
Pour information...
Un événement est noté pour une journée complète, puisque SPIP ne gère pas d’heure dans la date de publication.
L’échange de calendrier a été testé avec succès sur
- Apple iCal (sur un Mac OS X 10.3)
- Mozilla Calendar (suite Mozilla 1.6 sous Windoze XP)
Voici un exemple de synchronisation iCal :
http://www.ncrambouillet.info/spip/agenda-ical.php3
Cette url n’a évidemment pas d’autre intérêt que celui de tester le résultat !



Vos commentaires
# Le 27 octobre 2006 à 13:42, par thierrybo
En réponse à : Export iCal pour mini agenda sous SPIP
Testé avec Evolution : OK
# Le 9 novembre 2006 à 18:16, par GoUaRfIg !
En réponse à : Export iCal pour mini agenda sous SPIP
c00l.
Thanks ;-)
Répondre à ce message
# Le 27 avril 2005 à 00:42, par Alexandre
En réponse à : > Export iCal pour mini agenda sous SPIP
Dans ma rubrique Agenda de mon site, je publie des articles où l’heure est présente dans le DESCRIPTIF, au format « 20h00 »
J’ai donc ajouté $ mes-fonctions.php3 :
et dans agenda-html
Je suis un absolu newbie en prog, mais je me débrouille. La syntaxe parraît correcte. En tout cas, ça marche avec iCal 1.5.5
J’ai trouvé de la doc si vous souhaiter approfondir : http://xml.resource.org/public/rfc/html/rfc2445.html
Dans la même veine, on peux ajouter une durée de l’événement dans un autre champ, ou alors par mot-clé. Il y a plein de possibilités.
Evidemment, il faut que les rédacteurs soient disciplinés... :-)
cordialement, Alex
L’ agenda en question
# Le 28 avril 2005 à 08:34, par GoUaRfIg !
En réponse à : > Export iCal pour mini agenda sous SPIP
Hum. C’est une très bonne idée pour enrichir mon mini-agenda et en faire un vrai calendrier !
Merci
Répondre à ce message