Accueil du site > Flickr Store > Le tag file:md5

Le tag file:md5

vendredi 19 décembre 2008, par Fil

Notre problématique est de pouvoir faire une sauvegarde de toutes nos photos sur Flickr. Pour cela il faut savoir si telle photo présente sur le disque dur est ou non déjà sur le site. On pourrait enregistrer dans une base de données locale une série de couples (chemin de la photo, id flickr), mais cela présente de nombreux inconvénients :

— si la même image figure deux fois sur notre disque, on va la télécharger deux fois ;
— si notre base de données locale disparaît, on ne peut plus dédoublonner notre base.

Pour contourner ce problème on introduit un tag file:md5=xxxx, où xxx est la signature md5 du fichier de la photo. Cette signature se calcule en php de la façon suivante :

Cette notation correspond aux machine tags recommandés par Flickr pour tous les tags traités de façon automatique cf. http://www.flickr.com/groups/api/di....

Ce tag devra être apposé à chaque photo uploadée sur le site ; à partir de là nous saurons, en calculant la signature md5 de n’importe quel fichier de notre disque dur, si ce fichier a déjà été uploadé ou non : il suffira de regarder dans $photos si une photo porte ce tag.

Apposer le tag file:md5 aux photos déjà uploadées

Si vous avez déjà uploadé des fichiers sur votre compte Flickr, il peut être judicieux de les tagguer avec ce système, de manière à éviter de les redoublonner par la suite. Pour cela, pas de miracle, il faut les télécharger une par une, calculer leur signature, et apposer le tag. Nous en profiterons pour apposer un second tag automatique file:bytes indiquant la taille (en octets) du fichier.

Ce qui donne :

Chaque photo non tagguée sera alors téléchargée, analysée puis tagguée :

3120529098: already tagged md5
3120529078: downloading http://farm4.static.flickr.com/3204/3119700509_3d3cb5c693_o.jpg
 file:md5=5d43f273a2b5003b57273b227116a708 file:bytes=2581222

1 Message