Ça y est! Il est là, il est tout nouveau tout beau! Le tutoriel pour faire une galerie photo animée avec JQuery et qui utilise flickr pour héberger vos photos. Un bon petit mashup quoi! Pour voir ce que ça donne un peit test ici… Allé gogogogogo!
- Flickr
Bon, on veux héberger nos photos chez flickr. Donc…il vous faut un compte flickr (si ce n’est déjà fait!). Allé hop hop hop on s’inscrit. Si vous avez un compte yahoo! cela devrait être ok. L’ inscription ça c’est fait. Un petit mail de validation plus tard vous voila connecter sur votre compte flickr.
Pour la suite sur flickr je vous ai préparé un tutoriel vidéo. Je vous conseille de le suivre en entier, surtout pour la fin!
- Le php
Alors là on rentre dans le vif du sujet. Nous allons utiliser une classe php. Des notions de POO serait un plus mais si vous n’y connaissez rien en POO pas de problème vous pouvez continuer. Pour commencer vous devez >>télécharger la classe basée sur l’API de flickr<<. C’est elle qui va nous permettre d’afficher nos photos. Créez vous un dossier dans lequel vous décompressez l’archive. Créez y aussi un nouveau fichier php, par exemple : test-flickr.php.
Activer la librairie curl : Il faut à présent vérifier que votre serveur local soit configuré correctement. Ouvrez votre php.ini et trouvez le bloc qui contient toutes les extensions de php. Il faut ensuite décommenter (enlever le « ; » au début de la ligne) la ligne suivante : extension=php_curl.dll. C’est presque fini. Allez dans votre dossier « php » dans easyPhp ou dans WAMP et copier les fichiers libeay32.dll et ssleay32.dll dans votre dossier windows/system32 ou windows/system suivant votre version de windows.
Place au code :
La première ligne va concerner l’inclusion de notre classe :
<?php
require(’flickr.php’);
Ensuite pour pouvoir utiliser l’API nous devons obtenir une deux clés (gratuites). C’est le cas pour la quasi-totalité des API. La première clé s’obtient en remplissant ce formulaire :
La seconde clé suivez le lien indiquez par la flèche rouge. Elle se situe sous la première clé et s’appelle clé de « secret partagé« . Nous pouvons maintenant nous connecter à flickr via l’API.
// Paramètres API :
$apiKey = ‘010e84b635468**********8d7a0f322′;
$apiSecret = ‘989******aa1418e’;
La variable $apiKey correspond à la première clé. Pas la peine de traduire pour la seconde
.
Vous vous souvenez des id que vous avez notés au début? Re-sortez les!
// Id du User :
$userId = ‘227*****@N07′;
//Id de l’album :
$albumId = ‘72157*********064′;
Nous y voilà. Nous allons instancier notre classe Flickr. C’est à dire que nous allons créer un objet à partir de notre classe. Voila comment ça se passe :
// Nouvelle instance de Flickr :
$flickr = new Flickr( $apiKey , $apiSecret );
Notre nouvel objet : $flickr. C’est lui qui gère la connexion avec l’API. On va créer une instance de notre album maintenant. Même combat sauf que la classe change de nom :
// Nouvelle instance de Album :
$album = new Album( $flickr , $albumId , $userId );
Enfin! Nous avons notre album. On comprend rapidement les arguments que l’on transmet lors de l’instance : notre objet $flickr pour se conecter, notre identifiant d’album $albumId et notre identifiant utilisateur $userId. On a donc ce qu’il nous faut pour accéder à nos photos : Notre objet $album.
Pour ce tutoriel j’utilise la méthode getPhotos(). C’est celle qui nous donne le plus de données utilisables. Pour le moment nous allons nous contenter d’afficher les miniatures de nos photos.
// Affiche les « thumbs » de toutes les photos de l’album :
foreach( $album->getPhotos() as $photo ) {
echo $photo['imgThumbs'] ;
}
?>
Le foreach permet d’assigner à la variable $photo chaque « ligne » ou « tuple » (pour reprendre un langage plus orienté base de données) renvoyés par la methode getPhotos(). Si vous voulez avoir le détail de ce que renvoi getPhotos() pour faire mumuz et modifier le script à votre guise, remplacez la ligne du echo par :
var_dump($photo);
Un petit test dans firefox votre navigateur favori et normalement vous devriez avoir toutes vos miniatures!
Un grand merci à scriptsphp pour cette classe et la doc fournie. D’ailleurs n’hésitez pas à aller faire un tour sur leur site pour voir toutes les méthodes qui existent.
La prochaine étape du tutoriel portera sur l’aspect animation de la gallerie histoire d’avoir un truc présentable!
Si vous avez fait des essais postez vos url’s en commentaire. Pareil si vous avez des bugs, problèmes remarques, etc etc n’hésitez surtout pas!! A très bientôt pour la suite!
EDIT : la suite est ici!
User Responses
3 Responses and Counting...
Leave a Reply
[tuto jquery] drag ‘n drop avec sauvegarde automatique en base de données (2/2)
[tuto jquery] drag ‘n drop avec sauvegarde automatique en base de données (1/2)
[2 birthday] 2 ans aujourd'hui = 2 smashing book à gagner
[tuto web] cadre avec bordures extensibles valide xhtml/css
[tuto mashup] Google maps sur votre site : c'est possible! (version statique)
- Etre Rapide et Opportuniste 26 juillet 2010 Olivier Marone
- Confiance en soi et indifférence à l'échec 14 juillet 2010 Bertrand
- Le but du commandement n'est pas d'assurer le controle etroit - 11 juillet 2010 Bertrand
- Losqu'il s'agit d'agir en milieu complexe, la "logique 11 juillet 2010 Bertrand
- L’entreprise 1.0, 2.0 et 3.0 en un schéma 2 juillet 2010 Laurent ASSOUAD





![[3615 mylife] Limoges, c’est fini. La suite?](http://antoine.guiral.info/wp-content/uploads/2010/02/stvincent.jpg)
![[facebook] Du nouveau sur la roadmap](http://antoine.guiral.info/wp-content/uploads/2010/02/facebook_logo.png)
![[facebook php] hiphop for php : une petite révolution dans le monde du développement web et de php](http://antoine.guiral.info/wp-content/uploads/2010/02/hiphop.jpg)
![[apple iPad] énorme succés de l’iPad à la dernière keynote d’apple](http://antoine.guiral.info/wp-content/uploads/2010/01/ipad.jpg)
![[google] google, le 51ème état?](http://antoine.guiral.info/wp-content/uploads/2010/01/51emeetat.jpg)
janvier 19, 2008
Salut !
Beau travail ! Ceci pourrait il marcher dans une page Wordpress ?
Je suis impatient de voir la suite.
Bye !
janvier 19, 2008
Salut Seb!
Merci! Pour ta question il existe des plugins pour wordpress. Ensuite je pense qu’ils sont modifiable pour y apporter les animations. Tu heberge ton blog? ou tu es sur leur plate forme?
Mets ton url en commentaire pour montrer ta gallerie quand tu l’auras finie!!
Bon courage!
janvier 19, 2008
Hello !
Bon, le tutoriel a l’air bien, là-dessus rien à dire, hein ; mais, euh, c’est p’t-êt’ moi mais quand j’uploade les fichiers « flickr.php» et « photos.php» (la page qui contiendra les photos, copier-coller de ton code en ayant remplacé la clé API, la clé API secret, l’ID user et l’ID album), m’est renvoyée l’erreur suivante :
Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in /mnt/102/free.fr/d/6/postmaitrise/flickr.php on line 1312
Service photo inaccessible, essayez plus tard. Merci
Ce n’est pas mon server local, puisque c’est après l’upload chez free que ça arrive…
Voilà voilà, quelqu’un peut m’aider ??
Merci !