====== 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'' : #!/usr/bin/env bash # Export Baïkal (calendrier + contacts) pour UN utilisateur. # Usage : ./baikal-export-user.sh # Sortie : ./baikal-export//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 : 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//cal-default.ics baikal-export//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électionner ''cal-default.ics'' → cible : calendrier « Personnel » ou un nouveau calendrier - **Contacts** : application //Contacts// → ''Paramètres'' → ''Importer des contacts'' → sélectionner ''contacts-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'' - URL : ''https://nuage.beafrancois.fr/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