Un fichier photo ne contient pas seulement des pixels. Il contient aussi des métadonnées : des informations sur la photo, enregistrées automatiquement par l'appareil. Ce sont les données EXIF.
CoursLes métadonnées d'une photo
Information
Exemple
l'appareil
marque et modèle (Nikon D3200)
la date et l'heure
de la prise de vue, de la dernière modification
les réglages
temps de pose, ouverture, sensibilité ISO, flash
le logiciel
un éditeur d'images, s'il a modifié la photo
le lieu
les coordonnées GPS, si la géolocalisation est activée
Sous Windows : clic droit sur le fichier → Propriétés → onglet Détails. Avec Python, Pillow les lit :
exif.py
from PIL import Image
from PIL.ExifTags import TAGS
photo = Image.open("photo_mystere.jpg")
exif = photo.getexif()
for cle, valeur in exif.items():
print(TAGS.get(cle, cle), ":", valeur)
Un dictionnaire
Les métadonnées sont rangées dans un dictionnaire : une collection de couples clé → valeur. Par exemple {1: "N", 2: (43.0, 56.0, 51.0)} associe la clé 1 à la valeur "N". On lit une valeur avec dico[clé].
for cle, valeur in exif.items(): parcourt tous les couples.
Les coordonnées GPS sont rangées à part. On les obtient ainsi :
gps.py
gps = exif.get_ifd(0x8825)
print(gps)
Clé
Contenu
Exemple
1
hémisphère de la latitude : "N" ou "S"
"N"
2
latitude en DMS : degrés, minutes, secondes
(43.0, 56.0, 51.0)
3
hémisphère de la longitude : "E" ou "W"
"E"
4
longitude en DMS
(4.0, 32.0, 6.0)
Vigilance
Dans les métadonnées, l'ouest s'écrit "W" (West, en anglais), pas "O".
Beaucoup de sites de partage effacent les métadonnées des photos publiées, mais pas tous : un envoi par messagerie ou par courriel peut les conserver. Une capture d'écran ne les conserve pas.
Les métadonnées peuvent être modifiées ou effacées : leur absence ne prouve rien.
ExercicesEnquêter sur des photos
EX 35Je m'entraîne🌶️prise en main
Exercice 35 — Ce que dit le fichier
Ouvre les propriétés (onglet Détails) de Eiffel.jpeg et de Gargouille1.jpeg.
Quel appareil a pris ces photos ?
Repère la date de prise de vue et la date de dernière modification. Sont-elles identiques ?
Un logiciel d'édition est-il mentionné ? Qu'est-ce que cela indique ?
Indice
Cherche « Date de prise de vue » et « Date de modification », ainsi que « Programme » ou « Logiciel ».
📝 réponses dans ton compte rendu, exercice 35
EX 36Je m'entraîne🌶️🌶️application
Exercice 36 — Lire les métadonnées avec Python
La photo photo_mystere.jpg est une image fabriquée pour l'exercice : ses métadonnées sont fictives. Recopie exif.py et exécute-le.
Quel est l'appareil (marque et modèle) ? Quelle est la date ?
Le programme affiche GPSInfo : 104. Ce nombre est-il une coordonnée ? Que représente-t-il d'après toi ?
Indice
Chaque ligne est de la forme nom : valeur.
💾 NOM_Prenom_ex36.py
EX 37Je m'entraîne🌶️🌶️🌶️plusieurs étapes
Exercice 37 — Où a été prise la photo ?
Avec gps.py, lis les coordonnées GPS de photo_mystere.jpg.
Écris un programme qui convertit la latitude et la longitude en degrés décimaux, avec le bon signe (ouest et sud sont négatifs), puis les affiche.
Ajoute une carte Folium centrée sur ce point, avec un marqueur.
Où la photo a-t-elle été prise ?
Indice 1
Ce sont les conversions du cours Python : \(\text{DD} = d + \dfrac{m}{60} + \dfrac{s}{3600}\), avec un signe négatif pour "S" et "W".
Indice 2
gps[2] est la latitude sous forme de trois valeurs : gps[2][0] sont les degrés, gps[2][1] les minutes, gps[2][2] les secondes.
Indice 3
Utilise float(...) pour être sûr d'avoir des nombres.
💾 NOM_Prenom_ex37.py
EX 38Je m'entraîne🌶️🌶️application
Exercice 38 — Photos et vie privée
Un élève publie une photo prise dans sa chambre, sans se douter que l'appareil a enregistré les coordonnées GPS du fichier.
Que peut apprendre une personne malveillante en lisant les métadonnées ? Cite trois informations.
Donne deux bonnes pratiques pour se protéger.
Teste ce programme, qui enregistre la photo dans un nouveau fichier. Que constates-tu ?
propre.py
from PIL import Image
photo = Image.open("photo_mystere.jpg")
photo.save("propre.jpg")
print(len(Image.open("propre.jpg").getexif()))
Indice
Le nouveau fichier a-t-il encore ses métadonnées ? Compte-les avec len.
💾 NOM_Prenom_ex38.py
À retenirSynthèse
Ce que je sais faire
Lire les métadonnées d'une photo, avec l'explorateur ou avec Python.
Convertir des coordonnées GPS d'un fichier en degrés décimaux et les placer sur une carte.
Expliquer les risques pour la vie privée et effacer les métadonnées.