Viadeo

Antoine Sabot-Durand

Pages

J'ecoute les Cast Codeurs

Synchronisation automatique entre Google Calendar, iCal et l'iPhone

Voici un petit tutoriel sur la mise en œuvre de la synchronisation entre les applications Google Calendar et contacts, votre Mac et votre iPhone, que vous utilisiez la version standard des applis Google ou la version Google Apps.

Résultats et limitations

A l’issue de cette mise en place, vous pourrez modifier vos agendas et contacts sur l’un des trois environnements et voir vos modifications appliquées automatiquement sur les deux autres.

La solution a malheureusement 3 limitations  qui devraient disparaître avec le temps :

  • les listes de tâches ne peuvent pas être pris en charge par ce système
  • Pour envoyer un rendez-vous à des invités pour une réunion; vous devrez utiliser Google Calendar, les deux autres plate-forme provoqueront un bug si vous tenter de le faire
  • Vous ne pouvez pas synchroniser les groupes de contacts

Avant de commencer

Ce n’est pas obligatoire mais avant de commencer, je vous conseil de désactiver la synchronisation d’iCal et du carnet d’adresse avec votre iPhone via iTunes à moins que vous n’aimiez avoir votre agenda et carnet d’adresse en double .Vous pouvez le faire en ayant connecté votre iPhone à votre Mac et en entrant dans les paramètres de synchronisation de l’iPhone.

Et n’oubliez pas les sauvegardes.

Connexion entre iCal et Google Calendar

Pour ajouter votre agenda Google dans iCal, rien de plus simple. Dans iCal allez dans les préférences sur l’onglet “compte”. Ajoutez un compte

Nouveau compte iCal

Saisissez votre login et mot de passe Google. Si votre agenda est dans Google Apps saisissez le login complet avec votre nom de domaine.

Dans “options du serveur”, saisissez l’url de votre calendrier Google semblable à celle-ci : “https://www.google.com/calendar/dav/votrelogin/user“. Si vous utilisez Google Apps n’oubliez pas de mettre le domaine également.

Après avoir validé vous obtenez une nouvelle entrée dans la liste des comptes :

Listes de comptesSi vous avez accès à d’autres agendas à partir de ce compte Google calendar, vous pouvez utiliser l’onglet délégation pour ajouter ces agendas supplémentaire à iCal.

Vous pouvez désormais utiliser votre agenda aussi bien sous iCal que sous Google. Si vous disposez d’un ancien agenda sous iCal vous pouvez l’exporter au format ics (menu fichier/exporter) pour l’importer das votre nouvel agenda via iCal et le menu Fichier/Importer. Les modifications seront répliquées vers Google Calendar.

Préparation de votre compte Google Apps pour l’iPhone

Cette étape est nécessaire si vous utilisez un compte Google Apps (pour un compte Goggle classique vous pouvez passer au paragraphe suivant). Vous devez configurer votre compte Google Apps pour supporter le push  vers l’iPhone. Pour cela vous devez vous rendre dans le tableau de bord de votre compte Google Apps (en tant qu’administrateur Google Apps) et passer en mode “nouvelle génération” du panneau de configuration dans les paramètres du Domaine.

Panneau de configuration Google AppsCette action basculera votre interface d’administration en anglais (mais pas le tableau de bord et les applications de vos utilisateurs qui devrait rester en Français).

L’option permet d’accéder aux paramètre de configuration des mobiles. Vous pouvez désormais accéder au menu “Service Settings / Mobile”. Dans cette page cochez “Enable Google Sync” et validez pour pouvoir configurer vos iPhone afin qu’ils se synchronisent avec Calendar et Contact.

Configuration de l’iPhone

Les manipulations suivantes vont écraser vos données d’agenda sur votre iPhone, donc avant tout faites une sauvegarde.

Nous allons un créer un compte pour exploiter le service Google Sync qui se comporte du point de vue de l’iPhone comme un serveur Exchange. Bien que nous créions un compte mail iPhone, celui-ci ne pourra pas servir à récupérer vos mails Google pour le moment : le service Google Sync ne supporte pour l’instant que l’agenda et les contacts. Pour la messagerie, on devra créer un autre compte classique dans l’iPhone (soit Gmail, soit imap3 pour Google Apps).

Rendez-vous dans la configuration de l’iPhone dans la rubrique “Mails, Contacts, Calendrier” et ajoutez un nouveau compte en sélectionnant “Ajouter un compte”.

choix de compte

Choisissez Microsoft Exchange comme type de compte. Vous arrivez sur le formulaire suivant :

Config 1

Saisissez les informations de votre compte Google. Le nom d’utilisateur doit inclure votre domaine si vous configurez votre iPhone pour Google Apps. Une fois vos paramètres saisis cliquez sur “Suivant”. L’iPhone part dans une vérification (pouvant durer plusieurs minutes) du compte “Exchange”. A l’issue de cette étape vous serez probablement invité à saisir l’adresse du serveur “Exchange”. Il s’agit de “m.google.com” pour ce qui nous concerne. Saisissez l’adresse et tapez sur “suivant”

config 2

Le dernier écran vous permet de choisir les éléments à synchroniser. Désactivez “Courrier” (sinon le compte ne fonctionnera pas) et contacts (pour l’instant. nous l’activerons plus tard si vous le souhaitez dans la suite du tutoriel)

config 3

Après avoir choisi “terminé” vous avez activé la synchronisation entre votre agenda Google et votre iPhone. Si vous disposez de plusieurs agendas dans votre compte Google, vous pouvez maintenant choisir précisément quels agenda synchroniser avec votre iPhone.

Choix des Agendas délégués à synchroniser

A partir de l’OS 3.0 de l’iPhone, vous pouvez synchroniser jusqu’à 25 agendas avec votre joujou. Pour choisir les agendas Google que vous souhaitez synchroniser pour un compte Google standard, rendez-vous avec votre iPhone sur http://m.google.com/sync. Si vous êtes en Français, vous allez être accueilli par une page disant que votre matériel n’est pas compatible.  Cliquez sur “changer de langue” en bas de l’écran pour passer en anglais, et magie… votre appareil est maintenant compatible. Il ne reste plus qu’à vous identifier.

Google Sync

Si vous configurez un compte Google Apps, vous devrez d’abord configurer votre domaine sur http://m.google.com ou via l’application gratuite Google pour l’iPhone, puis passer votre interface en anglais également. Votre interface s’enrichit de nouvelles icônes dont “sync” :

Panneau Google Apps

Cliquez dessus, vous arrivez sur un écran vous invitant à vous identifier (comme pour le compte Gmail standard). Après vous être identifié, vous arrivez sur la liste des appareils à synchroniser. Sélectionnez l’appareil. Il ne vous reste plus qu’à choisir les agendas que vous souhaitez synchroniser.

choix des calendriers

Et voilà.

Et les contacts

La synchronisation des contacts entre Google et l’iPhone est impeccable. Il suffit de retourner dans les préférences du compte Exchange, créé précédemment sur l’iPhone et d’ajouter l’option de synchronisation des contacts. L’activation de cette option va effacer les contacts existants sur votre iPhone donc assurez vous avant de le faire que tous vos contacts sont bien dans le carnet d’adresse sur votre Mac ou dans Google contact.

Le point un peu délicat, c’est la synchro entre le carnet d’adresses du Mac et Google. Cette synchronisation va s’opérer avec l’application iSync de MacOS X. Donc la première étape est de lancer iSync (dans le dossier Applications) et de le configurer (via les préférences) pour afficher l’icône de synchronisation dans la barre des menus :

configuration iSync

Après cela, vous pouvez fermer iSync et entrer dans les préférences du carnet d’adresses. Sur l’onglet général vous allez cocher la synchronisation avec Google et paramétrer votre compte Gmail ou Google apps comme ci-dessous :

Préférences Carnet d'adressesaprès avoir valider ces préférences, on devrait en principe pouvoir synchroniser avec iSync via la barre de menu et le choix “synchroniser”, cependant, le module de synchronisation Google est mal configuré, il est en mode “app” et ne peut pas déclencher la synchronisation d’iSync. La solution est de la passer en mode serveur.

Ouvrez une fenêtre Terminal et tapez la commande suivante :

sudo defaults write /System/Library/PrivateFrameworks/GoogleContactSync.framework/Resources/ClientDescription Type 'server'

Le système vous demande votre mot de passe (vous devez avoir les droits d’administrateurs sur le Mac) puis effectue la modification. Vous devez ensuite rétablir les droits que votre commande vient de modifier en tapant la commande suivante:

sudo chmod 644 /System/Library/PrivateFrameworks/GoogleContactSync.framework/Resources/ClientDescription.plist

(Merci à Marco Jung pour cette solution plus élégante que d’activer la synchronisation Exchange)

Lancement automatique d’iSync

iSync ne permet pas d’automatiser la synchronisation : vous devez la lancer à la main en cliquant sur “synchroniser”. Si vous souhaitez automatiser cette tâche, il suffit de rajouter une entrée dans la crontab de votre Mac.

Pour ce faire, lancez un terminal puis la commande crontab -e

Cette commande lancée, vous entrez dans le monde merveilleux de vi. Pour entrer en mode édition tapez i, la mention “INSERT” devrait apparaître en bas de la fenêtre.

Saisissez ensuite l’entrée suivante :

30 * * * * osascript -e 'tell application "iSync" to synchronize'

qui lancera iSync toute les heures à la demi. Pour sauvegarder appuez sur la touche escape puis saisissez :wq et validez pour ecrire  les modifications et sortir de vi.

Voilà, votre synchro est fin prête.

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Netvibes
  • Twitter
  • sycophante
    Oh pardon je n'avais pas vu la réponse, ça m'apprendra à aller trop vite ! :) Désolé ! :)
  • sycophante
    Bonjour, merci pour ces infos.

    Est-ce que je pourrai avoir une ligne de commande du terminal pour annuler la synchronisation automatique ? Merci d'avance !
  • pierre
    Bonjour

    J'ai un petit problème !

    quand mon mac arrive a la demi heure isync démarre dans dock
    et m'indique qu'il n'y a pas d'appareil à synchroniser donc n'effectue pas la syncro !!

    Mais si je clique sur l'icone en haut à gauche, la syncro marche !!

    Aurez tu une idée ???

    Merci d'avance.
  • J'ai rencontré ce problème sur une machine qui avait eu un dispositif à synchroniser par le passé et qu'il ne l'avait plus. Je n'ai pour l'instant pas de solution à ce problème.
    Je reviendrai sur l'article pour faire une mise à jour sur ce genre de problème et sur l'apport de Snow Leopard sur le sujet.
    En attendant, j'ai bien peur qu'il faille désactiver la synchro automatique (retrer la tâche dans cron) et synchroniser à la main.
  • pierre
    J'ai la machine depuis 1 moi !
    Suis un nouveau MacUser!!

    Jamais fais de syncro avant
    J'ai juste branché mon Iphon pour faire apparaitre l'option syncro google !!

    Merci pour le retour d'info futur.
  • madmatt_01
    Bonjour, J'ai fait toute les manipulations comme indiquez ci-dessus, avec succès, Maintenant j'aimerai pouvoir arrêter la synchro automatique de Isync par le terminal.
    Merci de m'indiquer la démarche à suivre.
  • désolé pour la réponse tardive (c'est l'effet mois d'août). Pour enlever une têche "cron" il suffit de taper à nouveau la commande "crontab -e", de rentrer en mode insertion avec la touche "i", de supprimer la ligne, de sortir du mode édition avec escape, puis de sauvegarder ":write" et quitter ":quit".
  • Nom
    Merci pour la réponse.

    à bientôt
blog comments powered by Disqus