~bohwaz/blog/

Avec de vrais morceaux de 2.0 !

Le planet/feed/agrégateur personnel unifié

Et oui c'est le web 2.0, nos informations sont éparpillées à droite à gauche, et c'est un peu dur de tout rassembler. Et bien voici la solution !

"Feed" est une petite appli (ouais le nom je me suis pas cassé la tête) qui va agréger les contenus que vous désirez en un seul objet très simple que vous allez pouvoir réutiliser pour faire une page publique (comme la mienne) ou un flux RSS (comme le mien) par exemple.

Le fonctionnement est très simple :

$feed = new Feed;
$feed->addSource('rss', 'blog', 'Mon blog', 'http://bohwaz.net/blog/', array('feed_url' => 'http://blogs.kd2.org/bohwaz/rss.php'));
$feed->addSource('html', 'friends', 'Mes ami-e-s', 'http://bohwaz.net/amis.html', array('path' => '/var/www/bohwaz/amis.html'));

Voilà j'ai ici ajouté deux sources différentes que Feed devra unifier en un seul flux. Le premier est un flux RSS, le second un simple fichier HTML statique. Le premier argument de addSource est donc le type, et Feed n'accepte pour le moment que "rss" et "html". Le second est un identifiant unique pour cette source. Le troisième le titre de la source, le quatrième son url et enfin le cinquième sont les options. Dans le cadre d'une source RSS on est obligé de donner feed_url comme option et d'une source HTML l'option path, pour que Feed sache où aller chercher les changements.

Ensuite Feed gère lui-même tout ça, et il n'y a plus qu'à mettre dans votre page à la suite de ça un truc du genre :

foreach ($feed->getLastItems(20) as &$item)
{
   $source = $feed->getSource($item['source']);
   echo '<h2><a href="'.$item['url'].'">'.$item['title'].'</a></h2>';
   echo '<h3>'.$source['name'].'</h2>';
   echo '<h4>'.date('d/m/Y, H:i', $item['date']).'</h4>';
   echo '<p>'.$item['desc'].'</p>';
}

Et voilà vous avez une liste simple des 20 derniers éléments de toutes vos sources mêlées.

Le code est ici : http://svn.kd2.org/svn/misc/apps/feed/.

Vous avez besoin de class.feed.php et de lastRSS.php, les deux autres fichiers sont ceux que j'utilise sur mon site, pour vous donner une idée / point de départ si vous voulez.

En tant que démo, et aussi si vous voulez suivre toutes mes péripéties, voici mon Feed perso : http://bohwaz.net/feed/. Il agrègre les nouveautés depuis : mes photos, mes vidéos, mes concerts Last.fm, mes statuts facebook, mes billets sur mon blog, mes photos sur flickr, mon activité sur netlog, et bien sûr les changements des pages statiques de mon site. Bon y'a des trucs un peu en doublon (netlog, flickr et mes photos), je supprimerais ensuite je pense, mais ça montre bien l'intérêt du machin je trouve.

Écrire un commentaire
(facultatif)
(facultatif)
(obligatoire)
 _     _                  _                     
| |__ | | __ _ _ __   ___| |__   ___ _   _ _ __ 
| '_ \| |/ _` | '_ \ / __| '_ \ / _ \ | | | '__|
| |_) | | (_| | | | | (__| | | |  __/ |_| | |   
|_.__/|_|\__,_|_| |_|\___|_| |_|\___|\__,_|_|   
                                                
(obligatoire)

Les adresses internet seront converties automatiquement.
Tags autorisés : <blockquote> <cite> <pre> <code> <var> <strong> <em> <del> <ins> <kbd> <samp> <abbr>