jeudi 27 juillet 2017

Bot Framework Part 5 - Déployer un Chatbot

Dans cet article, nous allons aborder toutes les étapes nécessaires à la mise en production d'un Chatbot

  • Enregistrer notre bot sur le portail Bot Framework
  • Déployer notre Chatbot sur une instance de site web dans Azure
  • Tester notre Chatbot
  • Emuler différents channels : Slack, Teams, Skype, Facebook Messenger etc.
Notre Chatbot est simplement une application web et de ce fait il est possible de l'héberger sur tout host permettant d'héberger une site web ASP.net (Azure, AWS etc.)
Pour enregistrer notre Bot, il suffit de se connecter au portail dev.botframework.com en s'authentifiant, puis cliquer sur l'onglet My Bots
Puis cliquer sur Register pour enregistrer notre Chatbot, nous complétons alors le nom du Chatbot, le Handle qui est à usage interne uniquement et ne doit pas contenir d'espaces et enfin une description du Chatbot
Pour la configuration, elle sera fournie par le portail, mais il faut tout de même en entrer une, nous pouvons mettre temporairement : https://blank-url.com puis cliquer sur  le  bouton Create Microsoft App ID
Nous sommes alors rediriger vers le portail de développement Microsoft avec la génération de l'ID
Cliquer sur le bouton générer Mot de passe, la fenêtre suivante s'affiche alors
Attention à bien copier l'App ID et le Password dans un endroit ou vous saurez le retrouver, nous en aurons besoin pour modifier la configuration du Chatbot ultérieurement. Il ne sera affiché qu'une seule fois tel qu'indiqué dans la fenêtre popup
Enfin, on renseigne l'adresse email Admin (notre compte LiveID) puis simplement cliquer le bouton Register
Nous devons maintenant configurer et déployer notre Chatbot, pour cela revenons dans Visual Studio, ouvrir le fichier Web config et complèter les variables App ID et Password avec les valeurs générées lors de l'enregistrement du Chatbot

Puis nous allons déployer le Chatbot sur une instance Web Azure, pour cela simplement lancer la commande Publish à partir du projet Chatbot et choisir la création d'une nouvelle Microsoft Azure App Service
Visual Studio, nous propose la fenêtre de création en renseignant à partir de nos données de profil, simplement cliquer sur le bouton Create
Une fois généré, nous récupérons l'URL du Chatbot afin de la remplacer dans la page de définition de notre bot et donc remplacer l'URL https://blank-url.com par celle générée.
Nous revenons dans le portail bot Framework et remplacons l'adresse sans oublier de la suffixer par : /api/messages et préfixer par https, puis cliquer sur Save Changes en bas de page




Dernière étape, tester le Chatbot, pour cela, simplement cliquer sur le bouton Test, une fenêtre de dialogue s'ouvre, le Chatbot devrait répondre tel qu'attendu : 
Pour terminer, nous savons qu'il n'est absolument pas une bonne idée de laisser des mots de passe ou identifiants dans le controle de code source, pour cela nous allons retirer l'App ID et le password du web.config pour le reporter dans la section App Settings de notre App service, en créeant simplement les 2 Clé valeurs comme montré ci dessous

Ne pas oublier de sauvegarder
Nous allons par exemple pouvoir l'intégrer dans Skype par exemple, à partir de la page de votre Bot, cliquer sur Skype
Puis cliquer sur Add to Contacts et lancer Skype
Ci dessous, la conversation avec le Bot intégrée dans Skype

Pour tous les autres logiciels conversationnels, il suffit de cliquer sur celui que l'on veut intégrer et simplement suivre la procédure