L'utilisation des WebServices devient à la mode et lorsque cela peut rendre vraiment service, ce serait bête de ne pas en profiter. Nous apprendrons ici à mettre en place un module d'envoi de SMS via notre site web.
L'idée vient avant tout de Johannes Schlüter qui dans son article "http://schlueters.de/blog/archives/80-I-have-nothing-to-say-but-maybe-PHP....html" montre une extension qu'il à écrite pour PHP 5 afin de d'envoyer des erreurs via SMS. Nous verrons ici par la puissance de cUrl, comment mettre en place un tel service.
Twitter est service de gestion de status et aussi inutile que cela puisse parraître via le site Twitter, sur un Site Web en revanche il ne l'est pas. Le service est avant tout un API permettant d'être utilisé pour tout utilisateurs enregistrés. Imaginez que vous vouliez générer un rapport d'erreurs, d'intrusions frauduleuses à votre site mais encore être prévenu de chaques bugs qu'il y aurait dans un projet via SMS, là Twitter deviendrait intéressant dans son utilisation.
Avant tout, commencez par vous enregistrer sur le site : http://twitter.com (en 5min)
Puis rendez-vous à la page : http://twitter.com/devices ou vous enregistrerez votre numéro téléphone pour la réception d'SMS. Pour que l'enregistrement soit activé, vous devrez envoyer un SMS au numero indiqué avec le code.
Inspiré de l'article Posting Twitter Updates via Curl, la commande curl pour la mise à jour de status ressemble à cela (en ligne de commande) :
curl --basic --user username:password --data status="Est encore en vie" http://twitter.com/statuses/update.xml
Nous allons utiliser cUrl via PHP pour nous authentifier et envoyer notre requêtes :
<?php /*
* @ Twitter API Hack August 2008
* ------------------------------
* Author : Sebastien Dudek at Slashon.com
* Idea from : schlueters.de (for TwitterPHP ext.)
* Licence : Free & Contribute
*
*/ // Initialisation de cUrl avec l'url de Twitter $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://twitter.com/statuses/update.xml'); curl_setopt($ch, CURLOPT_POSTFIELDS,"status=votre message"); // Variable que nous postons curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Ici nous utilisons l'authentification HTTP et nous envoi curl_setopt($ch, CURLOPT_USERPWD, 'login:password'); // On execute la requete et on ferme la session cUrl $data = curl_exec($ch); curl_close($ch); // Fermeture de la session cUrl ?>
La variable $data va recevoir le flux rss concerné que vous pourrez réutiliser si vous avez d'autres idées d'utilisation.
Pour gérer votre status il vous suffira juste de changer la ligne avec "curl_setopt($ch, CURLOPT_POSTFIELDS,"status=votre message"); // Variable que nous postons". Et pour l'identification : curl_setopt($ch, CURLOPT_USERPWD, 'login:password');
Maintenant, vous serrez au courant de tout ou presque =)
Cette création est mise à disposition sous un contrat Creative Commons