Metadonnees EXIF : les informations cachees
Chaque photo que vous prenez contient bien plus que l'image visible : date, heure, localisation GPS, modele de telephone... Ces informations cachees s'appellent les metadonnees EXIF, et elles peuvent reveler beaucoup sur vous !
Exemples de donnees cachees dans vos photos
Ces informations sont invisibles a l'oeil nu mais stockees dans le fichier !
Objectifs du cours
- Comprendre ce que sont les metadonnees EXIF d'une image
- Savoir lire et interpreter les informations EXIF avec Python
- Connaitre les enjeux de vie privee lies aux metadonnees
- Apprendre a supprimer les metadonnees sensibles
Erreurs courantes a eviter
- Ignorer que les photos contiennent des donnees de localisation GPS
- Penser que les metadonnees sont visibles a l'oeil nu
- Ne pas realiser que partager une photo = partager ses metadonnees
- Croire que toutes les plateformes suppriment automatiquement les EXIF
**Definition**
**EXIF** = Exchangeable Image File Format
Ce sont des donnees supplementaires enregistrees automatiquement dans chaque photo par l'appareil photo ou le smartphone.
**Ces informations sont invisibles** quand on regarde l'image, mais elles sont bien presentes dans le fichier.
**Types de metadonnees**
**1. Informations techniques (camera)** - Marque et modele de l'appareil - Ouverture (f/2.8, f/5.6...) - Vitesse d'obturation (1/500s, 1/30s...) - Sensibilite ISO (100, 400, 1600...) - Distance focale - Flash utilise ou non
**2. Informations temporelles** - Date et heure de la prise de vue - Fuseau horaire - Date de modification
**3. Informations de localisation (GPS)** - Latitude et longitude - Altitude - Direction de la prise de vue
**4. Autres informations** - Nom du fichier original - Logiciel de retouche utilise - Vignette de previsualisation - Copyright (si ajoute)
**Ou sont stockees ces donnees ?**
Les metadonnees sont stockees directement dans le fichier image : - **JPEG** : oui (EXIF standard) - **PNG** : donnees limitees (pas d'EXIF standard) - **TIFF** : oui (EXIF complet) - **RAW** : oui (EXIF + donnees constructeur)
**Attention** : Une image de 3 Mo peut contenir plusieurs Ko de metadonnees !
# Demonstration des metadonnees EXIF
# (Simulation pedagogique)
# Structure type des metadonnees EXIF
exemple_exif = {
# Informations sur l'appareil
"Make": "Apple",
"Model": "iPhone 15 Pro",
"Software": "iOS 17.2",
# Parametres de prise de vue
"ExposureTime": "1/1000", # Vitesse d'obturation
"FNumber": 1.78, # Ouverture f/1.78
"ISOSpeedRatings": 50, # Sensibilite ISO
"FocalLength": 6.86, # Focale en mm
"Flash": "Flash did not fire",
# Date et heure
"DateTime": "2024:01:15 14:32:45",
"DateTimeOriginal": "2024:01:15 14:32:45",
# Localisation GPS
"GPSLatitude": 48.8566, # Paris
"GPSLongitude": 2.3522,
"GPSAltitude": 35.0, # metres
# Autres
"Orientation": 1, # Rotation de l'image
"XResolution": 72, # DPI
"YResolution": 72,
"ColorSpace": "sRGB",
}
def afficher_exif(exif_data):
"""Affiche les metadonnees de maniere lisible."""
categories = {
"Appareil": ["Make", "Model", "Software"],
"Prise de vue": ["ExposureTime", "FNumber", "ISOSpeedRatings", "FocalLength", "Flash"],
"Date/Heure": ["DateTime", "DateTimeOriginal"],
"Localisation": ["GPSLatitude", "GPSLongitude", "GPSAltitude"],
"Technique": ["Orientation", "XResolution", "ColorSpace"],
}
for categorie, champs in categories.items():
print(f"\n=== {categorie.upper()} ===")
for champ in champs:
if champ in exif_data:
valeur = exif_data[champ]
print(f" {champ}: {valeur}")
print("=== METADONNEES EXIF D'UNE PHOTO ===")
afficher_exif(exemple_exif)
print("\n" + "="*50)
print("\n=== CE QUE REVELENT CES DONNEES ===\n")
revelations = [
f"Telephone : {exemple_exif['Make']} {exemple_exif['Model']}",
f"Date : {exemple_exif['DateTime'][:10].replace(':', '-')}",
f"Heure : {exemple_exif['DateTime'][11:]}",
f"Lieu : Latitude {exemple_exif['GPSLatitude']}, Longitude {exemple_exif['GPSLongitude']}",
" -> Paris, pres de la Tour Eiffel !",
f"Altitude : {exemple_exif['GPSAltitude']} metres",
]
print("Cette photo revele :")
for r in revelations:
print(f" - {r}")
print("\n-> Beaucoup d'informations personnelles en une seule photo !")Quiz de validation
1. Que signifie EXIF ?
2. Quelle information n'est PAS typiquement stockee dans les metadonnees EXIF ?
3. Quel risque principal les metadonnees GPS representent-elles ?
4. Quelle plateforme conserve generalement les metadonnees EXIF des photos partagees par email ?
5. Quelle bibliotheque Python permet de lire les metadonnees EXIF ?
