Métadonnées
Plan du cours
- Introduction/rappels sur les métadonnées
- RDF et métadonnées
- Métadonnées embarquées
- Métadonnées et images
Notes de cours
- Métadonnées
- Introduction aux métadonnées
- Métadonnées et RDF
- Métadonnées embarquées
- Métadonnées dans les images
- Exif, IPTC, XMP
- exiftool
Travail personnel
Lecture/écriture dans les images avec exiftools
1ère partie : tester exiftools
Utiliser exiftools et tester la lecture de métadonnées en ligne de commande avec les images de cette archive.
L'option -g
permet de grouper le résultat selon la granularité de l'information voulue ou le type d'information :
The following families of groups are available:
Family Description Examples 0 Information Type EXIF, XMP, IPTC 1 Specific Location IFD0, XMP-dc 2 Category Author, Time 3 Document Number Main, Doc1, Doc3-2 4 Instance Number Copy1, Copy2, Copy3...
Families 0 and 1 are based on the file structure, and are similar except that family 1 is more specific and sub-divides some groups to give more detail about the specific location where the information was found. For example, the EXIF group is split up based on the specific IFD (Image File Directory), the MakerNotes group is divided into groups for each manufacturer, and the XMP group is separated based on the XMP namespace prefix.
Family 2 classifies information based on the logical category to which the information refers.
Family 3 gives the document number for tags extracted from embedded documents, or 'Main' for tags from the main document.
Family 4 provides a method for differentiating tags when multiple tags exist
with the same name in the same location. The primary instance of a tag (the tag
extracted when the Duplicates option is disabled and no group is specified) has
no family 4 group name, but additional instances have have family 4 group names
of 'Copy1
', 'Copy2
', 'Copy3
', etc.
2ème partie : lecture des métadonnées
Créer une page pour faire un upload d'image. Une fois l'image uploadée, on affiche un formulaire pour saisir les informations de l'image : titre, description, copyright pour commencer (on enrichira le formulaire ensuite avec d'autres informations).
Utiliser exiftools pour récupérer les métadonnées éventuellement présentes dans l'image uploadée et préremplir le formulaire avec les données correspondantes. On pourra utiliser la sortie JSON (option -json
) et le groupe 1 (-g1
) pour utiliser les informations Exif, IPTC et les informations Dublin Core de XMP.
3ème partie : inscription dans l'image
Une fois le formulaire rempli, les informations sont donc modifiées et/ou complétées. Lorsque le formulaire est envoyé, les données sont alors réinscrites dans l'image avec exiftools et l'image est affichée.
On écrira dans l'image les informations Exif, IPTC et XMP (au moins Dublin Core). Pour cela, on peut lister dans la commande à exécuter toutes les informations à changer (
exiftool -XMP:title=toto IMG_3500.JPG
pour changer une valeur par exemple) mais cela devient vite lourd. Une autre solution est de créer un fichier JSON contenant toutes les informations à écrire. Attention le JSON doit absolument contenir la propriété SourceFile
qui précise le fichier à mettre à jour. La liste des propriétés à changer doit être formatée comme sur cet exemple
[{"SourceFile": "IMG_3500.JPG", "XMP-dc:Title": "Le titre de mon image", "XMP-dc:Rights": "CC-by-nc-sa", "XMP-dc:Description": "This is a test", "XMP-dc:Description-en-EN": "This is a test" }]
Les propriétés à modifier sont décrites sous la forme TagName:property
où TagName
peut être général (XMP
) ou plus spécifique (XMP-dc
). On peut avoir des exemples en listant les métadonnées des images fournies pour tester (en utilisant les options -g0
, -g1
ou -G
).
On pourra tester que les données ont bien été inscrites dans l'image avec cet outil de visualisation des métadonnées.
4ème partie : création d'un fichier XMP Sidecar
En plus d'inscrire les métadonnées dans les images, créer un fichier texte XMP Sidecar qui reprend les métadonnées de l'image. (c'est quoi un fichier sidecar ?)