3 points par GN⁺ 2026-01-12 | 1 commentaires | Partager sur WhatsApp
Publicité
  • Un outil open source qui permet de télécharger directement en ligne de commande les photos d’un compte iCloud
  • Fonctionne sur les principaux systèmes d’exploitation, dont Linux, Windows et macOS, avec installation via Docker, PyPI, AUR et npm
  • Propose trois modes de fonctionnement, Copy, Sync et Move, avec prise en charge des Live Photos, des images RAW et des métadonnées EXIF
  • Offre diverses options comme la déduplication automatique, la surveillance continue des changements et l’optimisation des exécutions incrémentales
  • Distribué sous licence MIT et actuellement à la recherche d’un maintainer

Aperçu du projet

  • iCloud Photos Downloader est un outil en ligne de commande permettant de rapatrier sur un système local les photos stockées dans iCloud
    • Il peut télécharger l’ensemble de la photothèque iCloud ou ne synchroniser que les changements
    • Il est développé et maintenu par une communauté de bénévoles, qui recherche de nouveaux contributeurs
  • Distribué sous licence MIT, il peut être utilisé et modifié librement
  • Sur GitHub, le projet compte plus de 10k étoiles et 705 forks

Plateformes prises en charge et modes de distribution

  • Compatibilité système : prise en charge de Linux, Windows, macOS et des environnements NAS
  • Canaux de distribution :
    • Image Docker
    • Package PyPI
    • AUR d’Arch Linux
    • Package npm
  • Il est possible de télécharger directement les exécutables ou de compiler depuis le code source

Fonctionnalités principales

  • Trois modes de fonctionnement
    • Copy : télécharge uniquement les nouvelles photos (mode par défaut)
    • Sync : supprime aussi en local les photos supprimées d’iCloud (--auto-delete)
    • Move : supprime les photos d’iCloud après téléchargement (--keep-icloud-recent-days)
  • Formats pris en charge : Live Photos (enregistrement séparé de l’image et de la vidéo), RAW et RAW+JPEG
  • Options disponibles
    • Déduplication automatique des photos portant le même nom
    • Mode de surveillance continue (--watch-with-interval)
    • Optimisation des exécutions incrémentales (--until-found, --recent)
    • Modification des métadonnées EXIF (--set-exif-datetime)
  • La commande --help permet d’afficher l’ensemble des options

Installation et exécution

  • Méthodes d’installation
    1. Télécharger l’exécutable depuis la page des releases GitHub
    2. Installer via un gestionnaire de paquets (Docker, PyPI, AUR, npm)
    3. Compiler directement depuis le code source
  • Prérequis de configuration iCloud
    • Activer Access iCloud Data on the Web sur iPhone/iPad
    • Il faut désactiver Advanced Data Protection
  • Exemples d’utilisation
    • Exécuter une synchronisation :
      icloudpd --directory /data --username my@email.address --watch-with-interval 3600
      
    • Créer une session d’authentification :
      icloudpd --username my@email.address --password my_password --auth-only
      

Fonctionnalités expérimentales et état du développement

  • Certaines fonctionnalités sont d’abord ajoutées en Experimental Mode avant d’être validées puis intégrées officiellement
  • La release la plus récente est v1.32.2 (2 septembre 2025)
  • L’objectif est de publier une nouvelle version une fois par semaine (le vendredi)
  • Les commits récents incluent notamment la prise en charge de configurations multi-utilisateurs, des correctifs pour les builds non Linux et des améliorations de l’environnement de test

Contribution et communauté

  • Les développeurs externes peuvent participer via les guidelines de contribution (CONTRIBUTING.md)
  • 42 contributeurs ont participé au code, avec également l’usage d’outils d’automatisation comme Dependabot
  • Le projet recrute actuellement un maintainer
  • La documentation officielle et les discussions ont lieu sur GitHub Discussions

1 commentaires

 
GN⁺ 2026-01-12
Avis sur Hacker News
  • Je suis le créateur de Photos Backup Anywhere. En analysant Apple Photos, ce qui m’a surpris, c’est que les seuls fichiers sur le disque ne suffisent pas à représenter l’état complet
    Les albums, Live Photos, rafales, ralentis, historiques de modification, changements de date de prise de vue, etc. sont gérés séparément, et la plupart des outils de sauvegarde ne parviennent pas à les reconstituer correctement lors de la restauration
    J’ai donc choisi de considérer Photos lui-même comme la source de vérité et de vérifier la restauration sur cette base
    Cet outil restaure intégralement les albums et tous les types de photos, tout en conservant l’emplacement, la date de création et la date de modification
    La page du projet est ici : photosbackup.app

    • Quand je transfère des photos depuis mon iPhone, je copie avec l’app « Image Capture » par tranches de 0 à 9999. Au-delà de 10 000 photos, le nom des fichiers repart en 00001(1), ce qui est pénible
      Mon MacBook a peu d’espace SSD et je ne veux pas passer par iCloud, donc je me demande s’il existe un moyen d’exporter directement les originaux RAW/JPEG/Live/Vidéo vers un disque externe
    • Extraire les photos d’un vieux téléphone Android a été une véritable expérience cauchemardesque. Si l’interface ne s’affiche pas correctement, on finit par dépendre d’outils qui ratissent tout le disque
    • Est-ce que la sauvegarde vers un stockage compatible S3 (par ex. Backblaze B2) est prévue ?
    • As-tu déjà regardé Parachute Backup ? Eux aussi affirment pouvoir sauvegarder les données complexes d’iPhotos
  • Ce projet est vraiment génial. Il pourrait peut-être remplacer l’app iCloud pour Windows
    J’ai moi aussi environ 2 To de données iCloud, mais mon MacBook manque d’espace et je garde une bibliothèque Photo séparée sur un disque externe
    L’app iCloud pour Windows télécharge en permanence à 50 Mo/s, mais quand j’ouvre les dossiers, la plupart des éléments sont encore en mode « disponible uniquement en ligne »
    J’ai actuellement récupéré environ 944 Go, mais il faudra encore du temps avant que tout soit terminé
    Je me demande s’il existe un visualiseur photo alternatif sous Windows qui affiche correctement les HEIC et les Live Photos

  • Il existe Parachute, un programme payant réservé à macOS. Il peut télécharger toutes les photos et tous les fichiers d’une bibliothèque iCloud
    Lien App Store

    • Sur iOS, PhotoSync est aussi pas mal. Il peut envoyer les photos vers un NAS ou des services distants comme B2
    • La version desktop de Parachute est stable, mais la version iOS n’arrive pas à terminer dans la nuit une sauvegarde incrémentale d’une bibliothèque de 1 To
      Elle exporte les originaux, mais n’inclut pas les fichiers AAE. À l’inverse, PhotoSync a le défaut de ne pas proposer de fonction de restauration
    • J’ai demandé si c’était compatible avec les comptes ADP, mais je n’ai pas reçu de réponse. Je me demande aussi s’il existe une solution de téléchargement valable pour les comptes ADP
    • J’aimerais aussi savoir si sa sécurité peut être vérifiée du point de vue de la vie privée, et s’il existe une alternative pour Windows
  • Étonnamment, il n’existe aucune méthode officielle pour télécharger toutes les photos d’iCloud d’un seul coup (environ 400 Go)
    À la place, on peut récupérer toute sa photothèque iCloud avec un outil en ligne de commande open source

    • En réalité, sur Mac ou iPhone, on peut tout télécharger en choisissant « Télécharger les originaux » dans les réglages de la photothèque iCloud
    • Si vous êtes dans l’UE, vous pouvez demander toutes les données qu’Apple détient sur vous via privacy.apple.com
    • Dans l’app Photos sur Mac, on peut exporter les originaux avec Cmd+A > File > Export Unmodified Originals
    • C’est peut-être voulu par Apple pour éviter que les utilisateurs partent. Rendre la migration des photos difficile ressemble à une stratégie de verrouillage
  • J’ai sauvegardé une bibliothèque partagée il y a quelques jours, avec environ 10k photos et vidéos (300 Go)
    Récupération de la bibliothèque iPhoto → export fractionné par année → déplacement vers un HDD externe → définition de la bibliothèque externe comme bibliothèque par défaut, puis resynchronisation avec iCloud
    La connexion Ethernet filaire et la fonction Repair ont été d’une grande aide

    • Je me demande quelle est la différence avec le fait de déplacer simplement le fichier Photos Library vers un HDD externe et d’indiquer ce chemin dans Photos.app
  • Moi, j’utilise la combinaison usbmuxd + ifuse pour copier directement les fichiers photo depuis l’iPhone
    Sans attendre un upload ou un téléchargement, je le connecte directement par câble pour récupérer les originaux, et je peux même les déplacer afin de libérer de l’espace

    • Je me demande si cette méthode fonctionne sur tous les iPhone. Peut-on monter le dossier DCIM en USB et obtenir aussi les droits en écriture ?
  • J’utilise un petit script shell pour télécharger régulièrement mes photos iCloud
    J’utilise le conteneur icloudpd/icloudpd:latest pour stocker les originaux selon une structure de dossiers

    • Mais utiliser tel quel le tag latest est risqué. Ce n’est pas une bonne idée de confier ses identifiants iCloud à une image non vérifiée. Il est plus sûr d’épingler une version ou un hash précis
  • Notre famille produit environ 2 To de médias par an, soit autour de 12 To au total
    La fonction Souvenirs d’iCloud est sympa, mais 60 $ par mois, c’est trop cher, donc voici ce que nous faisons

    • sauvegarde des photos de plusieurs comptes vers un stockage local avec docker-icloudpd
    • conservation dans iCloud des deux années les plus récentes seulement, le reste étant stocké en local
    • exploration et recherche des anciennes photos avec Immich. C’est auto-hébergé, mais l’expérience de l’app est excellente
      Un disque local rapide (par ex. OWC 4M2 + SSD M.2) est important. Un NAS à base de HDD est lent
      Lien GitHub de docker-icloudpd
    • Je me demande s’il y a des fonctions de Photos qui te manquent dans Immich. Je suis sur Android, donc Immich seul me suffit largement
  • Dans iCloud Photos.app, certaines photos n’apparaissent pas, mais elles sont visibles dans Photometor.app (propriété d’Apple)
    Je ne comprends pas pourquoi elles n’apparaissent pas dans Photos.app, et c’est frustrant

  • Je trouve dommage qu’Apple n’autorise presque aucune intégration tierce
    J’aimerais synchroniser automatiquement les photos d’un album donné avec le cadre photo de mes parents ou une Samsung Frame TV, mais ce type de fonction est bloqué
    Avec juste un peu plus d’ouverture, il y aurait sûrement des usages innovants possibles

    • Moi, j’ai résolu ce problème avec PhotoSync. Je définis des règles de synchronisation par album pour des transferts automatiques