📍 Article principal de la série : Immich 2026 : guide pratique.
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 |
Cas pratiques en zone UEMOA
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 explorer plus loin
- 🔝 Retour au guide général : guide pratique Immich 2026
- immich-go GitHub : github.com/simulot/immich-go
- Google Takeout : takeout.google.com
Etape 1 : commander un Takeout Google complet
L’export Google Photos passe par Takeout. C’est la seule voie officielle pour recuperer toutes vos photos avec metadonnees. Pour 50 Go, comptez 6 a 24 heures de generation cote Google. Pour un studio a Dakar avec 500 Go, l’export est livre en plusieurs archives de 50 Go a telecharger.
# Steps Takeout
1. Aller sur takeout.google.com
2. Cliquer "Tout deselectionner"
3. Cocher uniquement "Google Photos"
4. Optionnel : choisir des albums precis
5. Format de livraison : .zip, taille max 50 Go par archive
6. Mode de livraison : email avec liens de telechargement
Vous recevez un email avec autant de liens que d’archives. Telechargez tout dans un dossier dedie, ne les ouvrez pas encore.
Etape 2 : extraire et organiser les archives
Une fois les archives recues, on extrait dans un repertoire de travail. Sur Linux, unzip suffit. Sur Windows, 7-Zip evite les problemes de chemins longs frequents avec les noms de fichiers Google Photos.
# Extraction Linux
mkdir -p /data/takeout-raw
cd /data/takeout-raw
for z in ~/Downloads/takeout-*.zip; do
unzip -q "$z"
done
# Verification structure
ls Takeout/Google\ Photos/ | head
# Sortie : Photos from 2018, Photos from 2019, Album Mariage, etc.
Vous obtenez une arborescence par annee et par album. C’est le format brut sur lequel on va travailler. Ne renommez rien tant que la migration n’est pas finie.
Etape 3 : reparer les metadonnees EXIF avec immich-go
Le piege majeur du Takeout : Google met les vraies dates et coordonnees GPS dans des fichiers .json a cote des photos, pas dans l’EXIF. Importer brut ferait perdre la chronologie. L’outil immich-go (open source, communautaire) repare cela automatiquement.
# Telecharger immich-go (verifier la derniere release)
wget https://github.com/simulot/immich-go/releases/latest/download/immich-go_Linux_x86_64.tar.gz
tar xzf immich-go_Linux_x86_64.tar.gz
chmod +x immich-go
# Tester en dry-run d'abord
./immich-go upload \
-server=https://immich.example.com \
-key=$IMMICH_API_KEY \
-google-photos /data/takeout-raw/Takeout \
-dry-run
Le dry-run liste ce qui serait fait sans rien envoyer. Verifiez que le nombre de fichiers detectes correspond a votre attente avant de lancer l’import reel.
Etape 4 : creer la cle API Immich
Immich utilise une cle API par utilisateur pour les imports en masse. On la genere dans l’interface web, puis on l’exporte en variable d’environnement pour ne pas la coller en clair dans les commandes.
# Dans Immich web :
1. Profil > Account Settings
2. API Keys > New API Key
3. Nom : "migration-takeout-2026"
4. Copier la cle (visible une seule fois)
# Dans le shell :
export IMMICH_API_KEY="votre-cle-ici"
echo "$IMMICH_API_KEY" > ~/.immich-key
chmod 600 ~/.immich-key
La cle est sensible : elle donne acces ecriture a tout le compte. On la stocke en mode 600 et on la revoque apres la migration via la meme interface.
Etape 5 : lancer l’import reel
Une fois le dry-run validee, on lance l’import sans flag. Pour 100 Go, comptez 4 a 12 heures selon la bande passante de votre serveur. Lancez dans tmux ou screen pour pouvoir fermer la session SSH sans interrompre l’upload.
tmux new -s immich-import
./immich-go upload \
-server=https://immich.example.com \
-key=$IMMICH_API_KEY \
-google-photos /data/takeout-raw/Takeout \
-create-albums
# Detacher tmux : Ctrl+B puis D
# Reattacher plus tard : tmux attach -t immich-import
Le compteur progresse fichier par fichier. A la fin, vous voyez un recapitulatif « X uploaded, Y duplicates skipped, Z errors ». Notez ce chiffre, il servira au controle qualite.
Etape 6 : dedoublonner les imports anciens
Si vous aviez deja importe quelques photos manuellement avant la migration, des doublons apparaissent. Immich detecte la plupart par hash, mais pas tous (un meme fichier converti en JPEG apres re-encodage echappe a la detection). On lance le job dedupe natif.
# Dans Immich web :
1. Administration > Jobs
2. Section "Duplicate Detection"
3. Cliquer "Reset" pour forcer un re-scan
4. Patience : 2-6 heures selon la library
5. Reviews > Duplicates pour valider/supprimer
L’interface presente les paires suspectes cote a cote. Vous gardez la meilleure version (souvent la plus lourde) et supprimez l’autre. C’est un travail manuel, pas plus de 30 minutes pour 1000 doublons potentiels.
Etape 7 : restaurer les albums Google Photos
Avec le flag -create-albums, immich-go recree dans Immich les albums tels qu’ils existaient dans Google Photos. La structure d’origine est preservee : « Mariage Awa 2023 », « Voyage Saly 2024 », etc. Pas besoin de reconstruire a la main.
# Verifier les albums crees
curl -H "x-api-key: $IMMICH_API_KEY" \
https://immich.example.com/api/album \
| jq '.[] | .albumName'
# Sortie attendue : un par album Google Photos d'origine
Si un album manque, c’est generalement parce qu’il etait partage et non possede par votre compte Google. Demandez au proprietaire de l’exporter de son cote.
Etape 8 : cloturer la migration et fermer Google Photos
Avant de supprimer quoi que ce soit chez Google, on valide que tout est present cote Immich. On compare les compteurs : nombre total de photos, plages de dates, presence des albums cles. Une fois validee, on attend 30 jours minimum avant de supprimer cote Google, par securite.
# Comptage Immich via API
curl -H "x-api-key: $IMMICH_API_KEY" \
https://immich.example.com/api/server-info/statistics \
| jq '.usage'
# Comparer avec Google Photos :
# photos.google.com > Reglages > Stockage
Si les deux totaux concordent a 1 % pres, vous pouvez archiver le Takeout local et programmer la suppression Google Photos. Activez aussi un backup Restic immediat de votre nouvelle library pour cloturer la chaine. Decouvrez notre guide pour automatiser les backups Immich avec Restic.
FAQ
Combien de temps pour 1 To de photos ?
Comptez 24 a 72 heures selon votre debit upload. Au Senegal, une fibre 100 Mbps donne environ 12 Go par heure en upload reel.
Les videos passent-elles aussi ?
Oui, immich-go gere photos et videos avec leurs metadonnees. Verifiez juste que votre serveur Immich a assez d’espace disque libre avant de lancer.