Base de connaissances

1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !

Importer des données sur kDrive depuis iCloud

Mise à jour 03/07/2026

Ce guide explique comment importer des données iCloud Drive ou iCloud Photos vers kDrive Infomaniak à l'aide de rclone.

 

✘ INDISPONIBLE avec
kSuite gratuit / kSuite Standard
my kSuite / my kSuite+ (ik.me, etik.com, ikmail.com)


 

Préambule

  • Cette méthode s'adresse aux utilisateurs avertis qui souhaitent transférer des données iCloud vers kDrive sans passer par une copie manuelle fichier par fichier.
  • rclone permet de configurer une source iCloud Drive ou iCloud Photos, puis une destination kDrive via WebDAV.
  • L'accès iCloud avec rclone nécessite le mot de passe habituel de l'Apple ID et la double authentification Apple. Les mots de passe d'application Apple ne sont pas acceptés pour cette configuration.
  • L'authentification iCloud peut devoir être renouvelée périodiquement avec rclone reconnect ou rclone config.
  • La commande rclone copy copie les fichiers vers kDrive sans les supprimer de la source iCloud.

 

1. Installer rclone

rclone peut être installé en ligne de commande. Sur macOS, Linux ou BSD, ouvrez l'application Terminal et exécutez la commande suivante:

sudo -v ; curl https://rclone.org/install.sh | sudo bash

Prenez connaissance du guide officiel d'installation de rclone si nécessaire, notamment pour Windows ou pour une installation manuelle.

Une fois l'installation terminée, vérifiez que rclone répond correctement:

rclone version

 

2. Configurer la source iCloud dans rclone

  1. Dans Terminal, lancez la configuration de rclone:

    rclone config
  2. Choisissez n pour créer un nouveau disque distant (New remote).
  3. Donnez un nom explicite à cette source, par exemple:

    iCloudDrive
  4. Choisissez le type de stockage iclouddrive.
  5. Pour importer des documents stockés dans iCloud Drive, conservez le service par défaut drive.
  6. Pour importer des éléments depuis iCloud Photos, choisissez le service photos ou créez un second disque distant dédié, par exemple iCloudPhotos.
  7. Indiquez votre Apple ID, généralement une adresse e-mail.
  8. Choisissez d'entrer votre propre mot de passe, puis saisissez le mot de passe habituel de votre Apple ID.
  9. Répondez n à la configuration avancée, sauf besoin particulier.
  10. Validez la connexion depuis votre appareil Apple de confiance, puis saisissez le code de double authentification lorsque rclone le demande.
  11. Lorsque le récapitulatif est correct, répondez y pour enregistrer la configuration.

Vérifiez que la source iCloud est accessible:

rclone lsd iCloudDrive:

Si vous avez configuré une source dédiée à iCloud Photos, vérifiez-la également:

rclone lsd iCloudPhotos:

 

3. Configurer la destination kDrive dans rclone

kDrive doit être configuré dans rclone comme un stockage WebDAV.

  1. Relancez la configuration si vous n'êtes plus dans le menu rclone:

    rclone config
  2. Choisissez n pour créer un nouveau disque distant.
  3. Donnez un nom explicite à la destination, par exemple:

    kDrive
  4. Choisissez le type de stockage webdav.
  5. Pour l'URL, indiquez l'accès WebDAV direct à votre kDrive:

    https://ID_KDRIVE.connect.kdrive.infomaniak.com/
    • Remplacez ID_KDRIVE par l'identifiant de votre kDrive ; prenez connaissance de cet autre guide si nécessaire.
  6. Pour le fournisseur WebDAV (vendor), choisissez other.
  7. Pour l'utilisateur (user), indiquez l'adresse e-mail de connexion au compte utilisateur Infomaniak.
  8. Pour le mot de passe, indiquez:
    • un mot de passe d'application si la double authentification est activée sur le compte Infomaniak;
    • le mot de passe du compte utilisateur Infomaniak si la double authentification n'est pas activée.
  9. Laissez le bearer_token vide.
  10. Répondez n à la configuration avancée, sauf besoin particulier.
  11. Lorsque le récapitulatif est correct, répondez y pour enregistrer la configuration.

La configuration obtenue ressemble à ceci dans le fichier de configuration rclone:

[kDrive]
type = webdav
url = https://ID_KDRIVE.connect.kdrive.infomaniak.com/
vendor = other
user = user@example.com
pass = PASSWORD_STORED_BY_RCLONE

Le mot de passe affiché dans le fichier de configuration rclone n'est pas écrit en clair lorsque la configuration est réalisée avec rclone config. Si vous modifiez ce fichier manuellement, générez la valeur du champ pass avec la commande rclone obscure.

Vérifiez que la destination kDrive est accessible:

rclone lsd kDrive:

 

4. Copier les données iCloud vers kDrive

N'utilisez pas sudo pour les commandes de copie si la configuration rclone a été créée avec votre session utilisateur habituelle. Sinon, rclone risque de chercher une autre configuration et de ne pas retrouver les accès créés précédemment.

Avant de lancer une copie complète, listez les dossiers disponibles sur la source:

rclone lsd iCloudDrive:

Il est recommandé d'effectuer un test sans transfert réel avec --dry-run:

rclone copy iCloudDrive: kDrive:iCloudDrive --dry-run --progress

Si le résultat est correct, lancez la copie:

rclone copy iCloudDrive: kDrive:iCloudDrive --progress --transfers 4 --checkers 8 --retries 5 --low-level-retries 10 --log-level INFO --log-file "$HOME/Desktop/rclone-kdrive-import.log"

Cette commande copie les dossiers, sous-dossiers et fichiers de la source iCloudDrive: vers le dossier iCloudDrive de votre kDrive.

En cas d'interruption de la connexion ou de l'ordinateur, relancez la même commande. rclone reprend la comparaison et évite de recopier les fichiers déjà présents lorsque leur taille et leurs informations disponibles correspondent.

Pour vérifier la cohérence du volume copié, vous pouvez comparer la source et la destination par taille:

rclone check iCloudDrive: kDrive:iCloudDrive --size-only --one-way --progress

 

Copier des photos iCloud

Si vous avez configuré une source dédiée à iCloud Photos, listez d'abord les bibliothèques et dossiers disponibles:

rclone lsd iCloudPhotos:

Adaptez ensuite le chemin source selon l'arborescence affichée par rclone. Exemple:

rclone copy iCloudPhotos: kDrive:iCloudPhotos --dry-run --progress

Puis lancez la copie si le résultat du test est correct:

rclone copy iCloudPhotos: kDrive:iCloudPhotos --progress --transfers 4 --checkers 8 --retries 5 --low-level-retries 10 --log-level INFO --log-file "$HOME/Desktop/rclone-kdrive-photos.log"

 

5. Corriger les dates des photos si nécessaire

Après une exportation ou une copie de photos, les dates système des fichiers peuvent ne plus correspondre à la date originale de prise de vue. Si l'affichage chronologique n'est pas correct, vous pouvez corriger les dates sur une copie locale des fichiers avant de les envoyer définitivement dans kDrive.

Travaillez toujours sur une copie locale des fichiers avant d'exécuter un script de correction. Le script ci-dessous ne s'exécute pas directement sur une source distante rclone: il traite un dossier présent sur l'ordinateur.

Pour préparer un dossier local à corriger, copiez par exemple les photos dans un dossier temporaire sur le bureau:

rclone copy iCloudPhotos: "$HOME/Desktop/iCloud-Photos" --progress

Installez ensuite ExifTool depuis https://exiftool.org/index.html, puis exécutez le script ci-dessous sur macOS depuis l'application Terminal.

Le script recherche une date dans les métadonnées du fichier, puis dans son nom. Les fichiers corrigés sont listés dans DateFound.txt et les fichiers sans date exploitable dans DateError.txt, sur le bureau.

Le script à copier-coller entièrement:

/bin/bash <<'BASH'
#!/bin/bash
set -u

ROOT="$(osascript -e 'POSIX path of (choose folder with prompt "Select the folder containing the files to update")')" || exit 0

DESKTOP="$HOME/Desktop"
LOG_FOUND="$DESKTOP/DateFound.txt"
LOG_ERROR="$DESKTOP/DateError.txt"
: > "$LOG_FOUND"
: > "$LOG_ERROR"

find_exiftool() {
    if command -v exiftool >/dev/null 2>&1; then
        command -v exiftool
        return 0
    fi
    if [ -x "/usr/local/bin/exiftool" ]; then
        printf '%s\n' "/usr/local/bin/exiftool"
        return 0
    fi
    if [ -x "/opt/homebrew/bin/exiftool" ]; then
        printf '%s\n' "/opt/homebrew/bin/exiftool"
        return 0
    fi
    return 1
}

EXIFTOOL="$(find_exiftool)" || {
    printf '%s\n' "ExifTool not found. Install it, then run the script again." >> "$LOG_ERROR"
    printf '%s\n' "ExifTool not found. Check DateError.txt on the desktop."
    exit 1
}

if [ ! -d "$ROOT" ]; then
    printf 'Invalid folder: %s\n' "$ROOT" >> "$LOG_ERROR"
    printf '%s\n' "Invalid folder. Check DateError.txt on the desktop."
    exit 1
fi

get_exif_date() {
    "$EXIFTOOL" -s3 -d "%Y:%m:%d %H:%M:%S" -DateTimeOriginal -CreateDate -MediaCreateDate -TrackCreateDate -CreationDate -ModifyDate -- "$1" 2>/dev/null | awk '/^[0-9]{4}:[0-9]{2}:[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}/ { print substr($0, 1, 19); exit }'
}

get_name_date() {
    local name
    name="$(basename "$1")"
    if [[ "$name" =~ ([12][0-9]{3})[-_]?([01][0-9])[-_]?([0-3][0-9])([_\ -]?([0-2][0-9])[-_\.]?([0-5][0-9])[-_\.]?([0-5][0-9]))? ]]; then
        local year="${BASH_REMATCH[1]}"
        local month="${BASH_REMATCH[2]}"
        local day="${BASH_REMATCH[3]}"
        local hour="12"
        local minute="00"
        local second="00"
        if [ -n "${BASH_REMATCH[5]:-}" ]; then
            hour="${BASH_REMATCH[5]}"
            minute="${BASH_REMATCH[6]}"
            second="${BASH_REMATCH[7]}"
        fi
        printf '%s:%s:%s %s:%s:%s\n' "$year" "$month" "$day" "$hour" "$minute" "$second"
        return 0
    fi
    return 1
}

is_valid_date() {
    date -j -f "%Y:%m:%d %H:%M:%S" "$1" "+%Y:%m:%d %H:%M:%S" >/dev/null 2>&1
}

to_touch_date() {
    printf '%s' "$1" | sed -E 's/^([0-9]{4}):([0-9]{2}):([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})$/\1\2\3\4\5.\6/'
}

write_metadata() {
    local file="$1"
    local date_value="$2"
    "$EXIFTOOL" -overwrite_original "-DateTimeOriginal=$date_value" "-CreateDate=$date_value" "-ModifyDate=$date_value" -- "$file" >/dev/null 2>&1 || true
}

process_file() {
    local file="$1"
    local date_value=""
    local source=""

    date_value="$(get_exif_date "$file")"
    if [ -n "$date_value" ]; then
        source="EXIF"
    else
        date_value="$(get_name_date "$file")"
        if [ -n "$date_value" ]; then
            source="file name"
        fi
    fi

    if [ -n "$date_value" ] && is_valid_date "$date_value"; then
        local touch_value
        touch_value="$(to_touch_date "$date_value")"

        if [ "$source" != "EXIF" ]; then
            write_metadata "$file" "$date_value"
        fi

        if touch -t "$touch_value" "$file" 2>/dev/null; then
            printf '%s | %s | %s\n' "$source" "$date_value" "$file" >> "$LOG_FOUND"
        else
            printf 'Unable to update file date: %s\n' "$file" >> "$LOG_ERROR"
        fi
    else
        printf 'No valid date found: %s\n' "$file" >> "$LOG_ERROR"
    fi
}

while IFS= read -r -d '' file; do
    case "$file" in
        *.json|*_original) continue ;;
    esac
    process_file "$file"
done < <(find "$ROOT" -type f -print0)

printf '%s\n' "Done. Check DateFound.txt and DateError.txt on the desktop."
BASH

Après correction, envoyez le dossier local corrigé vers kDrive:

rclone copy "$HOME/Desktop/iCloud-Photos" kDrive:iCloudPhotos --progress --transfers 4 --checkers 8 --retries 5 --low-level-retries 10

 

6. Accéder aux données depuis kDrive

Une fois la copie terminée, vos données sont accessibles depuis l'app Web kDrive, les apps mobiles kDrive et les appareils synchronisés avec l'app desktop kDrive.

Si vous utilisez également l'app desktop kDrive, patientez jusqu'à la fin de la synchronisation locale avant de déplacer ou renommer les dossiers importés.

Lien vers cette FAQ: https://faq.infomaniak.com/2515


Cette FAQ a été utile?