Thanks you very much for the help !
I've try your configuration and it seems to be a good start.

I've added this because my ical certificate is auto-signed :
syncevolution --configure \
--sync-property SSLVerifyServer=false \
google@ical calendar

However it not seems to work. Some events were created in google calendar but not in the ical one.
There is a lot of errors of that sort :
[INFO] @ical/calendar: received 117
[INFO] @ical/calendar: added 5, updated 0, removed 0
[INFO] adding "Test event"
[ERROR] error code from SyncEvolution access denied (remote, status 403): PUT: bad HTTP status: <status 1.1, code 403, class 4, Forbidden>
[INFO] @ical/calendar: received 118
[INFO] adding "Test event 2"
[ERROR] error code from SyncEvolution access denied (remote, status 403): PUT: bad HTTP status: <status 1.1, code 403, class 4, Forbidden>

The full log here : http://pastebin.com/UGc97gC1

Fabien

Le 31/01/13 15:27, Patrick Ohly a écrit :
On Thu, 2013-01-31 at 13:55 +0100, HESPUL - Fabien MICHEL wrote:
Hello,

I'm seeking for a way to have two caldav calendars on differents servers 
synced each other.

In my case, it concern a calendar on Google calendar and a calendar on 
an Apple ical server.
They both support caldav protocol.

Do you think syncevolution be able to do this ?
Yes, that might be doable, although it has not been tested.

Follow the steps in the README for configuring an @ical context where
you access the iCal server. Something like this:

   syncevolution --configure \
                databaseUser=123456 \
                "databasePassword=!@#ABcd1234" \
                backend=caldav \
                database=http://example.com/calendar/123456/ \
                @ical \
                calendar

Then also configure a source for Google calendar:

  syncevolution --configure \
                databaseUser=john.doe@googlemail.com \
                "databasePassword=!@#ABcd1234" \
                backend=caldav \
                database=https://www.google.com/calendar/dav/john.doe@googlemail.com/user/?SyncEvolution=Google \
                @google-calendar \
                calendar

Finally, set up a sync config and sync:

  syncevolution --configure \
                peerIsClient=1 \
                syncURL=local://@google-calendar \
                uri=calendar \
                sync=two-way \
                google@ical calendar

  syncevolution --sync slow google@ical calendar
  syncevolution google@ical calendar

In this setup, the "local" side that gets mentioned in the output is the
iCal data. I've chosen to do it this way around because accessing and
modifying data in Google is often more complicated due to various
workarounds for Google quirks, and data access is more frequent on the
server side.

Note that I have not tested this. What could ruin the whole concept is
that Google insists on frequent updates of the SEQUENCE property of an
event. I am not sure how well the iCal side will tolerate that.