📍 Article principal du cluster : Immich 2026 : guide complet.
50 000 photos accumulées dans Google Photos depuis 2014. Vous voulez les rapatrier dans Immich auto-hébergé sans perdre les métadonnées (date, lieu GPS, albums, descriptions). Ce tutoriel détaille la procédure utilisée par plusieurs familles et professionnels en Afrique francophone, avec l’outil immich-go qui lit directement les exports Takeout sans étape intermédiaire complexe.
Prérequis
- Immich en production (voir Déployer Immich).
- Compte Google avec Google Photos rempli.
- VPS ou poste local avec 200 Go d’espace libre temporaire.
- Connexion internet stable (export Takeout 50k photos = 100-200 Go).
- Niveau attendu : intermédiaire.
- Temps estimé : 1 jour pour Takeout + import (interventions ponctuelles).
Étape 1 — Lancer Google Takeout
Sur takeout.google.com, sélectionner uniquement Google Photos. Options recommandées :
- Format : .tar (préservé) ou .zip.
- Taille de fichier : 50 Go (limite max). Téléchargements en 2-4 fichiers pour 50k photos.
- Mode de livraison : envoyer un lien par email.
Google met 2 à 24 heures à préparer l’export. Vous recevez ensuite un email avec lien de téléchargement valide 7 jours.
Étape 2 — Télécharger et stocker l’export
Sur le VPS Immich (ou poste local) :
mkdir /tmp/takeout
cd /tmp/takeout
# Coller le lien Google et lancer wget pour chaque fichier
wget "https://accounts.google.com/CheckCookie?continue=https%3A%2F%2Ftakeout.google.com%2F..." -O takeout-001.tar
# Répéter pour chaque fichier
# Total : 100-200 Go pour 50k photos
Astuce : utiliser aria2c pour téléchargement multi-thread plus rapide.
Étape 3 — Extraire les archives
cd /tmp/takeout
for f in *.tar; do tar xf "$f"; done
# Pour zip
for f in *.zip; do unzip "$f" -d ./; done
# Structure résultat : /tmp/takeout/Takeout/Google Photos/Album X/photo.jpg + photo.json
Étape 4 — Installer immich-go
immich-go est l’outil officiel communautaire pour migrer Takeout vers Immich. Il préserve les albums, les descriptions, les métadonnées GPS via les fichiers .json Takeout.
curl -L https://github.com/simulot/immich-go/releases/latest/download/immich-go_linux_amd64.tar.gz | tar xz
chmod +x immich-go
mv immich-go /usr/local/bin/
Étape 5 — Créer une API key Immich
Dans Immich web : Settings → API Keys → New → nommer migration-takeout. Copier la clé (visible une seule fois).
Étape 6 — Test sur un petit lot
Avant l’import complet, tester sur 100 photos :
cd /tmp/takeout/Takeout/Google\ Photos
ls | head -1 # Choisir un album
immich-go upload \
--server=https://photos.votre-famille.com \
--key=VOTRE_API_KEY \
--google-photos \
--create-albums \
--auto-archive \
./AlbumX
Vérifier dans Immich web que les 100 photos sont bien là, dans l’album, avec date et lieu corrects.
Étape 7 — Lancer l’import complet
immich-go upload \
--server=https://photos.votre-famille.com \
--key=VOTRE_API_KEY \
--google-photos \
--create-albums \
--auto-archive \
--skip-extensions=mov,mp4 \
--log-level=info \
./Takeout/Google\ Photos
Pour 50 000 photos sur Hetzner CX42 + Storage Box NFS, comptez 4 à 8 heures. Un screen ou tmux est utile :
tmux new -s migration
# Lancer immich-go
# Ctrl+B puis D pour détacher
Étape 8 — Importer les vidéos
Les vidéos MP4/MOV sont volumineuses. Faire un second pass dédié :
immich-go upload \
--server=... --key=... \
--google-photos \
--include-extensions=mov,mp4,mkv \
./Takeout/Google\ Photos
Étape 9 — Vérifier la déduplication
Immich détecte automatiquement les doublons via hash. Settings → Jobs → Duplicate Detection. Vérifier le rapport. Pour 50k photos issues de Google + WhatsApp + AirDrop, comptez 2-8% de doublons typiquement.
Étape 10 — Nettoyer Google Photos (optionnel)
Une fois la migration validée à 100% (vérifier nombre de photos, dates extrêmes, albums présents) :
- Garder Google Photos en lecture seule pendant 30 jours pour vérifier que vous ne manquez rien.
- Désactiver l’auto-upload Google Photos sur tous vos téléphones.
- Activer auto-upload Immich Mobile à la place.
- Au jour J+30, supprimer toutes les photos Google Photos via interface web ou via le mode « Free up space ».
Erreurs fréquentes
| Erreur | Cause | Solution |
|---|---|---|
| Métadonnées GPS perdues | JSON Takeout non lu | Vérifier que immich-go trouve les .json à côté des .jpg |
| Albums non créés | Flag –create-albums oublié | Relancer avec ce flag |
| Live Photos splittées | iPhone export en deux fichiers | immich-go gère, vérifier que .HEIC + .MOV sont à côté |
| Doublons multiples | Plusieurs lancements sans dédup | Job duplicates Immich + suppression batch |
| RAM saturée VPS | Trop de jobs ML simultanés | Pause auto-upload mobile pendant import |
| API key invalide | Espaces parasites collés | Régénérer + recopier sans espace |
| Takeout incomplet | Lien Google expiré | Re-demander un nouveau Takeout |
Adaptation au contexte ouest-africain
Trois précisions. Téléchargement Takeout : 200 Go en 4G partagée à Saint-Louis prend 50+ heures. Faire le download depuis le VPS Hetzner directement (gigabit) plutôt que depuis votre poste local. Bande passante mobile : pendant la phase de transition (Google + Immich actifs), désactiver auto-upload Google Photos pour économiser data 4G. Comptes familiaux : Google Photos partage parfois entre conjoints. Effectuer la migration depuis chaque compte indépendamment, puis fusionner dans un album partagé Immich.
Tutoriels frères
FAQ
Et iCloud Photos ? Export via Apple Privacy → Request a copy. Format différent (pas de JSON par fichier). Outil icloud-photo-downloader + import via immich-cli standard.
Les Live Photos sont-elles préservées ? immich-go détecte la paire .HEIC + .MOV et les associe correctement. Affichage Live dans Immich Mobile.
Combien d’espace pour 50k photos ? Comptez 100-150 Go pour photos JPG/HEIC + RAW. Storage Box 1 To (3,20 €) suffit largement, avec marge pour 5-10 ans.
Que faire des fichiers .json après import ? Garder l’archive Takeout originale 90 jours sur Storage Box, puis supprimer. Immich a déjà extrait toutes les métadonnées.
Migration progressive ou en une fois ? Pour < 20 000 photos, en une fois. Pour > 50 000, par albums (par année par exemple) pour éviter saturation Postgres.
Pour aller plus loin
- 🔝 Retour au pilier : Guide complet Immich 2026
- immich-go GitHub : github.com/simulot/immich-go
- Google Takeout : takeout.google.com