Blog > Web
Partage de calendriers ICS


Dans la plupart des agendas en ligne (Google Agenda, ...), il est possible de s'abonner à des calendriers au format ICalendar (extension ICS) afin de rester à jour sur des événements. Voici des liens pour vous abonner à des calendriers que j'ai créé :
  • [WEBCAL] [ICS] Les jours fériés en France
  • [WEBCAL] [ICS] Les jours fériés supplémentaires de l'Alsace-Moselle.
  • [WEBCAL] [ICS] Les jours fériés en France (incluant les jours supplémentaires de l'Alsace-Moselle).
  • [WEBCAL] [ICS] Les jours de fête (Fête des mères / pères, Saint Patrick, Saint Valentin, ...).
Ces calendriers sont mis à jour de manière automatique.
Remarque : Pour ajouter un calendrier à Google Agenda, copier/coller les liens vers les fichiers ICS dans la zone URL du formulaire d'abonnement.

Problème d'encodage des calendriers ICS dans Google Agenda


Suite à la création d'un calendrier personnalisé au format ICS sur mon domaine, le problème suivant est apparu lors de l'abonnement dans Google Agenda : Les caractères accentués sont remplacés par des carrés contenant un point d'interrogation. De manière générale, cela signifie que le caractère est bien encodé, mais que le logiciel client n'arrive pas à le décoder (Google Agenda dans le cas présent). Il s'agit d'une limitation de Google Agenda qui ne prend pas le format UTF-8 par défaut. Pour contourner le problème, la solution est de forcer le mode de lecture des fichiers ICS sur votre serveur. Pour cela, modifier votre fichier ".htaccess" à la racine de votre domaine pour y ajouter la ligne suivante :

# Charset
AddCharset UTF-8 .ics

A la prochaine mise à jour du calendrier par Google Agenda, les caractères Unicode s'afficheront correctement.

Mettre en place un traitement automatisé sur un serveur Web


Dans le cadre du développement d'une nouvelle fonctionnalité pour mon blog, j'ai eu besoin de créer un traitement PHP s'exécutant automatiquement toutes les heures. Pour mettre en place une tâche planifiée sur un serveur, il existe plusieurs solutions :

Si l'hébergeur l'autorise ou si vous avez votre propre serveur :
Vous pouvez utiliser le programme CRON. Un service (daemon) qui tourne en continue sur le serveur est qui lance le contenu du fichier CronTab. Pour plus d'information, consulter les articles wikipedia sur Cron et Crontab.

Si, comme moi, vous ne pouvez pas utiliser le service Cron de l'hébergeur :
Il existe des services en ligne permettant de lancer ce type de traitements :
- webcron.org (facturation à 0.0001 euros par exécution)
- http://www.cronoo.com (service gratuit, mais limité à 2 tâches planifiées)