Script Python pour organiser automatiquement vos photos par date et lieu.
Ce script analyse les photos de votre smartphone et les organise dans des dossiers structurés selon le format [AAAA-MM-JJ] - [Ville].
-
Extraction de la date :
- Priorité 1 : Données EXIF (DateTimeOriginal, DateTime, DateTimeDigitized)
- Priorité 2 : Timestamp dans le nom du fichier
- Fallback : Date de modification du fichier
-
Géolocalisation :
- Extraction des coordonnées GPS depuis les métadonnées EXIF
- Géocodage inverse avec Nominatim (OpenStreetMap) pour obtenir le nom de la ville
- Photos sans GPS : placées dans un dossier
[Date] - Inconnu
-
Gestion intelligente :
- Renommage automatique en cas de fichiers en double
- Support de multiples formats d'image (JPG, PNG, HEIC, RAW, etc.)
- Déplacement sécurisé des fichiers
Avant d'utiliser ce script, assurez-vous d'avoir :
-
Python 3.7 ou supérieur installé sur votre système
- Pour vérifier :
python --versionoupython3 --version - Si Python n'est pas installé, téléchargez-le depuis python.org
- Pour vérifier :
-
pip (gestionnaire de paquets Python, normalement inclus avec Python)
- Pour vérifier :
pip --versionoupip3 --version
- Pour vérifier :
-
Connexion internet (nécessaire pour le géocodage avec Nominatim)
Option A : Avec Git
git clone https://github.com/blackxt600/TriPhotos.git
cd TriPhotosOption B : Téléchargement manuel
- Téléchargez le projet depuis GitHub
- Extrayez l'archive ZIP
- Ouvrez un terminal dans le dossier extrait
pip install -r requirements.txtOu si vous utilisez pip3 :
pip3 install -r requirements.txtLes bibliothèques installées :
Pillow: Lecture des métadonnées EXIF des imagesgeopy: Géocodage inverse pour obtenir les noms de villes
Pour vérifier que tout est bien installé :
python organize_photos.py --helpVous devriez voir l'aide du script s'afficher.
Aucune configuration n'est nécessaire ! Le script peut être utilisé directement.
Le dossier Destination est créé automatiquement au même niveau que le dossier source.
Option 1 : Répertoire courant (par défaut)
Placez-vous dans le dossier contenant vos photos et exécutez :
python organize_photos.pyOption 2 : Spécifier un répertoire
Vous pouvez indiquer le chemin du dossier contenant les photos :
# Chemin relatif
python organize_photos.py ./mes_photos
# Chemin absolu
python organize_photos.py C:\Photos\VacancesPour voir toutes les options disponibles :
python organize_photos.py --helpLe script va :
- Analyser chaque photo du dossier source
- Extraire la date et les coordonnées GPS
- Interroger Nominatim pour obtenir la ville
- Créer les sous-dossiers nécessaires dans Destination
- Déplacer les photos (elles seront retirées du dossier Source)
Destination/
├── 2024-12-24 - Gazeran/
│ ├── IMG_001.jpg
│ └── IMG_002.jpg
├── 2024-12-25 - Bailly/
│ ├── IMG_003.jpg
│ └── IMG_004.jpg
├── 2024-12-25 - Noisy le Roi/
│ └── IMG_005.jpg
└── 2024-12-26 - Inconnu/
└── IMG_006.jpg (photo sans GPS)
Le script traite les fichiers avec les extensions suivantes :
.jpg,.jpeg.png.heic,.heif.raw,.cr2,.nef,.arw
Le script respecte la politique d'utilisation de Nominatim :
- Maximum 1 requête par seconde
- Le traitement peut donc prendre du temps pour un grand nombre de photos
Le script affiche en temps réel :
- Le nom de chaque photo traitée
- La date extraite
- Les coordonnées GPS (si disponibles)
- La ville identifiée
- Le dossier de destination
Exemple de sortie :
📸 Traitement: IMG_20241224_153022.jpg
📅 Date: 2024-12-24
📍 GPS: 48.756080, 1.982450
🏙 Ville: Gazeran
✅ Déplacé vers: 2024-12-24 - Gazeran/IMG_20241224_153022.jpg
- Vérifiez que les extensions de fichiers sont bien supportées
- Assurez-vous que les fichiers sont directement dans le dossier Source (pas dans des sous-dossiers)
- Vérifiez votre connexion internet
- Nominatim peut parfois être lent ou indisponible, réessayez plus tard
- Les photos n'ont pas de métadonnées GPS
- Vérifiez que la localisation était activée sur votre smartphone lors de la prise de vue
Pour toute question ou problème, consultez les logs d'exécution du script qui détaillent chaque étape du traitement.
Ce script déplace les photos du dossier Source vers Destination. Assurez-vous d'avoir une sauvegarde de vos photos avant la première utilisation, ou testez d'abord avec quelques photos.