Mise à jour du script permettant d’envoyer un SMS via le portail SFR

Le 29 juillet 2005, je vous proposais un script qui permettait d’envoyer un SMS (texto) depuis le site SFR. Or, en décembre 2005, SFR a eu la bonne idée de changer son site ! Résultat : les version 0.1x de ce script ne fonctionnent plus.

Heureusement pour vous, je viens de reprogrammer une toute nouvelle version de ce script, disponible ici.

Pour information : en fait, SFR semble avoir changé son site pour des raisons de sécurité. Les logins/mot-de-passe ne passent plus en clair sur Internet, mais sont chiffrés en ssl (via des pages https). C’est une bonne chose. Ce qui est moins bon, c’est que :

  • dans la foulée, vous avez perdu votre carnet d’adresse du site web (merci SFR !!!). Toutefois, SFR a mis en place une procédure qui fonctionne tant bien que mal (plutôt bien si vous ne mettez pas d’accents) pour importer un carnet d’adresses depuis une feuille de calcul Excel,
  • votre ancien mot de passe de connexion au site SFR ne fonctionne plus (il faut en redemander un nouveau en allant sur http://www.sfr.fr, puis dans "identifiez-vous", "Première visite ? Code oublié ?"),
  • enfin, il faut à nouveau s’inscrire au service TextoWeb ! (et re-accepter les conditions d’utilisation), en étant identifié, et en allant ici : http://www.sfr.fr/do/textoweb/welcome.

In fine, si vous faites tout ça, mon script fonctionne très bien (il est un peu plus lent, car maintenant, il fait 6 requêtes au lieu de 3 ; la sécurité a un coût…).

Petits rappels :

  • ce programme nécessite PHP-CLI (PHP en ligne de commande) version 4.3.x minimum,
  • il utilise wget version 1.10 minimum (téléchargeable ici : http://www.gnu.org/software/wget/wget.html). Attention : beaucoup de distributions Linux fournissent encore en standard wget en version 0.9x, qui ne fonctionne pas avec ce script (nécessité d’utiliser l’option "–keep-session-cookies" pour pouvoir conserver les informations de session obtenues depuis la page d’authentification dans un fichier contenant les coockies),
  • il faut aussi avoir un compte chez SFR, avoir demandé un login/mot de passe, et avoir activé le service TextoWeb en acceptant les conditions d’utilisation,
  • cet outil n’est pas d’une publicité pour l’un ou l’autre des opérateurs. Ce qui a été fait ici avec SFR pourrait probablement être reproduit avec un autre fournisseur d’accès à un réseau GSM.

D’ailleurs, ce programme se veut plus un exemple d’utilisation de wget (distribué sous licence GPL2/LGPL) qu’un beau et propre programme d’envoi de SMS. Je ne serais être tenu pour responsable suite à une défaillance due à l’utilisation de ce script (qui n’est pas exempt de bugs, certains étant connus et listés dans les commentaires du code source). Par exemple, le bon fonctionnement de ce programme dépend de la constance du site textoweb de SFR. Si cet opérateur décide de changer son site, il est fort probable que ce script ne fonctionne plus.

Les paramètres, comme les numéros de téléphone, les mots de passe, l’éventuelle présence d’un serveur proxy, sont passés via les variables d’environnement. Le texte du SMS à envoyer est transmis par l’entrée standard (stdin). Je vous invite vivement à lire les commentaires au début du code source pour savoir comment installer et utiliser ce script.


Commentaire

Mise à jour du script permettant d’envoyer un SMS via le portail SFR — 2 commentaires

    • Disons plutôt que ça ne marche *plus* (ça a marché). En effet, comme SFR ne propose pas d’API officielle (et stable) pour réaliser cette opération, nous sommes obligé de simuler l’utilisation de leur portail web. Aussi, il faut simuler des parcours de page, et analyser la réponse du site web.
      Aussi, à chaque fois que SFR change son portail web, il faut adapter le script en conséquence.
      Comme je n’ai plus d’abonnement chez SFR, je ne peux plus maintenir ce script. Mais si vous avez compris l’idée générale, et si vous avez compris comment utiliser wget, vous devriez y arriver assez simplement.
      Bon courage, cordialement…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *