Intégrer une galerie Flickr sur son site
le 28/09/2010 : Webdesign
Voici un script fait maison qui vous permet d’afficher simplement votre galerie Flickr sur n’importe quel site internet en PHP…
Ici pas besoin de Flash, ou d’installer des milliards de librairies ou de plug-ins… Juste quelques lignes de codes efficaces qui pourront pas exemples servir à afficher votre book de modèle ou de photographe…
La démo est visible sur notre site, dans le book photo aSeed
Pour cela vous devez juste régler quelques paramètres :
// le nombre d'images que vous souhaitez afficher $imgNumber=70; // le fichier dans lequel vous allez stocker le flux XML afin de ne pas interroger Flickr à chaque affichage $cacheFile = 'flickr_book.xml'; // à demander ici http://www.flickr.com/services/apps/create/apply $flickrApiKey = 'your_flickr_api_key'; //votre user_id sur flickr $flickrUserId='your_flickr_id'; // tag des images que vous souhaitez afficher $flickrTag='porfolio'; // le nombre d'image que vous souhaitez charger dans le flux (ici les 100 dernières) $flickrImgToLoad = 100; // si vous souhaitez rendre l'ordre d'affichage aléatoire $randomize = true;
Vous pouvez télécharger ce script à l’adresse suivante : http://www.aseed.fr/flickr_display.php.txt
L’utilisation de ce script est gratuite mais nous apprécierions vivement que vous fassiez un lien vers notre site en retour :
Script by <a href="http://www.aseed.fr">aSeed webdesign et photographie Nice</a>
Évidement il s’agit d’une base de travail, à vous ensuite de personnaliser l’affichage avec quelques lignes de CSS et pourquoi pas de Javascript. Si vous rencontrez la moindre difficulté dans cette tâche, nous vous invitons à nous contacter pour obtenir un devis pour la personnalisation du script.
<?php #author : Frederic Lefeuvre #website : http://www.aseed.fr #using Flickr API http://api.flickr.com/ #date : 2010-09-08 #please link our website if you are using this script ! $imgNumber=70; // number of images you want to display $cacheFile = 'cache_file.xml'; //must be writable by the server $flickrApiKey = 'your_key'; // your flick api key, you can get it here http://www.flickr.com/services/apps/create/apply $flickrUserId='your_id'; // your flickr user id $flickrTag='porfolio'; // the tagged images that you want to display $flickrImgToLoad = 100; // the number of images you want to load from flickr $randomize = true; // set it to true if you want randomize your gallery display if($your_caching_condition){ $url = "http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=$flickrApiKey&user_id=$flickrUserId&tags=$flickrTag&per_page=$flickrImgToLoad&page=0"; $file=file_get_contents($url); file_put_contents($cacheFile,$file); }else{ $file=file_get_contents($cacheFile); } //grabbing Flickr XML file $xml = new SimpleXMLElement($file); $photos = $xml->photos->photo; $i=0; //parsing XML album foreach($photos as $photo){ //get photo attributes foreach($photo->attributes() as $a => $b){ $p[$a]=$b; } $i++; $img[$i]['url'] ='http://farm'.$p['farm'].'.static.flickr.com/'.$p['server'].'/'.$p['id'].'_'.$p['secret'].'.jpg'; // if you prefer bigger size uncomment the line below //$img[$i]['url'] ='http://farm'.$p['farm'].'.static.flickr.com/'.$p['server'].'/'.$p['id'].'_'.$p['secret'].'_b.jpg'; $img[$i]['square'] ='http://farm'.$p['farm'].'.static.flickr.com/'.$p['server'].'/'.$p['id'].'_'.$p['secret'].'_s.jpg'; $img[$i]['title'] = $p['title']; // if necessary (depedning of you page encoding) $img[$i]['title'] = utf8_decode($img[$i]['title']); } //if we have images we print the gallery if(count($img)){ if($randomize) shuffle($img); ?> <div class="book"> <? php for($i=0; $i<$imgNumber;$i++){ ?><a href="<?=$img[$i]['url']?>" onclick="return false;"><img src="<?=$img[$i]['square']?>" alt="<?=$img[$i]['title']?>" title="<?=$img[$i]['title']?>"></a><? } ?> </div> <?php } ?> Script by <a href="http://www.aseed.fr">aSeed © webdesign et photographie Nice</a>
6 Comments for this entry
2 Trackbacks / Pingbacks for this entry
-
Ploumz » Plus de 5 milliards de photos sur Flickr :: flickr
octobre 8th, 2010 on 8:28[...] Si vous avez une galerie sur Flickr et que vous souhaitez l’intégrer sur votre site internet, voici un article publié par aSeed qui pourra vous être utile : Intégrer une galerie Flickr sur son site [...]
-
La photo chez aSeed déménage ! - aSeed
novembre 18th, 2010 on 12:46[...] : ce site est construit sur l’architecture WordPress et utilise notamment une variation du script d’affichage des photos depuis Flickr. :photo, Photographie, [...]
Leave a Reply
A la recherche d'une info?
Utilisez ce formulaire pour rechercher sur le site:
Quelques liens...
Archives
Les dernières publications
décembre 15th, 2010 on 21:50
Hello blogger. I like your blog about Intégrer une galerie Flickr sur son site – aSeed.
I was wondering, i am planning to make a blog for myself. I want to use wordpress like you. Where did you get your template? If you post your answer here below,then i will read this in the next few day’s.
Thanks Transportverzekering
décembre 22nd, 2010 on 11:21
We did it ourself from the “pixeled” template.
janvier 27th, 2011 on 12:04
Bonjour,
je souhaite utiliser votre code…mais j’ai des erreurs php
Par exemple :
Notice: Undefined variable: your_caching_condition
Une idée pour m’aider un peu ???
merci
février 2nd, 2011 on 9:20
“your_caching_condition” est une variable à définir et qui correspond à votre condition de mise en cache des fichiers XML et images afin de ne pas avoir à les re-télécharger depuis Flickr à chaque fois.
A vous de voir la condition qui vous convient le mieux
mars 20th, 2011 on 19:53
bonjour, quel sont les conditions possible pour la mise en cache du fichier.
autre chose je comprends pas le
$photos = $xml->photos->photo;
pourrais-tu m’en dire un peu plus sur les possibilité.
Merci
mars 29th, 2011 on 0:52
“your_caching_condition” ???
aurais-tu un exemple de condition a définir car je cherche mais j’ai aucune idée