Le Bot Service (Preview) est mort, vive le Bot Service. Depuis le 13 décembre, le Bot Service est passé en General Availability sur Azure.

L’Azure Bot Service permet de créer 3 types de projets :

Web App BotCrée un environnement intégré destiné au développement de bots dans une Web App dont le code est éditable et publiable dans Visual Studio.Ce genre de bots est lié à un App Service plan dont le coût est prévisible.
Bot Channels RegistrationPermet d’enregistrer sur les canaux de discussions proposés par le Bot Service des bots créés avec le Bot Framework qui ne sont pas hébergés sur Azure.
Functions BotPermet le développement de bots intelligents s’exécutant dans un environnement serverless dont le code est uniquement éditable dans Azure.Ce genre de bots est lié par défaut à un Consumption plan dont le coût est lié à la charge d’utilisation. L’avantage est qu’il s’adapte automatiquement à la demande. Il est quand même possible de l’associer lier à un App Service plan.

Web App Bot

Nous allons voir comment créer une Web App Bot depuis Azure, récupérer son code source puis le publier dans Azure à partir de Visual Studio.

Pour commencer, il faut que vous ayez un abonnement Azure actif (offre d’essai, abonnement MPN, paiement à l’utilisation).

Créer un bot dans Azure

Dans le menu principal du portail Azure, cliquez sur Nouveau > AI + Cognitives Services > Web App Bot

Portail Azure

Donnez un nom à votre bot, qui sera le nom d’affichage du bot qui apparaitra dans les canaux. Ce nom peut être changé à tout moment.

Le Nom de l’application permet de créer l’URL unique du bot. Dans notre exemple, ce sera http://SofteeBotService.azurewebsites.net. Il doit utiliser uniquement des caractères alphanumériques, est limité à 35 caractères et ne peut pas être modifié une fois le bot créé.

Nom de l'application

Le modèle de bot Basic (C#) est sélectionné par défaut, c’est celui que nous utiliserons pour la suite de cet article.

Il est également possible d’utiliser Node.js à la place du C# et les différents modèles de bot proposés sont :

BasicBot ne contenant qu’un seul dialogue qui renvoie l’entrée de l’utilisateur
FormBot montrant comment collecter des entrées d’un utilisateur à l’aide d’une conversation guidée utilisant FormFlow
Language understandingBot montrant comment traîter le langage naturel en utilisant l’API LUIS de Cognitive Services
Question and AnswerBot distillant des informations dans des réponses en langage courant
ProactiveBot montrant comment utiliser les Azure Functions pour déclencher des évènements dans les bots Azure

Modèle de bot

Il n’y a plus qu’à cliquer sur le bouton Créer pour lancer le déploiement dans Azure, ce qui va :

  • créer une solution Visual Studio avec un projet de type application Web ASP.NET contenant le code correspondant au modèle de bot choisi
  • enregistrer le bot et générer son App ID et son App Password dans Azure AD v2.0
  • publier le bot dans le canal Web Chat

Build

Tour d’horizon des principaux panneaux de contrôle du bot

BuildÉditer le code source en ligneTélécharger le code source pour l’éditer dans Visual Studio et le publier depuis Visual Studio

Configurer le déploiement continu à partir d’un service contrôle de code source : Visual Studio Team Services, OneDrive, Référentiel Git Local, GitHub, Bitbucket, Dropbox ou un référentiel externe

Test in Web ChatPermet de tester le bot avec le canal Web Chat
AnalytiqueAffiche les statistiques d’utilisation par canal de messagerie
CanauxConnecter le bot à des canaux de messagerie

  • Skype, Bing, Cortana, Teams, Skype for business
  • Facebook Messenger, GroupMe, Kik, Slack, Telegram, Twilio (SMS)
  • Email, Web Chat, Direct Line
ParamètresModifier les paramètres Web App Bot : icône, nom d’affichage dans les canaux, Analytics via Azure Application Insights
Speech primingLiaison avec des applications LUIS

Et vous pouvez aussi retrouver les informations d’enregistrement de l’application sur l’Application Registration Portal.

Application Registration portal

 Les canaux ne s’affichent pas

Au moment où cet article a été écrit, le panneau Canaux ne s’affichait pas…en français.

Pour voir son contenu, il faut configurer votre portail Azure en anglais.

Azure en anglais

Et voilà

Connect to channels

Publier le bot depuis Visual Studio

Maintenant, nous allons voir comment publier le bot à partir de Visual Studio. Pour cela, il est nécessaire de télécharger le code source du bot depuis l’onglet Build de votre Bot Service.

La première chose à faire est de modifier le fichier Web.Config afin d’y ajouter l’App ID et le mot de passe associé.

<configuration>
  <appSettings>
    <!-- update these with your Microsoft App Id and your Microsoft App Password-->
    <add key="MicrosoftAppId" value="fa227afe-25b8-4f0c-aabf-7df182978b98" />
    <add key="MicrosoftAppPassword" value="●●●●●●●●●●●●●●●●" />
  </appSettings>
  ...
</configuration>

Ensuite, il faut configurer la publication Visual Studio. Pour cela, faire un clic droit sur le projet et cliquer sur l’élément Publier….

Azure a déjà configuré un profil de publication mais celui-ci ne fonctionne pas, dans ce cas, supprimez le.

Supprimer un profil non opérationnel

Ici, importez le bon profil de publication qui se trouve dans le dossier PostDeployScripts de la solution Visual Studio.

PostDeployScripts

Après l’importation, vous pouvez valider la connexion. Si tout est OK, cliquez sur Publier.

Une fois la publication terminée, retournez dans le portail Azure pour tester votre bot qui est maintenant complètement fonctionnel.

N’hésitez surtout pas à ajouter votre bot à vos contacts Skype !

Bot fonctionnel

Et voilà, il ne vous reste plus qu’à le personnaliser encore un peu plus et le rendre intelligent avec l’API Cognitive Services LUIS.

Ne ratez plus aucune actualité avec la newsletter mensuelle de SoftFluent

Newsletter SoftFluent