En visitant ce site, vous acceptez le fait que nous utilisons des cookies.
Accept
Akril.netAkril.net
  • Apple
  • Cloud
    • Amazon AWS
    • Google Cloud Platform
    • Microsoft Azure
  • Google
  • Microsoft
    • Microsoft Azure
    • Microsoft Office
    • Microsoft Office 365
    • Microsoft SQL Server
    • Microsoft System Center
    • Microsoft Windows
    • Microsoft Windows Server
    • PowerShell
  • Linux
  • Sécurité
    • Varonis
  • Geek
    • Bitcoin
    • Citrix
    • Hardware
    • Jeux-vidéo
    • Logiciels et Applications
    • Photographie
    • Raspberry Pi
    • Smartphone
    • Virtualisation
    • Web
    • VMware
  • English
  • A propos
  • Contact
    • Annonceurs
Notification Show More
Latest News
CyberSecurity-Logo
BreachForums : le plus gros vendeur de données illégales en ligne, arrêté par le FBI
Sécurité
Carte-Sim-Logo
Après la nano-SIM, la eSIM s’apprête à remplacer la iSIM
Smartphone
UK-Flag
Disparition de WhatsApp et Signal au Royaume-Uni
Web
Headsets-Logo
Test des casques Nuroum HP20 et Plantronics Blackwire 5220
Hardware
Pourquoi louer un studio photo pour un shooting en famille ?
Photographie
Akril.netAkril.net
Recherche
Follow US
AKRIL.NET - Copyright © 2006-2023. All Rights Reserved.
Akril.net > Apple > Récupérer et classer vos photos iCloud en PowerShell
ApplePowerShell

Récupérer et classer vos photos iCloud en PowerShell

thibault
Dernière mise à jour : 13/11/2022
par thibault Published 24 août 2019
Partager
7 Min Read
Partager
Récupérer et classer vos photos iCloud en PowerShell
Récupérer et classer vos photos iCloud en PowerShell

Récupérer ses données iCloud

Apple propose un portail dédié permettant de récupérer toutes ses données hébergées sur iCloud. Le fonctionnement est simple, il vous suffit de vous connecter sur l’URL suivante et de vous identifier : https://privacy.apple.com/account.

Une fois que c’est fait, vous pourrez choisir les services pour lesquels vous souhaitez récupérer vos données (en fonction l’attente sera plus longue).

iCloud - Data and Privacy
iCloud – Data and Privacy

Pour ma part, j’étais intéressé uniquement les photos de ma Galerie et mes Notes. La taille à récupérer pouvant être conséquente, vous devrez également définir le poids unitaire de chaque fichier ZIP à récupérer. En gros, si vous avez 10 Go de données à récupérer, Apple va les répartir dans 2 fichiers Zip de 5 Go (c’est-ce que j’ai pris).

Qu’obtenons-nous d’Apple ?

Après quelques jours d’attente, j’ai reçu un email d’Apple et 4 fichiers ZIP à récupérer : Photos iCloud Lot 1 sur 4. L’ensemble pesait un peu plus de 16 GB une fois décompressé.

Données extraites de iCloud
Données extraites de iCloud

Seul problème – comme tous les fournisseurs de services, vous pouvez récupérer vos fichiers certes mais sans conserver votre arborescence avec les dossiers ou les albums que vous aviez créé sur vos terminaux. Bref, vous avez plein de photos en pagaille. 🙁

Cela me rappelle un peu le backup que l’on peut faire de sa boîte Gmail et Google qui fournit un fichier avec une extension spécifique « MBOX » qui ne peut pas être lu facilement par Outlook, Thunderbird ou la plupart des outils de messagerie… 🙁

Le premier fichier ZIP contient donc plusieurs dossiers :

  • Albums and Favorites (Fichiers CSV correspondant à mes Albums)
  • Memories (je n’utilise pas)
  • Photos (première série de photos – nous retrouverons la suite dans les autres ZIP)
  • iCloud Shared Albums.Zip (je n’utilise pas)
Contenu du premier fichier ZIP - iCloud
Contenu du premier fichier ZIP – iCloud

Tous les autres fichiers ZIP ne contiendront qu’un seul sous-dossier nommé simplement Photos. Si vous regardez dans le dossier Albums and Favorites, vous retrouverez une liste de fichier CSV. Chaque fichier CSV correspond à l’un de vos Albums iCloud avec la liste photos qui appartenaient à cet album.

Liste des fichiers CSV - iCloud
Liste des fichiers CSV – iCloud

Classement des photos grâce à PowerShell

Sachant que j’avais laissé plus de 1200 photos sur mon compte iCloud sans aucun classement. J’ai donc cherché un moyen d’automatiser l’utilisation de ces fichiers CSV afin de pouvoir retrouver sur mon PC la même organisation que j’avais sur mon iPhone avec les Albums.

J’ai utilisé PowerShell. La méthode que je vais décrire ci-dessous a fonctionné pour moi. Mais en fonction de vos données – elle pourrait nécessiter des adaptations. Donc n’exécutez pas directement les lignes PowerShell sans regarder votre cas d’usage. 🙂

Etape 1 – Regroupement de toutes les Photos

Prenez toutes les photos qui se trouvent dans chaque sous-dossier Photos et regroupez les dans un seul et même dossier. Dans mon cas, il s’agit du dossier : C:\Users\thibault\Desktop\iCloud\Photos iCloud Lot 1 sur 4\Photos.

Tous les anciens dossiers ..\Photos iCloud Lot 2 sur 4\Photos ; ..\Photos iCloud Lot 3 sur 4\Photos ; ..\Photos iCloud Lot 3 sur 4\Photos sont donc vides désormais.

Etape 2 – Re-créez une arborescence correspondant à vos Albums iCloud

Les quelques lignes ci-dessous vont nous permettre de re-créer automatiquement l’arborescence de nos Albums iCloud en dossiers Windows.

# Variables
$PathToAlbumsandFavorites = "C:\Users\thibault\Desktop\iCloud\Photos iCloud Lot 1 sur 4\Albums and Favorites"

# Creation des Albums / Dossiers
(Get-ChildItem -Path $PathToAlbumsandFavorites).Name | ForEach-Object { ($_).ToString().Replace(".csv","") | ForEach-Object { New-Item $($PathToAlbumsandFavorites + "\" + $_) -ItemType Directory -Force } }

Par défaut, je vais les créer dans le dossier suivant : ..\iCloud\Photos iCloud Lot 1 sur 4\Albums and Favorites. Chaque dossier portera le même nom que chaque fichier CSV – 1 par ancien Album iCloud.

Etape 3 – Ranger toutes les photos dans chaque dossier

La prochaine étape consiste maintenant à lire l’ensemble des fichiers CSV. Puis pour chaque nom de fichier image, nous allons regarder dans quel fichier CSV elle est mentionnée ce qui nous donnera alors l’album d’appartenance de la photo. Puis, nous déplacerons le fichier dans le dossier correspondant à l’Album.

# Récupération des infos de tous les fichiers CSV
$CSVFiles = Get-ChildItem -Path $PathToAlbumsandFavorites -Name "*.csv"

# Pour chaque fichier CSV
foreach ($item in $CSVFiles)
{
    Write-Host "[INFO] - Album en cours : " $item -ForegroundColor Red
    $Images = Import-Csv $item

    # Pour chaque image dans l'Album en cours
    foreach ($img in $Images.Images)
    {
        # Si l'image appartient à l'Album - On la déplace dans le dossier
        if (($Images.Images -contains $img) -eq "True")
        {
            Write-Host $("[MOVE] - Déplacement de : " + $($img) + " vers le dossier : " + ($item.ToString().Replace(".csv",""))) -ForegroundColor Green
            Move-Item -Path $($PathAllPhotos + "\" + $img) -Destination $($PathToAlbumsandFavorites + "\" + ($item.ToString().Replace(".csv","")))
            #Break # Debug
        }
    }
}

Après quelques secondes d’exécution, j’ai donc pu retrouver dans chacun de mes dossiers mes photos bien organisées. Cela fonctionne pour les images mais aussi pour les vidéos.

Exemple exécution 1
Exemple exécution 1
Exemple exécution 2
Exemple exécution 2

Pour un nombre limité de photos, j’ai reçu des erreurs car elles n’appartenaient à aucun Album iCloud. Il s’agissait probablement de photos que je n’avais associé à aucun Album. J’ai pu traiter les quelques photos à la main. 🙂

L’ensemble du code est visible sur GitHub : Plus d’infos sur le lien suivant.

TAGS : apple, iCloud, PowerShell
Partager cet article ?
Twitter Whatsapp Whatsapp LinkedIn Telegram Email Copy Link
Vous en pensez quoi ?
Love0
Happy0
Embarrass0
Sad0
Angry0
Leave a comment

Publicités

Auteur

Cloud Solution Architect – Engineering (aka. Sr. Premier Field Engineer – PFE) @ Microsoft dans les domaines de l’infrastructure, du cloud et de la sécurité. Je suis également passionné par tout ce qui concerne les nouvelles technologies ainsi que la photographie ! Bonne visite ! 🤓

Follow @akril
Girl in a jacket

Dernière vidéo YouTube

https://youtu.be/-hQdddZeaNs

Certifications

Certifications

Publicités

Partenaires

Autres articles

Apple

Le disque dur SSD des MacBook Pro M2 moins rapides que les M1

thibault thibault 11 février 2023
Apple

1 nouvelle puce M2 pour le MacBook Pro et le Mac Mini

thibault thibault 11 février 2023
PowerShellMicrosoft Windows Server

Créer des comptes et groupes de tests dans Active Directory

thibault thibault 26 décembre 2022
Coeur-brise
Smartphone

5 meilleures applications gratuites pour espionner son conjoint

thibault thibault 29 décembre 2022

Derniers articles sur Microsoft Azure

Azure-Logic-App-Logo
Azure Logic App : publier automatiquement un article WordPress sur Twitter et LinkedIn
Microsoft Azure Cloud Computing
OpenAI-Logo-Blog
ChatGPT : innovation et conséquences
Microsoft Azure Cloud Computing Web
Création d’un environnement de formation avec Azure Lab Services
Microsoft Azure Cloud Computing Featured

Effectuer une recherche ?

Me contacter

Pour me contacter, il vous suffit d’utiliser le formulaire disponible sur la page de contact.

Derniers articles sur Varonis

Classify and locate important documents
English Varonis
Execute a PowerShell script in Varonis DatAlert
English Varonis

Derniers articles sur Citrix

Créer des comptes et groupes de tests dans Active Directory
PowerShell Microsoft Windows Server
Rechercher dans les GPO de votre Active Directory avec PowerShell
PowerShell
winget : un gestionnaire de paquets sur Windows 10
PowerShell
Akril.netAkril.net
Follow US

AKRIL.NET - Copyrights © 2006-2023

Welcome Back!

Sign in to your account

Lost your password?