Changement de tactique

Ce billet date de plusieurs années, ses informations peuvent être devenues obsolètes.

Edit : ne vous embrouillez pas avec ce billet. Lisez plutôt la techniqe définitive ;-)

Si vous êtes un fervent lecteur de mon blog, vous avez remarqué les 3 post récents qui ne contiennent que des liens. C'est très facile à générer, en fait c'est une fonction de Blogmarks qui permet de synchroniser ses liens avec son weblog. C'est assez bien fait mais ça devient vite le foutoir sur le blog. A la place je voulais mettre en place un linklog, une liste de liens du moment, un peu comme les Enjoying de What Do I Know.

C'est maintenant chose faite et vous pouvez voir sur la page d'accueil du weblog une liste des Derniers Blogmarks. A priori ça fonctionne bien, je teste encore. J'ai viré les anciens posts ne contenant que des liens.

Voici grosso modo la démarche que j'ai suivie pour intégrer mes derniers blogmarks à mon weblog :

  1. Récupérer le fil Atom de ses propres blogmarks
  2. Transformer les données du fil Atom en XHTML
  3. Intégrer ces données à Dotclear

Pour récupérer le fil Atom de ses propres blogmarks, c'est un peu chaud car Blogmarks n'en propose pas 1 par défaut. En comparaison, Del.icio.us propose un fil RSS personnalisé. Peut-être que ça viendra un jour dans Blogmarks ? Enfin bon, pour récupérer ses infos, tout est expliqué sur le wiki sur la page GET & Authentication. Il faut envoyer une requête HTTP au serveur et lui passer des paramètres d'authentification. Comme proposé sur le wiki, j'ai utilisé la librairie HTTP Pear HTTP:Request car j'utilise PHP. Il vous faudra télécharger d'autres paquets également : PEAR, Net_URL, Net_Socket.

Ensuite j'ai utilisé le script proposé sur le wiki.

Une fois arrivé là, j'avais une page PHP qui me générait un fil Atom perso. Il ne restait plus qu'à parser le bestiau à l'aide de MagpieRSS qui supporte les fils Atom depuis la version 0.61. Après installation sur le serveur, il suffit d'écrire un script tout bête pour récupérer son fil Atom et le transformer en XHTML :

<?php
require_once 'rss_fetch.inc';

$url = 'http://url_de_votre_fil_atom.php';

$rss = fetch_rss($url);

echo "<ul>
";
foreach ($rss->items as $item ) {
	echo "<li>";
	$title = $item[title];
	$url2   = $item[link_related];
	$summary = $item[summary];
	echo "<a href=\"$url2\">$title</a> $summary</li>
";
}
echo "</ul>
";
?>

Et puis finalement, j'ai fait un include de ce script dans mon fichier template.php de Dotclear et ça roule. Chouette non ?

#1 François

04/04/2005 02:01

Waow, ca ma l'air un peu compliqué :) J'ai pas suivi la première étape mais je pense que c'est dû à notre documentation qui ne doit pas être suffisament claire.

Il n'y a besoin de s'authentifier en lecture que pour avoir accès à ses informations privées. Sinon, le feed Atom est disponible publiquement. http://api.blogmarks.net/user/marco par exemple

Mais bon, au moins maintenant tu as vu comment s'authentifier et ça c'est la base avant d'envisager des applications plus avancées de l'API Blogmarks.

Sinon, tu as bien raison pour le changement de tactique, je fais la même chose chez moi, tellement mieux :)

#2 Marco

04/04/2005 09:35

Ah mince, je me suis pris la tête pour rien, je n'avais pas vu que le feed Atom perso était disponible publiquement ! :-)

Avant Bords arrondis sans utiliser d'image ! Après Pécho tes Blogmarks : la technique !

Tag Kemar Joint