• Paru le 17 juin 2016

Récupérez et affichez les informations EXIF de vos photographies

1500 mots - 6mn

Récupérez et affichez les informations EXIF de vos photographies

1024 682 Pascal CESCATO

Vous connais­sez forcé­ment les données EXIF, qui permettent de tout savoir d’une photo­gra­phie prise avec un appa­reil photo numé­rique (tout – ou plutôt l’essentiel). Comment les récu­pé­rer auto­ma­ti­que­ment et les affi­cher sur votre photoblog ?

Quand on affiche une photo dans un article, on n’a pas forcé­ment l’utilité des données de prise de vue – en géné­ral. Il est même conseillé d’en suppri­mer certaines, dont les données de géolo­ca­li­sa­tion avant de publier vos photos person­nelles sur le web.

Mais pour vous qui tenez un blog photo, les données EXIF peuvent avoir de l’importance. Soit que vous souhai­tiez donner des infor­ma­tions tech­niques à vos lecteurs, soit qu’elles permettent de mieux comprendre la photo­gra­phie elle-même.

À à f/1.8, la profon­deur de champ d’un 20mm n’est pas la même que celle d’un 80mm, par exemple. De même, certains objec­tifs ont un rendu plus mou que d’autres. Une correc­tion de l’exposition aura permis de réali­ser un superbe contre-jour.

Mais comment extraire ces données, sans aller les cher­cher manuel­le­ment, photo par photo ? Vous avez deux possi­bi­li­tés : un trai­te­ment « brut » en PHP que vous ajou­tez dans un thème enfant, ou vous passez par une exten­sion dédiée. Moins souple, mais plus simple et plus rapide. Une exten­sion existe, et en plus elle est gratuite…

Récupérer et afficher les données EXIF avec exifography

L’extension n’est pas testée avec la dernière version de WordPress (4.5.2 à ce jour). Ceci dit, elle fonc­tionne parfai­te­ment, ce qui n’est pas surpre­nant quand on sait que sa créa­trice, Kristen Symonds, alias kris­ta­rella travaille en tant qu’ingénieur pour Automattic, la société éditrice de WordPress – un code de qualité ne se périme pas du jour au lendemain.

Passons sur l’installation et l’activation, très simples – cliquez sur Extensions > Ajouter, saisis­sez « exifo­gra­phy » dans le champ de recherche, vali­dez, cliquez sur instal­ler main­te­nant puis sur acti­ver l’extension.

En cliquant sur Réglages > Exifography, vous arri­vez sur la page des options de l’extension :

Page des options d'Exifography

Page des options d’Exifography

Par défaut, les balises sont <ul>  et <li> , que j’ai remplacé par <div>  et <span> .  J’ai même rajouté une balise <span class="exif-name">  qui enve­loppe l’élément EXIF, puis j’ai ajusté le style via les CSS.

À savoir : l’id de la balise <ul>  (ou <div> dans mon cas) est de forme wp-image-ID  ; pour éviter d’avoir deux id iden­tiques et donc un conflit, vous pouvez rempla­cer <div id="%s" class="exif"> par <div id="exifography-%s" class="exif"> dans les options, ce qui vous donnera une id exifography-wp-image-ID.

Voici le résultat :

Le grand avan­tage de cette exten­sion, c’est sa souplesse et sa faci­lité d’utilisation. L’inconvénient, c’est qu’elle ne permet pas une grande person­na­li­sa­tion, et n’affiche que certaines données EXIF.

C’est là que vous souhaiterez…

Récupérer et afficher les données en créant une fonction personnalisée

Si vos besoins vont au-delà de l’affichage des données EXIF en dessous de l’image, vous pouvez program­mer votre propre fonc­tion en PHP, puis l’intégrer dans le fichier functions.php  de votre thème, ou mieux, en passant par une exten­sion telle que Code Snippets.

Pour affi­cher les données EXIF de l’image à la Une sur Pics & Stories par exemple, j’ai utilisé le code suivant :

Ces deux lignes sont les plus impor­tantes, car main­te­nant vous avez toutes les données asso­ciées à votre média, dont les données EXIF. Reste à les récu­pé­rer, dans l’index ['image_meta']  du tableau $datas.

Vous allez obte­nir un tableau de ce type :

Pour la vitesse d’obturation, si vous voulez l’afficher avec un format type 1/250 s, il vous faudra effec­tuer le calcul suivant :

De même pour la date de la prise de vue (au format habi­tuel défini sur le blog), il faudra passer par :

Ce qui vous permet­tra d’afficher par exemple, pour le tableau donné ci-dessus :

Ici le code complet pour l’exemple précédent :

Bien sûr, il s’agit d’une ligne direc­trice, il va falloir tester l’existence de chaque donnée, et construire la chaîne à affi­cher en fonc­tions des données enregistrées.

Vous allez égale­ment récu­pé­rer d’autres données sur votre photo­gra­phie via fonc­tion wp_get_attachment_metadata , dont les dimensions.Le poids peut être trouvé via la fonc­tion PHP filesize  :

Cette ligne de code vous donnera le poids, en Mo, avec une préci­sion de 1 déci­male. L’avantage d’une fonc­tion person­na­li­sée étant que vous avez une plus grande souplesse à l’utilisation, et que vous pour­rez rajou­ter des données non EXIF mais pas moins intéressantes.

Vous pouvez voir ci-dessous un exemple d’utilisation de l’ensemble des données préci­tées, sur mon photo­blog, Pixto :

Données EXIF

Données EXIF

Alternative inté­res­sante à la fonc­tion WordPress wp_get_attachment_metadata , la fonc­tion PHP exif_read_data  qui vous donne davan­tage d’informations, à trai­ter un peu diffé­rem­ment (mais rien d’extraordinaire).

Avec le code suivant :

vous obte­nez un tableau semblable à celui-ci :

En une seule passe, vous avez les données EXIF, la taille, le poids. À vous de trai­ter, et d’organiser ensuite, à votre guise.

En conclusion

Si vous souhai­tez un affi­chage basique de vos données EXIF, exifo­gra­phy fera parfai­te­ment l’affaire.

Cependant, si vous souhai­tez aller plus loin, allé­ger votre site WordPress, vous affran­chir des exten­sions ou des fonc­tions inté­grées à votre thème, la créa­tion d’une fonc­tion person­na­li­sée n’est pas hors de portée, pour peu que vous ayez quelques connais­sances en PHP.

Le Codex WordPress et le Code Reference vous aide­ront à aller plus loin, à appro­fon­dir votre connais­sance de WordPress en mettant les mains dans le cambouis !

WordPress est un outil fasci­nant, avec une commu­nauté de passion­nés, et vous trou­ve­rez toujours le bout de code qu’il vous faut, une expli­ca­tion à défaut de solu­tion toute prête en cas de problème, et même des consul­tants à prix abordable.

Alors lancez-vous, affi­chez vos données EXIF avec vos photo­gra­phies, la valeur ajou­tée est loin d’être négligeable !

Si vous avez trouvé une faute d’orthographe, veuillez sélec­tion­ner le texte en ques­tion et appuyer sur Ctrl + Entrée.

Laisser une réponse

La modération des commentaires est activée. Votre commentaire peut prendre un certain temps avant d'apparaître.

    Partager…

    Rapport de faute d’orthographe

    Le texte suivant sera envoyé à nos rédacteurs :