iCloud Photos Downloader
(github.com/icloud-photos-downloader)- 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
--helppermet d’afficher l’ensemble des options
Installation et exécution
- Méthodes d’installation
- Télécharger l’exécutable depuis la page des releases GitHub
- Installer via un gestionnaire de paquets (Docker, PyPI, AUR, npm)
- Compiler directement depuis le code source
- Prérequis de configuration iCloud
- Activer
Access iCloud Data on the Websur iPhone/iPad - Il faut désactiver
Advanced Data Protection
- Activer
- 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
- Exécuter une synchronisation :
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
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
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
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
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
É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
Cmd+A > File > Export Unmodified OriginalsJ’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
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
J’utilise un petit script shell pour télécharger régulièrement mes photos iCloud
J’utilise le conteneur
icloudpd/icloudpd:latestpour stocker les originaux selon une structure de dossiersNotre 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
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
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