Migrer ses photos avec Immich Go
Un outil existe pour migrer de grandes quantités de photos depuis un PC/Mac vers Immich de manière automatisée. https://github.com/simulot/immich-go?tab=readme-ov-file
Avantages
Téléversez facilement de gros exports Google Photos : Immich-Go excelle dans la gestion des archives massives que vous téléchargez depuis Google Photos via Google Takeout. Il traite efficacement ces archives tout en préservant des métadonnées précieuses telles que la localisation GPS, la date de capture et les informations d'album.
Téléversements flexibles : Immich-Go n'est pas limité à Google Photos. Vous pouvez téléverser des photos directement depuis vos dossiers sur ordinateur, l'arborescence des dossiers et des archives ZIP.
Installation simple : Immich-Go ne nécessite pas NodeJS ni Docker pour son installation. Cela facilite le démarrage, même pour ceux qui sont moins familiers avec les environnements techniques.
Priorisez la qualité : Immich-Go rejette toutes les versions de résolution inférieure qui pourraient être incluses dans Google Photos Takeout, garantissant que vous avez les meilleures copies possibles sur votre serveur Immich.
Meilleures pratiques pour Google Photos :
Extraction de vos photos :
- Choisissez le format ZIP lors de la création de votre export pour faciliter l'importation.
- Sélectionnez la plus grande taille de fichier disponible (50 Go) pour minimiser le nombre de parties d'archive.
- Téléchargez toutes les parties sur votre ordinateur.
Importation de vos photos :
- Si votre export est au format ZIP, vous pouvez l'importer directement sans avoir besoin de décompresser les fichiers au préalable.
- Il est important d'importer toutes les parties de l'export ensemble, car certaines données peuvent être réparties sur plusieurs fichiers.
- Utilisez `/path/to/your/files/takeout-*.zip` comme nom de fichier.
- Pour les fichiers .tgz (archives tar compressées), vous devrez décompresser tous les fichiers dans un dossier unique avant d'importer. Lorsque vous utilisez l'outil d'importation, n'oubliez pas l'option `-google-photos`.
- Vous pouvez supprimer tous les fichiers ou dossiers indésirables de votre export avant l'importation.
- Redémarrer un import interrompu ne causera aucun problème et reprendra le travail là où il s'était arrêté.
Beaucoup de fichiers ne sont pas importés : Quelles sont les options ?
- Vérifiez si toutes les parties de l'export ont été incluses dans le traitement.
- Demandez un nouvel export, soit pour une année entière, soit par petits incréments.
- Forcez l'importation de fichiers malgré l'absence de JSON. Utilisez l'option `-upload-when-missing-JSON`.
- Pour des éclaircissements sur le raisonnement derrière cette alternative à immich-cli, veuillez lire la motivation ici.
⚠️ Ceci est une version préliminaire, pas encore testée de manière extensive.
⚠️ Conservez une copie de sauvegarde de vos fichiers pour plus de sécurité.
Exécution de immich-go
immich-go est un outil en ligne de commande qui doit être exécuté à partir d'une fenêtre de terminal. Le programme immich-go utilise l'API Immich, donc il nécessite l'adresse du serveur et une clé API valide.
Sur Linux, macOS et FreeBSD :
./immich-go -server=URL -key=KEY -general_options COMMAND -command_options... {path/to/files}
Important :
Les utilisateurs de macOS doivent explicitement autoriser l'exécution de immich-go. Ouvrez Confidentialité et sécurité > Paramètres de sécurité pour autoriser.
Sur les systèmes Windows :
.\immich-go -server=URL -key=KEY -general_options COMMAND -command_options... {path/to/files}
Gestion des options booléennes
Les options booléennes ont une valeur par défaut indiquée ci-dessous. Mentionner une option sur la ligne de commande change l'option à TRUE. Pour forcer une option à FALSE, utilisez la syntaxe suivante : -option=FALSE.
Exemple : immich-go vérifie le certificat SSL du serveur. Vous pouvez désactiver ce comportement en activant l'option -skip-verify-ssl. Il suffit d'ajouter -skip-verify-ssl. -skip-verify-ssl est équivalent à -skip-verify-ssl=TRUE. Pour désactiver la fonctionnalité (qui est le comportement par défaut), utilisez -skip-verify-ssl=FALSE.
Options partagées avec toutes les commandes
$HOME/.config/immich-go/immich-go.json
-server=URL
URL du service Immich, exemple http://:2283 ou https://your-domain.tld
-api=URL
URL du point de terminaison API Immich (http://container_ip:3301)
-device-uuid=VALUE
Force l'identification de l'appareil
$HOSTNAME
-client-timeout=duration
Définit le délai d'attente pour les appels au serveur. La durée est un nombre décimal avec un suffixe d'unité, tel que "300ms", "1.5m" ou "45m".
5m
-skip-verify-ssl
Ignorer la vérification SSL pour l'utilisation avec des certificats auto-signés
false
-key=KEY
Une clé générée par l'utilisateur. Les photos téléchargées appartiendront au propriétaire de la clé.
-log-level=LEVEL
Ajuste la verbosité des journaux : ERROR, WARNING, INFO
INFO
-log-file=/path/to/log/file
Écrire tous les messages dans un fichier
Linux : $HOME/.cache/immich-go/immich-go_YYYY-MM-DD_HH-MI-SS.log
-log-json
Sortie du journal sous forme de fichier JSON délimité par des lignes
false
-time-zone=time_zone_name
Définit le fuseau horaire pour les dates sans information de fuseau horaire
Le fuseau horaire du système
-no-ui
Désactiver l'interface utilisateur
false
-debug-counters
Activer la génération d'un CSV à côté du fichier journal
false
-api-trace
Activer le suivi des appels API
false
Commande upload
Utilisez cette commande pour télécharger des photos et vidéos depuis un répertoire local, un dossier compressé ou tous les fichiers zip générés par la procédure d'exportation de Google Photos.
Paramètres et options :
Exclusion de fichiers basée sur un modèle
Utilisez -exclude-files=PATTERN pour exclure certains fichiers ou répertoires du téléchargement. Répétez l'option pour chaque modèle dont vous avez besoin. Les répertoires suivants sont exclus automatiquement :
Exemple : La commande suivante exclut tous les fichiers dans des répertoires appelés backup ou draft et tout fichier se terminant par "copy)".
immich-go -server=xxxxx -key=yyyyy upload -exclude-files=backup/ -exclude-files=draft/ -exclude=copy).* /path/to/your/files
Options Google Photos
Paramètres spécialisés pour la gestion de Google Photos :
Détection des rafales
Actuellement, les rafales suivant ce schéma sont détectées :
xxxxx_BURSTnnn.*
xxxxx_BURSTnnn_COVER.*
xxxxx.RAW-01.COVER.jpg et xxxxx.RAW-02.ORIGINAL.dng
xxxxx.RAW-01.MP.COVER.jpg et xxxxx.RAW-02.ORIGINAL.dng
xxxxxIMG_xxxxx_BURSTyyyymmddhhmmss.jpg et xxxxxIMG_xxxxx_BURSTyyyymmddhhmmss_COVER.jpg (Huawei Nexus 6P)
yyyymmdd_hhmmss_xxx.jpg (Samsung)
Exemples d'utilisation : importer une archive d'exportation Google Photos
Pour illustrer, voici une commande qui importe des photos d'une archive d'exportation Google Photos capturées entre le 1er juin et le 30 juin 2019, tout en générant automatiquement des albums :
./immich-go -server=http://mynas:2283 -key=zzV6k65KGLNB9mpGeri9n8Jk1VaNGHSCdoH1dY8jQ upload -create-albums -google-photos -date=2019-06 ~/Download/takeout-*.zip
Détermination des métadonnées
immich-go obtient les premières données disponibles dans l'ordre suivant :
Date de capture :
photoTakenTime
Nom du fichier : ex PXL_20220909_154515546.jpg
Données EXIF de la photo
Importation de dossier
Fichier XMP
Localisation GPS :
geoDataExif
Champ JSON Google Photos geoData
Champ d'album JSON Google Photos locationEnrichment
Données EXIF de la photo
Exemple d'utilisation : nettoyage du serveur immich après avoir fusionné une archive Google Photos et les fichiers originaux
Cette commande examine le contenu du serveur immich, supprime les images de moindre qualité et préserve les albums :
./immich-go -server=http://mynas:2283 -key=zzV6k65KGLNB9mpGeri9n8Jk1VaNGHSCdoH1dY8jQ duplicate -yes
Commande outil
Cette commande introduit des outils en ligne de commande pour manipuler votre serveur immich.
Sous-commande album delete [regexp]
Cette commande supprime les albums qui correspondent au modèle donné.
Exemple :
./immich-go -server=http://mynas:2283 -key=zzV6k65KGLNB9mpGeri9n8Jk1VaNGHSCdoH1dY8jQ tool album delete \d{4}-\d{2}-\d{2}
Installation
Installation depuis la release GitHub :
L'installation de immich-go est un processus simple. Visitez la page de la dernière release et sélectionnez le fichier binaire compatible avec votre système :
Téléchargez l'archive correspondant à votre OS/architecture sur votre machine et décompressez-la.
Ouvrez une fenêtre de commande, allez dans le répertoire où immich-go se trouve, et tapez la commande immich-go avec les paramètres et la commande obligatoires.
⚠️ Veuillez noter que la version Linux x86-64 est la seule testée.
Installation à partir des sources :
Pour une installation basée sur les sources, assurez-vous d'avoir les outils de développement nécessaires pour le langage Go en place. Téléchargez les fichiers sources ou clonez le dépôt.
go build -ldflags "-X 'main.version=$(git describe --tag)' -X 'main.date=$(date)'"
Installation avec Nix :
immich-go est emballé avec Nix et distribué via nixpkgs. Vous pouvez essayer immich-go sans l'installer avec :
nix-shell -I "nixpkgs=https://github.com/NixOS/nixpkgs/archive/nixos-unstable-small.tar.gz" -p immich-go
# Ou avec les flocons activés
nix run "github:nixos/nixpkgs?ref=nixos-unstable-small#immich-go" -- -help
Ou vous pouvez ajouter immich-go à votre configuration.nix dans la section environment.systemPackages.
Sources :
Un outil existe pour migrer de grandes quantités de photos depuis un PC/Mac vers Immich de manière automatisée.
https://github.com/simulot/immich-go?tab=readme-ov-file