Afficher sa timeline twitter
Depuis pas mal de temps, j'affiche ma timeline twitter sur mon blog en utilisant la widget de Twitter, mais cela ralentissait beaucoup trop l'affichage des pages (Google prend en compte la vitesse d'affichage des pages pour le référencement ...).
J'ai donc écrit ce petit script en perl qui récupère la timeline twitter :
J'ai donc écrit ce petit script en perl qui récupère la timeline twitter :
1 #!/usr/bin/perl -w
2
3 use strict;
4 use XML::RSS;
5 use LWP::Simple;
6 use LWP::UserAgent;
7 use utf8;
8 use Encode;
9
10 # create new instance of XML::RSS
11 my $rss = new XML::RSS;
12 my $ua = new LWP::UserAgent;
13 $ua->agent("AgentName/0.1 " . $ua->agent);
14 $ua = LWP::UserAgent->new( env_proxy => 1 );
15
16 my $rdf1 = new HTTP::Request GET => 'http://twitter.com/statuses/user_timeline/67265165.rss';
17 my $resRdf1 = $ua->request($rdf1);
18 if($resRdf1->is_success)
19 {
20 $rss->parse($resRdf1->content);
21 }
22 else {die "Merde";}
23 my $i=0;
24 foreach my $item (@{$rss->{'items'}})
25 {
26 exit if($i==5);
27 next unless defined($item->{'title'}) && defined($item->{'link'});
28 $item->{'description'}=~/^itwars:\s(.*)/;
29 print "<li>";
30 print encode("utf8","<a href=\"$item->{'link'}\" target=\"new\">$1</a>\n");
31 print "</li>";
32 $i++;
33 }
Celui-ci est exécuté périodiquement dans un cron et génère un fichier twitter.html dans mon répertoire de thème :@hourly /root/rss-twitter.pl > /var/www/themes/theme-vincent/twitter.html
Puis, dans le fichier sidebar.php, j'ajoute le code suivant :<?php include('twitter.html'); ?>
Et le tour est joué ... Modularité, rapidité ! Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je suis très intéressé par cette méthode. Je ne suis pas très doué en programmation.
Questions :
1- Le script, c'est un fichier en .js que tu inclus dans le début du header dans la balise head ?
2- La tâche cron, où est-ce que l'on la met ? le header aussi ?
Merci d'avance !
Benjamin
En gros, si tu as un hébergement mutualisé, ce n'est pas possible