Diffusion de messages et mobilité : la M-shoutbox

Loïc Maurois

Tweets, updates, chat, et consorts sont devenus familiers et vraiment utiles pour rester en contact avec ses proches et son réseau. Mais en situation de mobilité, comment faire ? Cet article décrit une solution simple sous la forme d'une application PHP5 basée sur l'API SMS d'Orange. Il s'agit d'un diffuseur de messages par SMS que nous appelons la M-shoutbox.
Télécharger les sources.

- Titre : Diffusion de messages et mobilité : la M-shoutbox

- Auteur : Loïc Maurois

- Parution : 22 avril 2010

- Licence : Copyright ® 2010 Loïc Maurois. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. La M-Shoutbox, qu'est-ce-que c'est ?

- I-A. Exemple de discussion

- I-B. Administration via SMS

- II. En savoir plus sur le cœur de l'application

- III. Conclusion

I - La M-Shoutbox, qu'est-ce-que c'est ?

D'une manière générale, une Shoutbox (anglicisme pour "boîte à discussion") est un système de messagerie instantanée, intégré dans une page Web qui permet aux internautes de laisser des messages et dialoguer sur le site Web.

La M-Shoutbox vous permet de contacter par SMS un ensemble de personnes qui sont inscrites dans votre shoutbox. Le producteur du message envoie un SMS comprenant un mot-clef identifiant, ainsi que le contenu du message, puis celui-ci est diffusé à l'ensemble des personnes inscrites dans la shoutbox.

Les personnes sont inscrites par le propriétaire de la M-shoutbox :

- soit en tant qu'auditeur, via une page web

- soit en tant que dialogueur, par invitation SMS avec mode d'emploi

I-A - Exemple de discussion

John Smith décide d'envoyer un message au groupe configuré dans sa M-Shoutbox : il envoie un message au 31244 suivant le schéma <le mot-clef> <son message> :

Le serveur envoie le message à tous les contacts, il a au passage reconnu que le SMS provenait de John.

Chaque membre du groupe a reçu le message, les dialogueurs peuvent à leur tour répondre.

Jason Mac Lane répond immédiatement au message en suivant le même principe <le mot-clef> <son message> :

I-B - Administration via SMS

Grâce à son téléphone portable, John Smith peut administrer à distance la M-Shoutbox en envoyant de simples commandes par SMS comme ici :

Toutes ces actions peuvent également se faire par la page d'administration de l'application sur le serveur PHP.

II - En savoir plus sur le cœur de l'application

L'application repose sur quelques éléments très simples à assimiler, développés en PHP :

- une partie administration des contacts,

- une partie de réception des SMS et de gestion des commandes envoyées,

- une partie d'émission des SMS,

- une partie Log des SMS reçus et émis ainsi que des événements liés à l'utilisation de l'application,

- et naturellement une partie configuration de la M-Shoutbox.

Le cœur de l'application réside toutefois dans l'appel à l'API SMS d'Orange. Voici la méthode qui effectue cet appel :

function sendSMS ($api_access_key, $from, $to, $message, $proxy) {
$reponse = "";
$today = date("j-m-y, H:i:s");

$log_msg = "OUTPUT call to '".URL_SEND_SMS."'; id=[$api_access_key]; from=[$from]; to=[$to]; content=[$message]";
SMSLogger::getInstanceAndLog($log_msg, "INFO", true, false);

$url = URL_SEND_SMS."?id=$api_access_key&from=$from&to=$to&content=&$message";
// Check Proxy
if ( strlen($proxy) != 0 ) {
// proxy
$opts = array('http' => array('proxy' => $proxy, 'request_fulluri' => true));
$contexte = stream_context_create($opts);
$response = file_get_contents($url, false, $conteste);
} else {
// No proxy
$response = file_get_contents($url);
}
// store response into a debug file
SMSLogger::getInstanceAndLog(analyseStatusCode(XMLParser::GetHttpBodyStatusCode($response)), "INFO", false, true);
return $response;
}

C'est un appel REST à l'URL d'envoi de SMS d'Orange, qui contient 4 paramètres : une clé d'identification Orange, le numéro court émetteur, le téléphone du destinataire, et le message. Pour utiliser les Orange API, vous devrez vous inscrire (gratuitement) sur le site de l'API Orange et récupérer votre clé d'identification. Vous bénéficierez lors de l'inscription de 20 SMS gratuits pour tester les APIs.

Pour en savoir plus, vous pouvez consulter un didactitiel sur slideshare.com qui vous guidera plus précisément dans la configuration et l'utilisation de la M-Shoutbox.

III - Conclusion

Pour tester la M-shoutbox, chargez simplement le package M-Shoutbox, installez le sur un serveur PHP 5, et rendez-vous sur l'URL d'administration de votre serveur, puis laissez-vous guider. Nous avons essayé de rendre la prise en main de l'application très simple, tant pour l'installation que pour l'utilisation. Vous pouvez utiliser cette application telle quelle sur vos serveurs, ou vous en inspirer pour l'enrichir ou l'intégrer à votre site. Il y a de nombreuses adaptations possibles, parmi lesquelles :

- pouvoir gérer plusieurs M-Shoutbox sur le même serveur PHP, en gérant un mot-clef différent par groupe de contacts,

- réceptionner des tweets, et les rediriger sur des listes de contacts,

- gagner de l'argent grâce à la M-Shoutbox en utilisant un numéro court SMS surtaxé

- etc.

Il existe bien d'autres API Orange utiles au quotidien. Vous pouvez aussi facilement intégrer dans vos applications des appels téléphoniques, des conférences téléphoniques, des serveurs vocaux interactifs, etc. Pour en savoir plus, rendez-vous sur le site Orange.