Zimbra ne permet pas de récupérer facilement un calendrier pour l’importer dans un autre outil (on peut récupérer manuellement un fcihier ics). Heureusement il existe un moyen de contourner cela.

Le lien ci-dessus explique très bien ce qu’il faut faire. Je reproduis simplement les grandes lignes et mes petis ajouts.

Il faut avoir un serveur web sur lequel placer un fichier php. Si le serveur web sert les pages par https c’est encore mieux.

<?php
header('Content-Type: text/calendar');
$ch = curl_init('https://mail.example.com/home/user%40example.com/Calendar');
curl_setopt($ch, CURLOPT_USERPWD, 'user@example.com:your-password-goes-here');
curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
?>

Pour pouvoir utiliser le service plus facilement j’ai créé une image docker qui pourra être utilisée avec rancher.

Il suffit de passer en variable d’environnement l’url, le login et le mot de passe du calendrier zimbra. En se connectant sur le serveur web on récupère le fichier .ics. En amélioration on peut modifier l’adresse du script comme préconisé dans la documentation d’origine.

Dans rancher il faut créer trois nouveaux secrets pour les variables d’environnement. Ensuite il faut créer l’image pour le service, donner l’url de l’image docker, ajouter les trois secrets et enfin dans les varaibles d’environnement pointer vers les secrets crées. Les variables d’environnement doivent être de la forme LOGIN_FILE et pointer vers /run/secrets/login. Il faut le faire à la main car rancher-compose ne supporte pas encore les secrets.