Widget dotclear 2.0 : del.icio.us
21 avril 2008 —Vous utilisez le service del.icio.us pour mémoriser vos favoris, et vous voudriez une partie de ceux-ci au sein d'une des barres latérales de votre blog sous Dotclear 2 ?
Le Widget del.icio.us pour dotclear2 devrait répondre à votre besoin !
Sommaire
- Téléchargement
- Présentation : que fait ce plug-in ?
- Configuration : quelles sont les options configurables dans l'interface d'administration ?
- Petite histoire : pourquoi ce plug-in ?
- Explications techniques
- Retours
Téléchargement
Ce plug-in est actuellement disponible en version 0.4 (testé sous dotclear 2 beta 7)
Pour toute remarque, suggestion, bug-report, ou commentaire, n'hésitez pas à laisser un commentaire !
Présentation
Le Widget del.icio.us pour Dotclear 2 a pour but de vous permettre d'afficher vos derniers favoris enregistrés à l'aide du service Delicious dans une des barres latérales de votre blog.
Démonstrations
- blog.pascal-martin.fr : Dans la barre latérale droite
Si vous utilisez ce widget sur votre blog, n'hésitez pas à laisser un lien en commentaire, que je le rajoute ici !
Configuration
Pour vous permettre d'ajuster au mieux le fonctionnement du wigdet, un grand nombre d'options sont disponibles via l'interface d'administration.
Notez que la majorité des options ont une valeur par défaut adaptée à la plupart des besoins, et que vous n'aurez besoin d'en modifier que quelques unes.
Je vous laisse cliquer pour la capture d'écran (ouverture dans la fenêtre courante)
Titre
Le titre qui sera affiché pour le bloc du Widget
Login del.icio.us
Votre identifiant de compte del.icio.us, de manière à pouvoir récupérer vos favoris.
Password del.icio.us
Le mot de passe de votre compte del.icio.us
L'API del.icio.us ne permet de récupérer les favoris d'un utilisateur que lorsque c'est l'utilisateur en question qui en fait la requête, après s'être identifié.
Le plugin a donc besoin de connaître votre couple login/password pour pouvoir récupérer vos derniers favoris.
Ce couple login/password ne sera diffusé à aucune partie autre que le service del.icio.us
Note : Ce widget est sous licence open-source ; vous pouvez donc vérifier par vous-même qu'il ne fait pas n'importe quoi avec votre couple identifiant / mot de passe !
Nombre de Favoris (max) à afficher
Le nombre de favoris qui sera affiché, au maximum.
(Au maximum car il se peut qu'il n'y ait pas assez de favoris récents répondant aux tags demandés)
Exclusion des favoris porteurs des tags
Si un favoris del.icio.us porte un des tags "interdit" présent dans cette liste, il ne sera pas affiché par le widget.
Et ce même s'il porte aussi un des tags autorisés.
Notez que quoi qu'il en soit, indépendamment de tout tag, les favoris marqués "privés" sur del.icio.us ne seront jamais affichés.
Inclusion des favoris porteurs des tags
Seuls les favoris porteurs de l'un des tags présents dans cette liste seront affichés.
Les caractères reconnus comme séparateurs sont les suivants :
- Retour à la ligne
- Espace
- Virgule
- Point-virgule
Afficher les Favicons
Si cette case est cochée, le widget essayera d'afficher les favicons des sites correspondant aux adresses en favoris.
Image quand Favicon non trouvé
Dans le cas où l'option "Activer les favicons" est activée, cette option correspond à l'URL de l'image à afficher dans le cas où un Favicon n'est pas trouvé pour un site.
Note : l'image pointée par l'URL doit avoir une taille de 16x16 pixels.
Laisser vide pour n'afficher aucune image à la place des Favicons non trouvés.
Afficher les dates
Si cette option est activée, les favoris seront regroupés par dates d'enregistrement.
Quoi qu'il en soit, les favoris sont toujours affichés par date décroissante : cette option n'influe que sur l'affichage ou non des dates.
Afficher le lien "Voir tous"
Si cette option est activée, un lien vers vos favoris sur le site de del.icio.us sera affiché en bas de la liste des favoris affichés par le widget.
Texte du lien "Voir tous"
Le texte du lien pointant vers vos favoris sur le site de del.icio.us.
Note : Affiché seulement si l'option "Afficher le lien voir tous" est cochée.
Identifiant du bloc "Voir tous"
L'identifiant (attribut HTML "id") du lien pointant vers vos favoris sur le site de del.icio.us, pour vous faciliter sa personnalisation via une feuille de styles CSS.
Identifiant du bloc del.icio.us
L'identifiant (attribut HTML "id") de l'ensemble du bloc affiché par le widget, pour vous faciliter sa personnalisation via une feuille de styles CSS.
Classe du bloc del.icio.us
La classe (attribut HTML "id") de l'ensemble du bloc affiché par le widget, pour vous faciliter sa personnalisation via une feuille de styles CSS.
Utile en particulier pour appliquer les mêmes styles à plusieurs widgets !
Durée de mise en cache
Le widget ne va pas chercher vos derniers favoris sur le site de del.icio.us à chaque affichage de page : il effectue la requête de temps en temps, et stocke les résultats dans un fichier local.
Ce fonctionnement est nécessaire pour ne pas ralentir votre site, et ne pas surcharger le service del.icio.us.
Il est donc fortement recommandé de ne pas désactiver la mise en cache !
Cette option configure la durée pendant laquelle les favoris sont conservés en cache, sans être re-chargés depuis le site de del.icio.us
Si vous ajoutez fréquemment des favoris ou que vous voulez qu'ils apparaissent rapidement sur votre blog, une durée de 30 minutes est adaptée ; elle peut être augmentée si vous n'ajoutez de favoris que rarement, et que le délai d'apparition sur votre blog vous importe peu.
Nom du fichier de cache
Le fichier de cache utilisé par le widget pour mémoriser vos derniers favoris sera stocké dans le répertoire de cache de Dotclear.
Cette option configure le nom du fichier de cache.
Timeout
Dans le cas où le service de del.icio.us est ralenti, pour ne pas ralentir l'affichage de votre site, il est préférable de ne pas attendre la réponse de del.icio.us, quitte à n'afficher aucun favoris.
Cette option configure la durée maximale pendant laquelle le widget attend une réponse du service del.icio.us.
Une durée de deux ou trois secondes est adaptée.
Une durée supérieure à 5 secondes n'est pas recommandée.
Une durée supérieure à 10 secondes est suicidaire : en cas de lenteur du service Delicious, vos pages mettraient plus de 10 secondes à s'afficher !
Afficher les erreurs en commentaire HTML
Cette option est réservée aux utilisateurs expérimentés en développement Web, pouvant comprendre la signification d'un message d'erreur technique.
Si elle est activée, lorsqu'une erreur survient lors de la récupération des derniers favoris, elle sera présentée sous forme de commentaire HTML accessible en consultant le code source de la page.
Pour la petite histoire
J'utilise le service del.icio.us pour stocker mes favoris sur Internet, et pouvoir y accéder ensuite depuis n'importe quel ordinateur (mon fixe, mon portable, mon PC au bureau, ...).
Parmi les adresses que je stocke en favoris, un grand nombre sont susceptibles d'intéresser les visiteurs de mon site - celui-ci.
Plus précisément, les entrées couvertes par un ensemble d'une dizaine de tags sont susceptibles d'intéresser les visiteurs de ce site.
Plutôt que de recopier manuellement les sites nouvellement mis en favoris sur del.icio.us vers une page spécifique de ce site, je préfère un système qui les présente automatiquement ici.
J'ai commencé par utiliser - pendant plusieurs mois - le plugin PhpWidget, qui permet d'insérer du code PHP au sein d'un widget Dotclear2, dans une des barres latérales...
Et il y a quelques semaines, j'ai repris le code que j'utilisais au sein du plugin PhpWidget, pour l'intégrer à un nouveau plugin, totalement indépendant : le plug-in del.icio.us.
Le code de récupération et d'affichage des favoris depuis le service Delicious a donc été testé pendant plusieurs mois.
Et le plug-in del.icio.us pendant plusieurs semaines.
Explications techniques
Techniquement, le widget effectue un appel HTTPS vers l'API del.icio.us, en lui passant
- Votre login,
- Votre mot de passe,
- Et un nombre de favoris récents à charger
Une fois les favoris correspondant obtenus, ils sont filtrés :
- Exclusion des favoris privés,
- Exclusion des favoris portant un tag de la liste interdite,
- Puis seulement, conservation des favoris portant un tag de la liste autorisée.
Les favoris conservés sont ensuite parcourus afin de générer le code HTML à afficher.
Ce code HTML est stocké au sein d'un fichier de cache, et affiché.
Tant que le fichier de cache n'aura pas expiré, il sera directement réutilisé pour affichage, sans effectuer de nouvelle requête vers le service Delicious.
Note : si un appel vers le service Delicious échoue (timeout, par exemple), un fichier de cache vide sera tout de même généré. Le but étant de ne pas ré-effectuer de nouvel appel avant plusieurs minutes, en considérant que, lorsque le service ne répond pas, il continue généralement à ne pas répondre pendant quelques temps.
Cela signifie que, si Delicious est un peu lent pendant quelques minutes, il se peut que le Widget n'affiche rien pendant plusieurs minutes (la durée de vie du cache).
(Si le mode "debug" a été activé dans l'administration, un commentaire HTML sera généré pour signaler le problème, sans afficher d'information directement visible sur votre blog)
En sa version actuelle, le widget peut charger vos favoris depuis le service Delicious de deux manière différentes :
- Si l'extension "curl" est activée, elle est utilisée
- Sinon, si la directive de configuration PHP "allow_url_fopen" est à On et que le wrapper HTTPS est activé, le widget passe par un appel à file_get_contents.
Si aucune de ces deux solutions n'est activée, le widget ne fonctionnera pas (il n'affichera rien ; et si vous avez activé le mode "debug" dans l'administration, un commentaire HTML sera généré signalant le problème).
Retours
Si ce widget vous sert, que vous l'utilisez sur votre blog, n'hésitez pas à me le signaler dans les commentaires, ou même à faire un brin de pub ;-)
Si vous avez des commentaires / remarques / suggestions / rapports de bugs, même chose : n'hésitez pas à m'en faire part !