NSFW : un widget pour Dotclear 2 qui permet d'afficher de manière très simple une liste de miniatures des dernières photos d'un flux Flickr

Motivations

Je connaissais l'existence depuis un bout de temps du plug-in wflickr de suricat, qui est capable de faire ce que je voulais. Cependant, wflickr requiert une clef d'API Flickr (oui je sais c'est gratuit et pas très dur à obtenir, n'empêche que ça gonfle), et le tout est à mon sens un peu trop lourd et compliqué pour afficher une simple liste des dernière photos.

Bref, j'étais sûr qu'on pouvait faire plus simple en exploitant simplement les flux publics disponibles sur toutes les pages Flickr, et donc sans utiliser de clef d'API ni de lib PHP dédiée. C'est pourquoi j'ai bricolé NSFW, sur la base du widget de lecture de flux tout simple fourni avec Dotclear. Et ça marche :)

Installation et paramétrage

Téléchargement : nsfw_0.1.zip.

L'installation s'effectue via l'onglet "Installer ou mettre à jour une extension" du panneau "Extensions" de l'interface de Dotclear 2. Soit en spécifiant le chemin du fichier ZIP que vous aurez auparavant téléchargé ci-dessus, soit en copiant-collant directement son URL.

Une fois installé, le plugin est disponible sous le nom "Nim's Simple Flickr Widget" dans la liste des widgets sur la page dédiée de l'interface Dotclear. Comme les autres, il suffit de faire un glisser-déposer vers le bandeau de navigation ou le bandeau d'extra pour avoir accès à son panneau de configuration. Celui-ci paraîtra en grande partie familier aux habitués des autres widgets... Les paramètres disponibles et leurs effets sont les suivants :

  • Titre : titre du widget tel qu'il apparaîtra sur le blog
  • ID de l'élément : permet d'attribuer un ID DOM spécifique à l'élément DIV qui contient le widget, afin par exemple de styler plusieurs instances du widget sur la même page de manière différente via CSS. Laisser vide pour ne pas attribuer d'ID spécifique. Notez que l'élément se verra de toute façon attribuer la classe "flickr".
  • URL du fil : entrez ici l'URL d'un flux public (Atom ou RSS) disponible sur n'importe quelle page Flickr qui affiche une série de photos (Galerie complète, Album, Tag, Groupe). C'est cette URL qui sert de "filtre", et déterminera quelles photos vont s'afficher.
    Exemple : vous souhaitez afficher simplement les photos de l'album "Paris" de l'utilisateur "rataki". Rendez-vous sur la page Flickr correspondante, cliquez sur l'icône de flux dans votre navigateur ou sur le lien "Fil" disponible en bas de page, et copiez-collez l'URL obtenue dans le champ. Et voilà. Procédez de la même manière avec les Galeries complètes, les Tags ou les Groupes (pour les Groupes, il faut utiliser le lien disponible sur la page "Pool de groupe", et non sur la page d'accueil du groupe).
  • Afficher les descriptions : si activé, la description complète de chaque photo sera ajoutée dans un bloc paragraphe après la miniature correspondante.
  • Nombre de photos maximum : limite l'affichage aux n photos les plus récentes.
  • Contenu additionnel : permet d'ajouter un fragment de code HTML arbitraire à la fin du bloc du widget. Exemple d'utilisation : description d'un album, lien vers la galerie Flickr, etc.
  • Uniquement sur la première page : comme les autres widgets, permet de n'activer l'affichage que pour la page racine du blog.

Une fois les paramètres réglés, cliquez sur "Mettre à jour les bandeaux", et le widget devrait maintenant apparaître sur votre blog.

En termes de HTML, le widget est contenu dans un DIV de classe "flickr". Le titre est inclu dans un H2. La liste des images est une liste UL/LI, comportant des liens A (incluant eux-mêmes des IMG de classe "flickrImg", de 75x75 pixels) et optionnellement des P de classe "flickrDesc" qui contient la description de l'image. Si un contenu additionnel a été spécifié, il est ajouté tel quel après la liste des images.

Evolutions

L'idée de ce plug-in était de faire quelque chose de volontairement simple, dans la lignée des widgets de base de Dotclear. De plus il répond déjà à tous mes besoins. Je ne prévois donc pas d'ajouter des tonnes et des tonnes de fonctions en plus. Cependant, si vous avez une suggestion d'amélioration ou d'ajout à faire, n'hésitez pas à m'en faire part dans les commentaires. Je verrai en fonction de son utilité et du temps dont je dispose pour l'implémenter.

De même, ce widget n'est certainement pas exempt de bug, merci de me signaler tout problème que vous pourriez rencontrer. Pour l'info, je l'ai développé et testé seulement avec la version 2.1.5.

Bon, et dans un premier temps, je vais probablement voir s'il y a moyen d'ajouter ce plug-in à DotAddict et/ou à Dotclear Labs, pour faciliter sa diffusion et sa maintenance, et faudrait d'abord que je lui attribue une licence de manière correcte (m'enfin, c'est la même que Dotclear, à savoir GPL 2.0, faut juste que rajoute le blabla en rapport).