SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Agendas et Dates > Import-Export calendrier

Export iCal pour mini agenda sous SPIP

vendredi 25 mars 2005, par GoUaRfIg !. Dernier ajout dimanche 21 janvier 2007


Permet d’exporter le mini-agenda SPIP sous forme iCalendar ou vCalendar pour le récupérer sous Mac iCal ou Mozilla Calendar


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 !

P.-S.

Si vous avez un logiciel compatible iCalendar ou vCalendar qui n’accepte pas le format du fichier, faites le moi savoir, je regarderai ce qui cloche ! Merci.


Répondre à cet article



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net