testtestHome

Récupérer son OPML Google Reader via PHP et CURL…

29.03.2009 par Mich - lees dit in het Nederlands - read this in English (1)

Je n’aime pas faire du travail en double. Ainsi par exemple, lorsque je m’abonne à un blog car je le trouve intéressant, j’aimerais pouvoir l’afficher aussi dans ma blogroll. La solution s’appelle OPML.

Mon idée : récupérer de façon quotidienne mon fichier OPML de Google Reader et le stocker dans un répertoire sur mon serveur. La blogroll serait générée depuis ce fichier à chaque fois que quelqu’un aille la consulter. Et ainsi, à 24h près, elle serait toujours à jour.

Mais voila. La grosse merde, le gros bordel, le retour sur terre, c’est le suivant : pour accéder à votre fichier OPML il faut être authentifié et les choses un peu plus complèxe, car j’ai du essayer quelque chose que je n’avais jamais fait avant : utiliser cURL avec des cookies.

Le principe est simple : remplir les paramètres du formulaire de connexion Google avec CURL et stocker ce que celui-ci renvoie pour la cookie dans un fichier. Ensuite, réutiliser ce fichier comme cookie lorsque je veux accéder à l’URL de mon fichier OPML.

Si vous avez Google Reader, l’URL de votre fichier OPML est le suivant :

http://www.google.com/reader/public/subscriptions/user/<user_id>/

Vous pouvez obtenir votre userid en cliquant sur « All Items » ou « Tous mes éléments », un URL apparaîtra ensuite, votre user id est le numéro se trouvant entre les %2F, donc dans mon cas ‘06937166373900766291’:

http://www.google.com/reader/view/#stream/user%2F06937166373900766291%2Fstate%2Fcom.google%2Freading-list

Et voici donc le petit script PHP pour me connecter et récupérer le fichier OPML. Attention, j’utilise ici des noms de fichier absolu pour la cookie et le fichier final, la raison est simple : c’est parce que je compte également faire appel à ce script via un job crontab :

<?
$email="barney.stinson@gmail.com";
$password="br0";

$url = "https://www.google.com/accounts/ServiceLoginAuth?service=reader";
$params = "service=reader";
$params.= "&Email=".urlencode($email);
$params.= "&Passwd=$password";
$params.= "&continue=http://www.google.com/reader/";
$params.= "&hl=en";
$params.= "&nui=1";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookie.txt');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$data = curl_exec($ch);
curl_close($ch);

$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, "http://www.google.com/reader/public/subscriptions/user/06937166373900766291/");
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch2, CURLOPT_COOKIEJAR, '/tmp/cookie.txt');
curl_setopt($ch2, CURLOPT_COOKIEFILE, '/tmp/cookie.txt');
curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, false);
$data = curl_exec($ch2);
curl_close($ch2);

$fp = fopen("/home/emich.be/public_html/misc/google-reader-subscriptions.xml","w");
fputs($fp,$data);
fclose($fp);
unlink("/tmp/cookie.txt");
?>

Remplacez évidemment le login, mot de passe et user id par les vôtres. J'ai choisi de mettre ma cookie dans le dossier /tmp, afin qu'il ne soit pas visible depuis l'exterieur.

A noter que ce script peut également être écrit en bash script en utilisant directement cURL. J’ai opté pour l’option php car pas tout le monde a un serveur avec accès en ligne de commande à disposition.

tags: . .

Ajouter un commentaire

De plus en plus de cambriolages à Schaerbeek…

26.03.2009 par Mich - lees dit in het Nederlands (4)

Appel reçu cet après-midi :

Bonjour monsieur, nous sommes la société x et nous vous appelons au nom de la commune de Schaerbeek. Nous aimerions prendre rendez-vous avec vous pour venir voir vos serrures et vous sensibiliser sur les potentiels risques de cambriolage, phénomène croissant et qui inquiète votre commune. Quand seriez-vous disponibles pour un rendez-vous ?

Bon. Chronologiquement, ce qui suit de mon côté :

  1. Je ne tilte pas. Je lui dis de rappeler plus tard, je n’ai aucune vue sur mon agenda (car je n’ai pas que des photos à faire avec DJ Reynders).
  2. Je tilte. Je ne me souviens pas avoir un jour donné mon numéro de téléphone au peï motivé derrière la vitre dans la magnifique salle des guichets de la maison communale 1030 reprezent et je doute que Bernard « Je t’aime » Clerfayt ait abusé de notre amitié Facebook pour leur transmettre mes coordonnés.
  3. En plus. Ca me semble un peu gros que la commune ai le budget pour utiliser une société privée pour faire peur à des dizaines de milliers de foyers schaerbeekois. Surtout qu’une action pareille, combattre la peur par la peur, ce n’est pas vraiment la bonne tactique pour contrer les cambriolages.
  4. Et si c’était des gens qui cherchaient à prospecter ce qu’il y a à voler chez moi et comment c’est facile de rentrer chez moi ?
  5. Ne soyons pas mauvais. Ce sont surement des escrocs qui cherchent à gagner leur pain comme d’autres personnes afin de pouvoir offrir une PlayStation 3 à leur gamin en me faisant signer de force un contrat pour une porte blindée pare-balle anti-pied de biche que je ne verrais jamais.
  6. Ou peut-être que c’est vraiment la commune. Mais ca me parrait fort fort fort improbable, ça. Ca pue depuis Neder-over-Heembeek.

Soit. Pas besoin de conseils, moi. Il y a déjà une porte chiante en bas, une proprio qui entend tout au rez-de-chaussée et une nymphomane quinquagénaire au premier étage à survivre avant d’arriver chez moi et de se faire défoncer la gueule par mes 2 léopards et @flexyflow (à condition d’avoir signé pour l’option casse moi la nuque si j’ose te déranger dans ton sommeil).

tags: . . .

4 commentaire(s)

Didier Reynders

25.03.2009 par Mich

Mojito et blanche fowevew.

tags:

5 commentaire(s)

Barcamp Anvers…

24.03.2009 par Mich - lees dit in het Nederlands (1)

Samedi dernier avait lieu une nouvelle édition du Barcamp, cette fois à Anvers et organisé par Anne. Je n'ai pas vraiment à vous expliquer ce qu'est un Barcamp. Un Barcamp, c'est une espèce de conférence où le principe est simple: des présentations mais pas de spectateurs. En d'autres mots, chaque personne qui s'y inscrit doit contribuer à l'événement en donnant lui-même aussi une présentation ou en aidant l'organisation de l'une ou l'autre manière.

J'aurais surtout aimé la présentation de Koen Delvaux, sur l'automatisation de photos aériennes avec un avion téléguidé et son projet d'auto-pilote via GPS. Une autre présentation que je retiens est celle de Steffest, sur ses expériences avec l'Arduino et celle sur les @twunch par Tom Klaasen. Il y avait certainement aussi d'autres présentations intéressantes mais avec les sessions en parallelle, c'est difficile de se couper en 3 morceaux et d'être partout en même temps.

Ma présentation était "build your own Google Latitude", ou comment écrire un programme pour GSM codé en J2ME qui utilise les modules Location (JSR-179) pour envoyer votre position GPS vers un serveur web (avec démo).

Malheureusement, le nombre de participants à ce Barcamp qui se sont désistés en dernière minute était élevé, mais cela n'a pas empêché que ce Barcamp était une réussite. Surtout un grand merci à Anne et aux sponsors: Nucleus, Devia, Chocolateque, 10to1, The Parking Lot et Nespresso.

tags: . .

1 commentaire(s)

Ici c’est chez nous, hein…

23.03.2009 par Mich

Récapitulons, il y avait déjà :

  • L’achat de logements sociaux à Vilvorde et de terrains à construire à Zaventem où il fallait prouver sa connaissance du néerlandais pour pouvoir acheter.
  • Le wooncode où il faut prouver sa connaissance du néerlandais ou s'engager à l'apprendre afin de pouvoir obtenir un logement social.
  • La non-nomination de 3 bourgmestres francophones en périphérie bruxelloise.
  • Le jobkorting qui fait que tout flamand obtient 300 euros de réductions sur ses impôts alors qu’un collègue bruxellois qui fait le même boulot n’a pas droit à cette réduction.

Ajoutons à cela la superbe nouvelle mesure :

Je veux rien dire, mais ce jeu de ‘qui est le plus flamand de tous’ commence de plus en plus à ressembler aux années 30. Et puis ils s’étonnent qu’ils ont un problème d’image. A quand le premier camp de travail pour ceux qui ne savent pas prononcer "schild en vriend" correctement ?!

Attention: je parle de la politique flamande et pas des flamands en général, même si ils ont forcément été mis au pouvoir par quelqu'un, non ?

Et non, je ne traduirais pas ce billet en néerlandais. Trop la flemme et pas envie de recevoir des réactions digne des commentaires chez Luc Van Braekel.

tags: .

10 commentaire(s)

Barcamp Antwerp, photo de groupe

21.03.2009 par Mich

En même temps ça fait démo sur le sujet dont j'ai parlé: la géolocalisation et le positionnement en direct.

Où ? | tags:

Ajouter un commentaire

Silence…

18.03.2009 par Mich - lees dit in het Nederlands

Pfff. Je ne sais vraiment pas quoi vous raconter les gars. J’ai trop la flemme d’écrire quelque chose. Mais tout va très bien hein.

tags:

3 commentaire(s)

Bande de larves

13.03.2009 par Mich

Get a job!

tags:

4 commentaire(s)

Guitar Hero: la question qui tue

13.03.2009 par Mich

Je transporte ça comment dans l'avion?

Où ? | tags:

Ajouter un commentaire

Globalisation à la belge

12.03.2009 par Mich

Trouvez l'intru.

Où ? | tags:

2 commentaire(s)

Suck it, City 2!

12.03.2009 par Mich

Où ? | tags:

2 commentaire(s)

Transaméricaine

12.03.2009 par Mich

Pour aller à Ushuaia, continuez toujours tout droit.

Où ? | tags:

Ajouter un commentaire

Mobib USA

11.03.2009 par Mich

"Not in service", comme c'est bizarre.

Où ? | tags:

Ajouter un commentaire

Googleplex #4

10.03.2009 par Mich

Où ? | tags:

Ajouter un commentaire

Googleplex #3: Magic Johnsson

10.03.2009 par Mich

Pur hasard!

tags:

1 commentaire(s)

Googleplex #2

10.03.2009 par Mich

tags:

Ajouter un commentaire

Googleplex #1

10.03.2009 par Mich

tags:

Ajouter un commentaire

eMich world tour: Googleplex

10.03.2009 par Mich

* awesome *

Où ? | tags:

5 commentaire(s)

Mountain View résidentiel

10.03.2009 par Mich

Heaven...

Où ? | tags:

4 commentaire(s)

Geek joke

09.03.2009 par Mich

Où ? | tags:

1 commentaire(s)

San Francisco sunset

09.03.2009 par Mich

Où ? | tags:

4 commentaire(s)

La belle vie

09.03.2009 par Mich

Où ? | tags:

Ajouter un commentaire

Window seat, yay!

07.03.2009 par Mich

Où ? | tags:

1 commentaire(s)

Yes we can!

07.03.2009 par Mich

Je suis le temps d'un transit dans la capitale du monde. Je suis particulièrement amusé pas le magasin souvenirs d'Obama.

tags:

1 commentaire(s)

Un chat dans un sac!

06.03.2009 par Mich

A chaque fois que je pars quelque part c'est pareil! Toute les manoeuvres sont bonnes pour me retenir.

tags:

1 commentaire(s)

Boy Geek Pints

04.03.2009 par Mich

tags:

6 commentaire(s)

Arrête de surfer sur des sites de cul, fieu…

03.03.2009 par Mich

Combien de fois faudra encore lui dire ? Celui là tsé ;-)

tags: .

7 commentaire(s)

Ringa Ringa…

03.03.2009 par Mich - lees dit in het Nederlands

La bande originale de Slumdog Millionaire par A R Rahman est, comme le film, à conseiller. N’en abusez par contre pas trop, car certaines chansons risquent de rester coller, comme ‘Ringa Ringa’ dans la vidéo ci-dessus.

tags: . . . .

3 commentaire(s)

previous