Hello ! Dans cet article, on va expérimenter le nouveau bot framework (preview) de Microsoft.

Ce framework nous permet de développer (en C# ou en Node.js) et de déployer des bots intélligents avec lesquels on pourra échanger sur différentes plateformes (Slack, Skype, Facebook messenger…).
Ces bots peuvent être utilisés par des organisations ou des entreprisent afin d’être plus proches de leurs clients, ou par des personnes en tant qu’assistant personnel (comme Hello Jarvis, le bot de facebook).


Microsoft Bot Framework

Microsoft Bot Framework est une plateforme open-source et gratuite pour développer et créer des bots. Elle est composée de :

  • Bot Builder SDK : Cet SDK est open source (disponible en C# et NodeJs) et nous fournit des fonctionnalités pour modéliser notre conversation, la gestion d’état, etc.
  • Bot Connector : C’est un adaptateur entre notre bot et de nombreux canaux qu’il supporte. Il gère aussi le service de stockage, le routage des messages, etc.
  • Bot Directory : C’est un répertoire public pour les bots publiés. Les bots sont validés avant d’être listés et accessibles au public sur Bot Directory.

Objectif : Développer un bot en utilisant Bot Builder en REST API

Pour commencer, vous devez :

  1. Avoir la dernière version de Visual Studio 2015
  2. Télécharger le Bot Framework Connector SDK .NET template ici
  3. Placer l’archive sous “\Visual Studio 2015\Templates\ProjectTemplates\Visual C#
  4. Ouvrir VS et créer un nouveau projet C# avec ce nouveau Bot Application template

alt text

Lorsque nous créerons un nouveau projet à l’aide du modèle de bot (le template téléchargé), nous verrons que le bot n’est rien d’autre qu’un simple projet Web Api.
En fait, ce bot est un service Web basique. Cette Web API sera hébergée et enregistrée avec Microsoft Bot Connector. Ce connecteur sert d’adaptateur entre notre service Web et différents canaux.

alt text

Ce template est un exemple fonctionnel, sous forme de REST API, de ce qu’on appelle un Echo bot qui va retourner l’entrée utilisateur. La méthode POST (Controllers\MessagesController.cs) est la fonctionnalité de base de cet exemple :

alt text

Cet méthode POST accepte un objet de type Activity qui représente les données JSON que nous échangeons avec le bot connector. La propriété Text va contenir le message tapé par l’utilisateur.
Le type d’activié ActivityTypes.Message représente la communication entre le bot et l’utilisateur. Les autres types d’activités sont présents dans la méthode HandleSystemMessage(Activity message).

Quand on build et on lance le bot, un navigateur se lance (Microsoft Edge dans cet exemple) qui va héberger notre programme avec l’adresse http://localhost:3979/ .
Le message affiché peut-être modifié (le fichier default.htm) :

alt text


Comment tester notre Bot ?

Afin de tester ce bot, localement, on doit installer le Bot Framework Emulator.
Ici, on va spécifier l’adresse locale qu’on a eu au lancement du bot :
localhost:3979/api/message

alt text

Pour le moment, on va laisser les deux champs App ID et App Pwd vides car on va tester notre bot en local (on verra leurs utilisation dans un prochain article). Alors, on teste ?

alt text

Tatataaa ! Voilà notre echo bot, qui nous répond


Conclusion

Dans cet article, on a vu comment développer et tester localement un simple echo bot en utilisant Microsoft Bot Framework. Je vous invite à télécharger le Bot Builder SDK depuis sa page Github qui contient plusieurs autres exemples.

Dans le prochain article, on va rendre notre bot plus intélligent. Si vous avez des questions, posez-les en commentaires. A bientôt !