Dossier : Utiliser l’API Twitter pour envoyer des sms gratuitement
Aujourd’hui je voulais vous parler un peu de mon projet de TIPE. Sorte de TPE que l’on fait en classe prepa, il correspond à un projet scientifique à mener sur toute l’année. On est 3 par groupe et on se lance sur un sujet qui doit évidemment traité de ce qu’on a pu voir en cours. Dans ce cas, Twitter, c’est pour le plaisir ^^.
Nous avons choisi une alarme pilotée par PC. Pour clarifier la chose, nous avons fait un petit circuit électronique avec un contacteur relié à une carte d’acquisition qui permet d’envoyer un signal au PC en passant par l’USB. Un programme en C gère tout ca (je simplifie, ce n’est pas ce qui nous intéresse la) et on voulait que le propriétaire de la maison/bureau/ordinateur reçoive un sms lors d’une intrusion dans la pièce.
Pour cela j’ai codé avec mon groupe, un petit fichier simple en php qui utilise l’API twitter. Pour redonner à César ce qui appartient à César : j’ai utilisé une class php simplifiée par rapport à ce qui est founi par twitter créée par un blogueur nommé Emmanuel Pays (Loopion).
Vous pouvez télécharger cette class twitter ici.
Le problème c’est que je ne sais pas me servir de cette class et je ne le sais toujours mais, mais en fouillant sur le web et en bidouillant, j’ai réussi à faire ce que je voulais : automatiser l’envoie de sms par twitter et tout cela gratuitement !
Voila le code que j’ai mis dans ma page php (la class twitter bidouillée):
class twitter
{
var $username="logintwittercompteauto";
var $password="password";
function sendSms($to,$text)
{
$url = 'http://twitter.com/direct_messages/new.xml';
$post = 'user='.$to;
$post .= '&text='.$text;
if(strlen($text)<140) if($this->request($url,$post)) return true;
else return false;
}
function postMessage($text)
{
$url = 'http://twitter.com/statuses/update.xml';
$post = 'status='.$text;
if(strlen($text)<140) if($this->request($url,$post)) return true;
else return false;
}
function request($url,$post)
{
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, "$url");
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl_handle, CURLOPT_USERPWD, $this->username.":".$this->password);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (empty($buffer)) return false;
else return true;
}
}
Comme vous pouvez le voir, il suffit de remplacer le login et le password par celui du compte qui va envoyé les messages. Puisque je le rappelle, dans twitter, pour recevoir des sms, il va vous falloir créer un compte pour vous, ajoutez votre numéro de portable, créer un 2e compte qui sert pour l’envoie automatique de message. Il faut aussi qu’il soit amis. Chaque direct message envoyé par le 2e compte sera recu par sms si votre compte est paramétré bien sur.
En gros, j’ai un compte nommé : « AUTO » qui est celui qui envoie un direct message à mon compte « antoineb ». J’ai ajouté l’un l’autre dans les amis (ils sont amis mutuels). J’ai paramétré « antoineb » pour que je recoive seulement les directs messages sur mon portable.
Maintenant avec l’API je vais pouvoir envoyer un message sur mon portable grâce au compte Twitter « AUTO » qui va en fait envoyer un direct message au compte « antoineb ». C’est bon tout le monde suit ?
Bon maintenant passons au code utilisé. Je renseigne comme je l’ai dis précédemment la class. Les fans de php remarqueront que je l’ai bidouillée et que je l’ai mise directement dans mon code php, que j’ai enlevé le public qu’il y avait devant chaque instruction. Je vous ai dis que je ne savais pas comment m’en servir !
Vous pourrez le mettre n’importe ou dans votre code php (une boucle, un if…) :
$test=new twitter();
if($test->sendSms($twitter,'Intrusion le '.$dateheure)) echo "SMS envoyé";
else echo "Le SMS n'a pas pu être envoyé à $twitter";
Dans mon cas j’ai créer une variable $twitter qui correspond au login du 2e compte « antoineb » par ex. $dateheure correspond à la date et l’heure du jour, ce qui permet à l’utilisateur de connaitre l’heure de l’intrusion si son portable n’est pas allumé au moment où elle se produit.
Donc normalement, avec les bases de php (ce que j’ai à peine), vous devriez facilement tourner ca à votre sauce. Pour info, le code ci-dessus s’appelle l’instanciation.
Votez sur :
Ces articles peuvent vous intéresser :
- Nouvelle fonctionnalité Twitter pour les RT Une nouvelle fonctionnalité pour ceux qui utilisent Twitter directement sur le site. Twitter officialise les RT avec une fonction BETA......
- Un e-book pour Twitter 127 pages pour apréhender Twitter. C’est le travail d’un petit nombre de spécialistes et de blogueurs francais sur un projet......
- Test vidéo : Jaiku, le twitter-like de Google Alors que Google vient de racheter, il y a peu, Jaiku… je me suis dis qu’il serait bien d’avoir un......
- Mise à jour de mon Twitter Etant donné mon utilisation acharnée de Twitter… (ironique), je me suis dis qu’il faudrait peut être que je l’utilise un......
- Le plus gros compteur twitter Après le compteur RSS, voici un nouveau compteur qui pourra orner nos sidebars, le Twitter Compteur. Il vous permet de......
Si vous avez apprécié cet article, s'il vous plait, prenez le temps de laisser un commentaire ou de souscrire au flux afin de recevoir les futurs articles directement dans votre lecteur de flux.
Commentaires
^^ n’exagère pas tout de même. Moi je le trouve bien pratique pour poser des questions en rapport avec le blogging et le high tech ou tout simplement discuter avec personnes dont tu n’as pas l’instant messenger. Les gens te suivront plus facilement sur twitter qu’il te passeront leur adresse msn.
Evidemment faut voir ce que tu fais avec, c’est vrai qu’il y a des gens qui écrivent des conneries mais c’est de plus en plus rare.
Oui je caricature, mais c’est un peu ca quand même ![]()
Après évidement il y a des usages qui sont intéressants mais dans l’ensemble j’y voit plus d’inconvénients que d’avantages.
Sympa, j’y avais pensé quand je m’étais inscrit à twitter, et puis ça m’est sorti de la tête. Merci en tout cas, je vais le mettre à profit pour plein d’autres choses
J’ai pas tout compris à ce post mais ça m’a l’air interéssant… moi je n’arrive pas à envoyer mon numéro de téléphone sur twitter!
Comment on fait ?
C’est vrai ça, je voulais tester cette API mais l’indicatif international se place tout seul en fonction de quelques pays dans une liste où la France ne figure pas et on ne peut pas le choisir soi-même donc impossible de mettre un numéro de téléphone Français !
Comment avez-vous fait Antoine du blog ?
et bien tout simplement parce qu’a cette date la, la france était autorisée
ils ont choisi de garder que les usa et le canada il y a un an deja
C’est vrai ça, comment faites-vous Antoine du blog ? Impossible pour nous d’entrer des numéros de France, seuls quelques pays sont disponibles !
Pardon d’avoir remis le même message. Merci pour ces renseignements en tout cas et tenez-nous au courant si un jour ils le remettent…
Le service d’envoi de SMS Twitter sera-t-il un jour réactivé pour l’Europe ? Quelqu’un a-t-il des infos ?


Hmmm, pas mal
Enfin une véritable utilité à twitter :p