English version

Votre machine vous envoie un SMS (sur le réseau ItinerisTM)

Passer par Internet permet d'envoyer gratuitement des SMS (Short Message System) sur le réseau Itineris (on se demande comment les types se paient, mais bon, après tout, c'est leur problème). Il faut pour ce faire envoyer un message avec un format bien senti à leur serveur Web.

J'ai écrit un script PERL tout con pour envoyer un message depuis une station Unix. On écrit par exemple sms-itineris toto "Salut toto", et le GSM de toto reçoit le message. Autre possibilité:

make -k | sms-itineris toto
Et hop, le résultat de la compilation est envoyé à toto. Débile non ? Allez, une dernière:
$ cat ~/.forward
\tronche
"| grep -E '^(From:|Subject:)' | sms-itineris tronche"
Et on est notifié du mail qu'on reçoit, même quand on voudrait ne pas en entendre parler... Mais vous trouverez sûrement des tas d'utilisations plus intéressantes.

Le script

Ce qu'il faut

Comment le récupérer ?

Copiez juste le script chez vous, faites-en un chmod 755 sms-itineris (Unix, en supposant que vous l'ayez sauvé sous le nom sms-itineris), et c'est tout.

Les possibilités

On peut taper soit sms-itineris destinataire message, soit sms-itineris destinataire, et le message est lu sur l'entrée standard. Si le destinataire est purement numérique, il est pris comme le numéro, sinon on le cherche dans le fichier $HOME/.pager-calepin, qui est censé être une suite de lignes de la forme:
nom	numéro
Le nom et le numéro doivent être séparés par des tabs (\t). Exemple:
toto		12345678
maman		87654321
marlene		00000000
NB: en fait, on peut ajouter autant de champs que l'on veut. J'ai commencé à utiliser la troisième colonne pour indiquer quel est le réseau considéré (ce qui permettra un de ces jours d'utiliser le même script pour tous les réseaux). Dans ce cas, çà donne par exemple:
toto		12345678	itineris
maman		87654321	tam-tam
marlene		00000000	itineris

Une autre possibilité intéressante de la passerelle Itineris est de notifier de la délivrance du message par email. Pour utiliser cette possibilité, il suffit d'utiliser -notify. Par exemple:
sms-itineris toto -notify tronche@foo.bar.com 'Salut toto'.

Le script de leur serveur Web fait quelques contrôles sur l'adresse email (un @ et un seul, et au moins un . derrière le @), donc j'ai implémenté la même chose, même si je n'en vois pas trop l'intérêt (une adresse peu dérailler de bien d'autres façons).

Caveats

Le machin n'est qu'un premier jet écrit à partir du script Tam-Tam en 30 minutes (y compris l'analyse du protocole utilisé par leur serveur), donc il ne faut pas trop en demander:

Et si j'ai une machine sous Windows ou un Mac ?

Démerde-toi.

Le script est en PERL. Contrairement au script Tam-Tam, il est complètement autonome et n'utilise aucun process extérieur. Il fonctionnera si les appels socket et connect sont implémentés avec la même sémantique qu'en Unix, mais je n'ai pas (encore) pu vérifier. L'utilisation de la variable $HOME est acrobatique pour le moins.

Si vous essayez et que ça marche, soyez assez sympa pour m'envoyer un petit message. Si ça ne marche pas aussi, d'ailleurs. Merci d'avance.

Encore un mot

On peut envoyer des SMS sur Itineris sans script grâce à leur passerelle email ! Il suffit d'envoyer un mail à numéro@sms.itineris.tm.fr.

DISCLAIMER

Je n'ai rien à voir avec Itineris ou France-Telecom, et eux n'ont rien à voir avec moi !
Christophe Tronche, ch@tronche.com