Overblog
Suivre ce blog
Editer l'article Administration Créer mon blog

Publié par

J’utilise beaucoup Google Calendar pour gérer mon emploi du temps : interface simple, rapide, et surtout accessible de partout.
Sous mac, il existe un logiciel (intégré par défaut) nommé iCal qui permet de faire la même chose, et il est tout aussi sympa et pratique.

Jusqu’à maintenant, j’utilisais surtout Google Calendar car il est bien intégré à Gmail et il envoie des notifications mails et sms gratuitement.

Mais depuis que j’ai mon iPod Touch, gérer mon emploi du temps avec iCal devient tout aussi intéressant car mon calendrier iCal est synchronisé automatiquement avec mon iPod Touch.

Même si Google a très récemment mis en place une version optimisée pour l’iPhone et l’iPod Touch de Google Calendar (copie d’ecran ci dessous), il faut tout de même être connecté au net depuis l’iPod (via wifi uniquement) pour accéder à son calendrier et avouons qu’en situation de mobilité, il est rare d’avoir un accès wifi au moment où on en a besoin.

Idée : synchroniser Google Calendar et iCal automatiquement pour avoir accès aux mêmes informations de partout, que je sois connecté ou non.

Il existe un logiciel payant nommé Spanning Sync mais problème : il est payant! Après maintes recherches, impossible de trouver un équivalent gratuit, jusqu’à ce que je tombe sur GCALDaemon.

Je vous copie ici le tutoriel que j’ai suivi pour mettre ca en place sur mon mac.

Textes et explications tirées du site feub.com

Présentation du démon

GCALDaemon est un programme Java - donc indépendant de l’OS - qui permet une synchronisation dans les deux sens entre Google Calendar et tout type de calendrier compatible iCalendar. Sa fonction principale est la synchronisation de calendriers, mais GCALDaemon fait bien plus : Gmail notifier, importer un carnet d’adresse, convertisseur de feed RSS, etc.

Que me faut-il pour l’utiliser :

  1. L’envirronement Java 1.5 Runtime (ou plus récent)
  2. Un compte Gmail
  3. Une application de calendrier compatible iCal (Apple iCal, Sunbird)

Procédure d’installation

  1. Installation de GCALDaemon (Java 1.5 est requis) :
    $ cd /usr/local/sbin$ sudo unzip /downloads/gcaldaemon-linux-1.x.zip$ sudo chgrp -R admin /usr/local/sbin/GCALDaemon$ sudo chmod -R g+w /usr/local/sbin/GCALDaemon$ sudo chmod 755 /usr/local/sbin/GCALDaemon/bin/*.sh
  2. Afin de différencier le nouveau calendrier que l’on va créer pour être utilisé avec GCALDaemon et les fichiers relatifs au(x) calendrier(s) déjà présents dans iCal, il suffit d’appliquer un label de couleur à tous les dossiers sous ~/Library/Application Support/iCal/Sources.
  3. Lancer iCal, et créer un nouveau calendrier avec un nom distinct, par exemple ‘Google’.
  4. Quitter iCal, et aller voir le nouveau dossier sans label sous ~/Library/Application Support/iCal/Sources
    $ cd ~/Library/Application Support/iCal/Sources
  5. Ouvrir le fichier de configuration gcal-daemon.cfg :
    $ cd /usr/local/sbin/GCALDaemon/conf$ vi gcal-daemon.cfg
  6. Ajouter le chemin complet vers le fichier corestorage.ics du nouveau dossier sans label fraîchement crée (sans le ~ ) pour la variable file.ical.path :
    # Full path of the local iCalendar filefile.ical.path=/Users/*/Library/Application Support/iCal/Sources/*.calendar/corestorage.ics
  7. Ajouter votre adresse email pour la variable file.google.username :
    # Gmail user (your full email address)file.google.username=example@gmail.com
  8. Encoder votre mot de passe Gmail à l’aide du script password-encoder.sh. Copier le mot de passe encodé :
    $ cd /usr/local/sbin/GCALDaemon/bin
    
    $ ./password-encoder.sh
  9. Ajouter votre mot de passe encodé pour la variable file.google.password :
    # Gmail password (use password encoder!)file.google.password=31260V7mc34jV22c
  10. Copier l’URI iCal de votre calendrier privé Google. Vous la trouverez dans la page de configuration de Google Calendar :
    Configuration Google Calendar
  11. Ajouter l’URI iCal pour la variable file.private.ical.url, sans le protocole et sans le nom de domaine :
    # URL (without hostname) of the Google Calendar s private ical filefile.private.ical.url=/calendar/ical/example%40gmail.com/private-495c0f1bfg/basic.ics
  12. Mettre la variable file.enabled à true :
    # Enable iCalendar file listener/synchronizerfile.enabled=true
  13. Démarrer GCALDaemon à l’aide de standalone-start.sh. L’affichage qui suit vous indique un fonctionnement normal :
    $ ./standalone-start.sh

    INFO | GCALDaemon V1.0 beta 8 starting…
    INFO | Local time zone is Pacific Standard Time.
    INFO | HTTP server disabled.
    INFO | RSS/ATOM feed converter disabled.
    INFO | Start listening file /Users/user/Library/…/iCal/corestorage.ics…
    INFO | File listener started successfully.
    INFO | LDAP server disabled.
    INFO | Gmail notifier disabled.
    INFO | Sendmail service disabled.

  14. Démarrer iCal. Les nouveaux éléments ajoutés, modifiés ou effacés à iCal seront désormais automatiquement mis-à-jour dans Google Calendar.

Démarrer le daemon automatiquement avec launchd

A ce stade, le daemon doît être lancé à la main, pour automatiser cette tâche et que GCALDaemon soit lancé à chaque démarrage de la machine, nous allons ajouter un élément au launchd d’OS X.

La procédure est la suivante :

  1. S’il n’existe pas, créer ~/Library/LaunchAgents
  2. Puis éditer, un fichier avec l’extension .plist comme suit (dans mon exemple, mon fichier s’appelle net.feub.gcaldaemon.plist) :
    <?xml version="1.0" encoding="UTF-8"?>
    
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
    
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    
    <plist version="1.0">
    
    <dict>
    
    <key>Label</key>
    
    <string>net.feub.gcaldaemon</string>
    
    <key>ProgramArguments</key>
    
    <array>
    
    <string>/usr/local/sbin/GCALDaemon/bin/standalone-start.sh</string>
    
    </array>
    
    <key>RunAtLoad</key>
    
    <true/>
    
    </dict>
    
    </plist>

    Télécharger le fichier .plist

  3. Démarrer le service comme ceci :
    # launchctl load ~/Library/LaunchAgents/net.feub.gcaldaemon.plist
  4. Et voilà, votre daemon est démarré et le sera à chaque démarrage de votre Mac.
    Je ne m’étendrai pas sur le fonctionnement de launchd qui fera certainement l’objet d’un prochain article.

    Note : cette commande launchctl permet de gérer le daemon launchd à la demande, il ne sera ensuite bien sur pas nécessaire de la taper, car launchd lancera notre script à l’ouverture de la session de l’utilisateur.

Commenter cet article