Affichez le nombre de lecteur de Twitter et feedburner sur votre site Web : HTML, CSS, PHP

Vous affichez surement sur votre blog WordPress des icônes permettant d’avoir un lien vers votre compte Twitter mais aussi vers votre flux RSS.

Mais pourquoi ne pas récupérer automatiquement le nombre de followers de votre compte Twitter et le nombre d’abonnés à votre flux RSS Feedburner, tout ça sans extension (plug-in) ?
Nous allons voir dans cet article comment réaliser les différents fichiers.

Twitter

Fichier PHP

Commencez par créer un fichier PHP vide dans votre éditeur de code favori. Une fois que vous avez ouvert votre fichier, vous pouvez copier-coller le code suivant (nous allons l’analyser :

[sourcecode language="php"]
<?php
$twitter = get_option("twitterfollowerscount");
if ($twitter['lastcheck'] < (mktime() – 3600)) {
$xml = file_get_contents(‘http://twitter.com/users/show.xml?screen_name=VOTRE-NOM’);
if (preg_match(‘/followers_count>(.*)</’, $xml, $match) != 0) {
$twitter['count'] = $match[1];
}
$twitter['lastcheck'] = mktime();
update_option("twitterfollowerscount",$twitter);
}
echo $twitter['count'];
?>
[/sourcecode]

Les deux premières lignes permettent de définir le temps de rafraichissement du nombre de followers ((mktime() - 3600)). Cela signifie que le compte Twitter sera appelé toutes les 3600 secondes ou toutes les heures au lieu d’être appelé à chaque chargement de page.

Les prochaines lignes indiquent votre flux Twitter :

[sourcecode language="php"]
$xml = file_get_contents(‘http://twitter.com/users/show.xml?screen_name=VOTRE-NOM’);
[/sourcecode]

Où il y a marqué « VOTRE-NOM » vous devez mettre votre nom d’utilisateur Twitter : en ce qui me concerne « lryo17″.

[sourcecode language="php"]
$xml = file_get_contents(‘http://twitter.com/users/show.xml?screen_name=lryo17′);
[/sourcecode]

Enregistrez votre fichier "twitter-followers-count.php" à l’intérieur du répertoire de votre blog (par ex. wp-content/plugins/).

Affichage du résultat

Maintenant que la partie de récupération de la donnée est effectuée, nous allons nous occuper de l’affichage de cette dernière. Pour cela, il suffit d’aller dans votre thème WordPress et d’y ajouter le code suivant à l’endroit où vous souhaitez que le bouton s’affiche :

[sourcecode language="php"]
<?php include("twitter-followers-count.php"); ?>
[/sourcecode]

Enfin la dernière étape est l’affichage du résultat. Voici un petit exemple d’une intégration :
Note : Venez me montrer vos résultats.

Affichage du nombre de Followers

Affichage du nombre de Followers

[sourcecode language="html"]
<li id="twitter"><a href="https://twitter.com/lryo17">Twitter <em>(<?php include("twitter-followers-count.php"); ?> Followers)</em> </a></li>
[/sourcecode]

Un petit peu de CSS pour l’apparence :

[sourcecode language="css"]
#footer-infos li {
background:url("images/footer_sep.png") repeat-x scroll left bottom transparent;
color:#333333;
line-height:1.4em;
margin:5px 0 0;
padding-bottom:5px;
text-shadow:1px 1px 0 #FFFFFF;
}
#footer-links ul li a {
background-position:left top;
background-repeat:no-repeat;
display:block;
padding-left:30px;
}
#footer-links ul li a:hover {
background-position:left -19px;
}
#twitter a {
background-image:url("images/ico-twitter.png");
}
[/sourcecode]

Et voilà c’est fini ! Rien de bien compliqué.

RSS

Pour afficher votre compteur RSS Feedburner comme du texte, vous devez de nouveau créer un fichier PHP et gérer l’affichage avec un d’HTML / CSS.

Fichier PHP

Copiez-collez le code suivant dans le fichier :

[sourcecode language="php"]
<?php
//Obtenir le flux feedburner
$url = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=VOTRE-NOM";
// Initialisation d’une session cURL
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//Exécute
$data = curl_exec($curl);
// Ferme la session cURL
curl_close($curl);
// Créer un objet XML à partir des données
$xml = new SimpleXMLElement($data);
$count = $xml->feed->entry['circulation'];
?>
[/sourcecode]

L’utilisation de la bibliothèque PHP cURL permet de se connecter et de communiquer avec différents types de serveurs, et ce, avec différents types de protocoles. Dans l’exemple ci-dessus, elle nous permet de nous connecter au flux Feedburner. Nous initialisons donc une session cURL avec l’URL du flux RSS (curl_init($url)). L’option CURLOPT_RETURNTRANSFER permet de retourner directement le transfert sous forme de chaîne de la valeur retournée par curl_exec() au lieu de l’afficher. Enfin nous exécutons la session cURL (curl_exec($curl)) et récupérons directement le résultat.

Ce dernier est un flux XML. Il est donc nécessaire de le transformer en élément XML (new SimpleXMLElement($data)). Ensuite nous récupérons la valeur en parcourant le document XML ($xml->feed->entry['circulation']).

De la même manière que le flux Twitter vous devez remplacer « VOTRE-NOM » par le nom de votre flux : en ce qui me concerne « design-folio ».

[sourcecode language="php"]
$xml = file_get_contents(‘https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=design-folio’);
[/sourcecode]

Enregistrez votre fichier "rss-count.php" à l’intérieur du répertoire de votre blog (par ex. wp-content/plugins/).

Note : Ce code marchera également pour votre site Web

Concernant l’affichage rien de plus que précédemment, libre à vous de l’afficher selon votre désir.

Affichage du nombre d'abonnés RSS

Démos et téléchargement

Vous pouvez télécharger la démo de l'article dans un seul fichier ZIP.

J’espère avoir été clair dans mes explications. N’hésitez pas à me montrer vos résultats.