Ceci est une ancienne révision du document !
Table des matières
Migration Baïkal → Nextcloud (calendriers & contacts)
Migration d'un serveur Baïkal (CalDAV/CardDAV) vers une instance Nextcloud existante, avec reconfiguration des clients Android via DAVx⁵.
1. Export depuis Baïkal
Le script exporte le calendrier et le carnet d'adresses default.
Le script
Copier le contenu ci-dessous dans un fichier baikal-export-user.sh :
- baikal-export-user.sh
#!/usr/bin/env bash # Export Baïkal (calendrier + contacts) pour UN utilisateur. # Usage : ./baikal-export-user.sh # Sortie : ./baikal-export/<user>/cal-default.ics et contacts-default.vcf set -u BASE="https://dav.beafrancois.fr/dav/html" # <-- adapter au serveur Baïkal OUT="./baikal-export" read -r -p "Nom d'utilisateur Baïkal : " USER read -r -s -p "Mot de passe pour $USER : " PASS; echo DIR="$OUT/$USER"; mkdir -p "$DIR" AUTH=(--digest -u "$USER:$PASS") ## --- CALENDRIER (default) --- F="$DIR/cal-default.ics" curl -s "${AUTH[@]}" "$BASE/cal.php/calendars/$USER/default/?export" -o "$F" if head -1 "$F" | grep -q BEGIN:VCALENDAR; then N=$(grep -c BEGIN:VEVENT "$F") echo "[OK] Calendrier : $N événements -> $F" else echo "[!] Calendrier : export invalide (mauvais mot de passe ?) -> $F" fi ## --- CONTACTS (default) --- F="$DIR/contacts-default.vcf" : > "$F" EXPECTED=0 while read -r P; do [ -z "$P" ] && continue EXPECTED=$((EXPECTED+1)) curl -s "${AUTH[@]}" "https://dav.beafrancois.fr$P" >> "$F" echo "" >> "$F" done < <(curl -s "${AUTH[@]}" -X PROPFIND -H "Depth: 1" \ "$BASE/card.php/addressbooks/$USER/default" \ | tr -d '\r' \ | grep -o "/dav/html/card.php/addressbooks/$USER/default/[^<]*vcf") GOT=$(grep -c BEGIN:VCARD "$F") if [ "$GOT" -eq "$EXPECTED" ] && [ "$GOT" -gt 0 ]; then echo "[OK] Contacts : $GOT/$EXPECTED -> $F" else echo "[!] Contacts : $GOT récupérés sur $EXPECTED listés -> $F" fi
Exécution
Lancer le script une fois par utilisateur :
chmod +x baikal-export-user.sh ./baikal-export-user.sh
Le script demande le nom d'utilisateur puis le mot de passe (baikal).
Les fichiers calendrier et carnet sont créés :
baikal-export/<utilisateur>/cal-default.ics baikal-export/<utilisateur>/contacts-default.vcf
Le script affiche le nombre d'événements et de contacts récupérés.
Si la sortie affiche [!], l'export a échoué (mot de passe erroné en général). Ne pas continuer avec un fichier invalide.
2. Import dans Nextcloud
Pour l'utilisateur, connecté avec son compte Nextcloud :
- Calendrier : application Calendar →
Paramètres(en bas à gauche) →Importer un calendrier→ sélectionnercal-default.ics→ cible : calendrier « Personnel » ou un nouveau calendrier - Contacts : application Contacts →
Paramètres→Importer des contacts→ sélectionnercontacts-default.vcf
Vérifier que les compteurs correspondent aux chiffres notés à l'export.
3. Configuration Android (DAVx⁵)
Suppression de l'ancien compte Baïkal
Supprimer l'ancien compte avant d'ajouter le nouveau, sinon doublons d'événements et de contacts sur le téléphone.
Dans DAVx⁵ → ouvrir le compte Baïkal → menu ⋮ → Supprimer le compte.
Ajout du compte Nextcloud
- DAVx⁵ →
+→Connexion avec Nextcloud - suit une étape d'authentification qu'il suffit de compléter
- Sélectionner les calendriers (détectés automatiquement) et le carnet d'adresses à synchroniser
- Lancer une synchronisation manuelle et vérifier dans les applis Agenda et Contacts du téléphone
