août
2013
Twilio est une société que j’ai connu un peu par hasard en assouvissant mon besoin de nouvelles découvertes il y a de cela presque 9 mois (Wow, déjà !). Le premier contact a eu lieu lors d’un webinar de la société talend. Au cours de cette présentation, twilio a été utilisé afin de fournir un point d’entrée vers Talend ESB. Concrètement, les utilisateurs peuvent voter par téléphone pour choisir le futur président des Etats-Unis d’Amérique. Twilio est l’outil permettant de recevoir un appel vocal, et de guider l’utilisateur grâce aux instructions qu’il reçoit de la part du Système d’informations mis en place par le présentateur. C’est ainsi que cette startup a piqué une première fois ma curiosité au vif. J’ai été séduit par la facilité avec laquelle il était possible de donner un accès vocal a un contenu Web.
Ma deuxième confrontation avec ce sujet fut lors de la découverte de la takeoffconf, dont le premier opus a eu lieu à Lille en janvier 2013. J’ai tout d’abord été surpris, en scrollant dans la page d’accueil, de voir apparaître le logo de la société parmi les sponsors. Ensuite, en descendant encore, j’ai pu noter la présence d’une session présentée par Rob Spectre. Lors de cette présentation sur les Solutions orientées architecture, il évoquera la stratégie produit de la startup qu’il représente.
Cette seconde expérience a servi de piqûre de rappel. Il fallait que j’aille plus loin dans cette découverte. C’est ainsi qu’il y a quelques mois, j’ai décidé de me rendre sur le site de twilio afin de me forger une expérience utilisateur sur ce nouveau service. Celle-ci s’est donc terminée par la mise en place d’un répondeur vocale en commençant par une étape cruciale, l’inscription.
Pas de fioriture pour s’inscrire, c’est simple et clair, ce qui permet de pouvoir commencer à s’amuser assez rapidement.
Et oui, c’est original de demander un numéro de téléphone pour contrôler que celui qui s’inscrit n’est pas un robot. Dans un premier temps, l’utilisateur pourrait être choqué, mais après tout, c’est du vocal que l’on veut faire ici !
L’attribution d’un numéro de test est extrêmement rapide, on l’obtient dans la foulée. Si vous ne comptez pas l’utiliser tout de suite, twilio fournit dans son portail d’administration la possibilité de rendre la ligne à nouveau disponible (release) pour d’autres applications de test. J’ai fait le test. Récupérer un nouveau numéro de test par la suite est tout aussi rapide que l’obtention lors de l’inscription. A noter également que si twilio n’a rien de francophone, les numéros obtenus font bien partis de nos bons vieux numéros nationaux.
Ca y est, Vous avez obtenu le sésame, la bidouille récréative peut maintenant commencer en tentant de passer des appels et en se faisant appeler par l’application mise en place par défaut pour votre compte.
Une fois ce premier contact réalisé, on peut se demander ce qui peut être fait maintenant. Si on a eu une première expérience du vocal, on peut par exemple commencer à chercher où l’on doit mettre le lien pour accéder à notre application VoiceXML. Ce serait faire fausse route. Twilio a pris le parti de ne pas utiliser un langage de communication standard afin, j’imagine, de ne pas en subir les limites. A chaud et après un simple survol de la solution de twilio, je dirais que le TwiML possède les avantages suivants :
- Simplicité : Plus simple a prendre en main que le VoiceXML, il permet un apprentissage plus rapide pour un néophyte.
- Directif : Je ne sais pas si c’est le bon terme, mais ce qu’il faut comprendre c’est que la où le VoiceXML suppose la compréhension de l’algorithme inhérent (FIA), le TwiML permet d’avoir le contrôle total de l’application. Pour le débutant, là encore, c’est plus simple et rassurant.
- Modifiable : Des solutions existent avec le VoiceXML pour ouvrir le langage à de nouvelles fonctionnalités, mais Twilio a fait du SMS un cheval de bataille au même titre que la voix. Il aurait été peu évident de proposer quelque-chose de simple pour le vocal, mais plus complexe pour les messages écrits (ajout d’objet spécifique pour le SMS alors que la voix est native en VoiceXML). Le TwiML est donc modifiable afin de le faire correspondre aux API que désire proposer twilio.
Je vais m’arrêter la pour ce qui est de la comparaison entre ces deux langages XML. La suite dans un prochain billet si cela intéresse du monde.
Les premiers pas avec twilio doivent se poursuivre, à mon humble avis, par la lecture de la documentation abondante présente sur le site, onglet « Docs ». C’est en parcourant cette doc que vous apprendrez que connaître TwiML n’est pas une obligation pour l’élaboration d’une application vocale, puisque des API existent pour le générer le code à partir des langages de développement les plus courants… et plus encore ! C’est en écumant cette documentation que j’ai notamment pu découvrir une application de répondeur vocal déjà créée en PHP et qu’il suffisait d’installer pour pouvoir la tester.
Le tutorial correspondant (https://www.twilio.com/docs/howto/voicemail) étant bien détaillé, je ne vais pas revenir sur les étapes de la mise en place de ce répondeur vocal. Je peux juste témoigner que cela fonctionne pour peu que l’on puisse mettre en place l’application vocale sur un serveur PHP accessible depuis le net :). Le seul problème que j’ai eu à déplorer était dû à la vétusté de mon hébergement chez OVH. Il faut un serveur PHP suffisamment récent, v5.3 minimum a priori. J’ai donc simplement eu besoin d’ajouter la ligne suivante dans mon fichier .htaccess.
Pour conclure, je vais donc tenter de répondre à une question qui se pose maintenant que l’on sait qu’un répondeur vocal perso peut être mis en place. A quoi ça sert ? La première réponse que je pourrais donner, c’est que ça sert à mettre le pied à l’étrier.Cette mise en bouche permet de mettre du vocal dans une application web. Vous trouverez par ailleurs dans les documentations de nombreux exemples permettant des interactions diverses avec des applications WEB. Drupal, par exemple, fait l’objet d’une API permettant émission et réception de SMS et d’appel vocaux. Ces fonctionnalités s’ouvrent à tout un chacun de façon relativement simple à mon goût.
Ma seconde réponse concernant l’utilité de ce répondeur vocal, c’est que c’est tout à fait pertinent. Certes, nous sommes habitués à avoir un répondeur intégré à l’offre de notre opérateur mobile, de notre fournisseur d’accès à Internet ou encore, de notre combiné de téléphone. Mais pourquoi ne pas héberger soit même un répondeur unique et commun à tous nos téléphones ? Que ce soit sur mobile ou sur un compte de téléphonie SIP par exemple, c’est tout à fait possible. On peut également travailler sur les fonctionnalités de l’application. Et pourquoi ne pas aller plus loin en mettant en place un service à la sauce Google Voice ? Ce service n’est pas encore disponible en France aux dernières nouvelles (elles datent un peu me concernant néanmoins), mais ce concept peut être pertinent !
Voici donc ce que je pourrais dire de cette petite incursion dans le monde de twilio. Un moyen simple de création d’application vocale. Un outil qui se conjugue parfaitement avec talend ESB, en tout cas d’après le webinar plutôt bluffant auquel j’ai pu assister. Néanmoins, ayant moi même travailler dans le domaine des applications vocales, en utilisant le standard VoiceXML, je ne peux pas dire que la solution de twilio s’adapte à tout. En tout cas, je ne peux pas le dire après ce simple exemple. Pour moi, des questions restent ouvertes concernant l’efficience des applications, leur maintenabilité et surtout, leur portage vers un éventuel prestataire concurrent. Après tout, OVH propose une offre alternative en VoiceXML plutôt bon marché… celle-ci fera peut-être l’objet d’un prochain article si j’ai du temps à y consacrer.