Programmer sa skill Alexa : tutoriel
Avec Alexa, Amazon propose un service vocal basé Cloud pour les enceintes intelligentes distribuées par l’entreprise, telles qu’Amazon Echo, Echo Dot, Echo Show ou Echo Spot. Une enceinte intelligente est un assistant virtuel connecté à Internet qui reçoit des commandes via une interface vocale, ce qui lui permet d’effectuer diverses interactions.
Les enceintes intelligentes servent à utiliser des services Internet basés sur l’audio et permettent de gérer des appareils connectés via WiFi ou Bluetooth grâce aux techniques de la domotique (smart home). L’assistant vocal Alexa offre déjà diverses fonctions de base dans sa programmation initiale. Grâce aux commandes vocales, les utilisateurs peuvent par exemple écouter de la musique, demander les actualités du jour, les infos trafic, la météo ou encore gérer leur emploi du temps. Combinée à des appareils intelligents, Alexa offre une interface vocale pour contrôler des lampes, des thermostats ou encore des prises intelligentes.
Mais d’autres compétences peuvent être installées. Dans la boutique Alexa Skills, plus de 50 000 compétences de développeurs tiers sont mis à disposition des utilisateurs. Elles peuvent être activées gratuitement. Mais si vous êtes créatif, vous pouvez programmer vos propres compétences Alexa à l’aide du kit Alexa Skills et de AWS Lambda. Nous vous montrons comment ça marche.
Qu’est-ce qu’une Skill Alexa ?
Les Skills Alexa sont des programmes à activer en ligne qui permettent d’élargir l’éventail des fonctions du service vocal Alexa. D’un point de vue technique, une skill Alexa ou « compétence » Alexa se compose d’une interface utilisateur (le frontend) et d’une logique de programme (le backend). Le frontend d’une skill Alexa peut être toute sorte d’appareil intelligent qui prend en charge le service linguistique Alexa ; par exemple, une enceinte intelligente Amazon Echo ou un réfrigérateur LG correctement équipé. La logique du programme en backend fonctionne quant à elle soit sur votre serveur, soit sur AWS Lambda, un service de traitement de données fourni par Amazon.
AWS (Amazon Web Services) est une filiale de la société américaine de vente en ligne Amazon. Avec la plateforme Cloud du même nom, l’entreprise compte parmi les principaux fournisseurs d’approvisionnement de ressources informatiques à la demande avec un modèle de facturation basé sur l’utilisation.
Conditions pour le développement de skills Alexa
Les compétences Alexa sont développées à l’aide du kit ASK et mises à disposition des utilisateurs sur la boutique Alexa. L’accès au kit est disponible via un compte Amazon Developer gratuit.
Le kit de compétences Alexa (ASK) est une collection d’API en libre-service, d’outils, de documentation et d’exemples de code qui permettent de développer rapidement ses propres skills Alexa gratuitement, et donc si nécessaire sur la base de blocs préconçus.
Si vous ne souhaitez pas héberger vous-même le backend de votre skill Alexa, vous aurez également besoin d’un compte AWS qui vous donne accès au service de traitement de données AWS Lambda.
Tutoriel : 7 étapes pour développer votre skill Alexa
De la création de votre première compétence Alexa personnalisée à la publication de votre application, on distingue sept étapes :
- Aux étapes 1 et 2, vous créez une nouvelle compétence Alexa dans la console de développement Amazon et configurez votre modèle d’interaction pour l’interface vocale.
- Sur la base de ce modèle d’interaction, vous créez une fonction AWS Lambda lors de l’étape 3. Cette dernière inclut la logique du programme de votre skill et fonctionne sur la plateforme cloud AWS.
- À l’étape 4, vous reliez la fonction AWS Lambda à la console Amazon Developer Console pour mettre votre skill à la disposition des appareils Amazon.
- Enfin lancez sur une phase de test à l’étape 5 pour valider puis publier votre skill aux étapes 6 et 7.
Voici un exemple pour illustrer simplement le principe de développement d’une skill Alexa :
L’entrepreneuse Constance tient un petit stand de sandwichs à Paris : le Flour Pot Sandwiches. Pour faire connaître son commerce et répondre aux interrogations des clients, elle lance non seulement un site Web, mais aussi une skill pour le service linguistique Alexa. Pour commencer, elle s’attaque donc à la création d’une compétence pratique permettant à ses clients de demander les heures d’ouverture de Flour Pot Sandwiches via l’interface vocale Alexa.
1. Préparation
Pour permettre aux utilisateurs du service Alexa Language de développer leurs skills, Amazon propose un environnement de développement avec interface Web graphique grâce au kit de compétences Alexa que l’on trouve sur l’Alexa Developer Console. Cette dernière fait partie d’Amazon Developer Console.
Connectez-vous à Amazon Developer. Si vous n’avez pas encore de compte, vous pouvez en créer un gratuitement.
Après vous être connecté, vous accédez à l’aperçu des services. Sélectionnez « amazon alexa ».
Dans le menu déroulant qui s’ouvre sous « Alexa Skills Kit », portez votre souris sur « Développer » puis cliquer sur « Aperçu ». Une nouvelle page s’ouvre.
Cliquez maintenant sur « Start a skill ». La page d’accueil de la console de développement Alexa vous montrera toutes les compétences que vous avez vous-même créées. Si vous vous connectez pour la première fois, la liste est vide.
À l’heure actuelle, Alexa Developer Console n’est disponible qu’en anglais, japonais et chinois.
Cliquez enfin sur « Create Skill » pour créer une nouvelle skill Alexa.
Donnez un nom à votre skill, sélectionnez la langue de votre choix et sélectionnez l’un des quatre types de modèle d’interaction pour votre compétence :
- Custom (modèle d’interaction personnalisé)
- Flash Briefing (modèle d’interaction prédéfini pour les flux d’actualités)
- Smart Home (modèle d’interaction prédéfini pour les applications Smart Home)
Dans ce tutoriel Alexa Skill, nous vous montrons comment créer des modèles d’interaction personnalisés à l’aide du modèle Custom.
La rubrique « Skill name » est importante : c’est sous nom que s’affichera plus tard votre compétence dans la boutique Alexa.
Dans notre exemple, Constance choisit le nom « Flour Pot Sandwich ».
Cliquez de nouveau sur « Create skill » pour lancer le processus de développement.
Si vous souhaitez modifier ou ajuster une compétence déjà créée, cliquez sur le bouton « Edit » dans l’aperçu des compétences pour traiter les données existantes et les modifier.
2. Configurer le modèle d’interaction à l’aide du kit de compétences Alexa
Pour le développement de votre compétence Alexa, il existe une interface utilisateur graphique qui permet d’intervenir le moins possible soi-même dans le code. Le menu d’édition de la console de développement Alexa est divisé en cinq rubriques :
- Build (développement)
- Test
- Distribution (publication)
- Certification
- Analytics
Utilisez les onglets de la barre de navigation en haut de la fenêtre du navigateur pour passer d’une zone à l’autre.
Commencez par la section « Build » pour concevoir un modèle d’interaction en utilisant le kit de compétences Alexa. La page de visualisation est divisée en trois colonnes. Votre skill peut être créée à l’aide de la Skill Builder Checklist dans la colonne de droite. Elle comprend quatre étapes de configuration :
- Sélectionner son nom invocation name
- Définir ses intentions (intents) et exemples d’instructions
- Créer le modèle
- Choisir un endpoint
Lorsque l’une de ses étapes obligatoires est terminée, une coche verte s’affiche.
Lancez une étape de configuration en cliquant sur l’une des rubriques de la checklist Skill Builder. Vous pouvez également ouvrir les différents domaines de configuration via la barre de menu dans la colonne de gauche. Cette dernière présente notamment un onglet pour l’éditeur JSON et pour la sélection des interfaces utilisateur.
Dans la colonne centrale de la page d’aperçu, une documentation sur la programmation des compétences Alexa ainsi qu’une vidéo d’aide sont disponibles.
Sélectionner un nom d’invocation
Tout d’abord, définissez le nom d’invocation (invocation name) de votre skill Alexa. Cliquez sur la première étape de la checklist Skill Builder ou sélectionnez l’option « Invocation » dans le menu de gauche.
Le nom d’invocation est le terme qui sera utilisé par les utilisateurs pour appeler votre skill. Il peut être le même que le nom de la compétence ou en différer si nécessaire.
Entrez le nom d’invocation désiré dans le champ prévu à cet effet. Faites attention tout de même aux points suivants :
- Prenez un nom d’invocation de deux mots ou plus.
- Séparez les mots par des espaces.
- N’utilisez que des lettres minuscules.
- Mettez le nom de l’invocation entre guillemets si vous utilisez une apostrophe ou une abréviation avec un point.
- Les chiffres ou autres caractères spéciaux doivent être écrits au complet.
Le nom d’invocation ne doit comporter aucune phrase de lancement de la skill Alexa de type « launch » (lance), « ask » (demande), « tell » (dis), « load » (charge), « open » (ouvre) ou « play » (joue) et ne doit pas non plus utiliser un nom d’appel comme « Alexa », « Amazon », « Echo » ou « Computer » pour interpeller l’enceinte intelligente. De même, les mots « skill » et « app » ne sont pas autorisés.
Constance choisit le nom d’invocation « Flour Pot Sandwich » pour sa skill.
Sauvegardez l’invocation name en cliquant sur « Save model » puis cliquez sur « Custom » pour revenir à l’aperçu.
Définir les intentions et exemples d’instructions
Avec Intents, vous définissez les actions que votre compétence Alexa exécute dès qu’un utilisateur émet une phrase spécifique. Vous précisez ce qu’un utilisateur de votre compétence peut dire, quelle est l’intention et comment votre skill réagit. Chaque compétence personnalisée contient déjà cinq intentions prédéfinies qui doivent être ensuite mises en œuvre. De plus, vous pouvez ajouter des intentions préconçues ou personnalisées selon vos besoins. Procédez comme ci-dessous pour créer une intention personnalisée.
Donnez un nom à votre nouvelle intention et cliquez sur « Create custom intent ».
Définissez des exemples d’instructions avec lesquels les utilisateurs peuvent utiliser la compétence. Il vous suffit d’entrer la phrase souhaitée dans le champ de texte prévu à cet effet et de cliquer sur le signe plus (+).
Constance aimerait programmer une intention pour permettre aux utilisateurs de demander les heures d’ouverture de son commerce. Elle nomme l’intention « GetOpeningHours » et saisit des phrases d’exemple avec lesquelles les utilisateurs peuvent demander les informations souhaitées.
Les modèles de langage définis sont ensuite automatiquement élargis grâce à l’apprentissage automatique (machine learning) de la console de développement Alexa. Toutefois, cela ne fonctionne que si le système dispose d’une base de données suffisamment importante. Il est donc recommandé d’entrer au moins huit exemples d’énoncés avec l’intention désirée, dans le meilleur des cas une trentaine.
Si vous avez saisi un nombre suffisant d’exemples d’instructions pour votre skill Alexa, revenez à l’aperçu à l’aide du bouton « Custom » pour créer le modèle et le tester par apprentissage automatique.
Créer le modèle
Procédez comme suit pour créer le modèle d’interaction de votre compétence Alexa en fonction des paramètres que vous avez définis.
Cliquez sur « Build Model » dans la checklist Skill-Builder. La console Amazon Developer Console affiche une notification vous informant que le processus de compilation a commencé.
Attendez que la console vous confirme que votre modèle d’interaction a bien été créé.
Si vous souhaitez changer par la suite le nom d’invocation, vos intents ou les exemples d’instructions, il vous suffit de redémarrer le processus de compilation pour créer un nouveau modèle.
Sélectionner le point d’arrivée du service Web (endpoint)
L’étape 4 de la checklist consiste au choix du point d’arrivée, le « endpoint » du service Web. Deux options s’offrent à vous. La logique du programme de votre skill Alexa peut être exécutée soit comme une fonction lambda sur la plateforme de Cloud AWS, soit via HTTPS sur votre serveur Web.
Si vous voulez que la logique du programme s’exécute sur vos propres ressources, vous avez besoin d’un serveur Web qui réponde aux exigences suivantes :
- Connexion à Internet
- HTTPS avec un certificat SSL/TLS reconnu par Amazon
- Port 443 disponible pour les demandes de renseignements
Si vous souhaitez utiliser AWS Lambda pour l’hébergement, vous aurez besoin d’un compte utilisateur Amazon Web Service.
Dans ce tutoriel, nous nous appuyons sur AWS et créons la logique du programme de la compétence Alexa comme fonction Lambda.
Cochez par conséquent la case AWS Lambda ARN. ARN signifie « Amazon Resource Name ». C’est un nom unique de ressource AWS, par exemple une fonction lambda.
Avant de pouvoir faire référence avec l’ARN à une fonction lambda qui contient la logique du programme de votre compétence, vous devez d’abord la créer dans la console AWS. Nous vous montrerons comment procéder au point 3 de ce tutoriel sur les skills Alexa.
Optionnel : interfaces de programmation
Les skills Alexa peuvent être complétées par différentes API (interfaces de programmation) qui offrent des possibilités supplémentaires pour fournir des contenus multimédia ou pour intégrer des périphériques externes. Le tableau ci-dessous présente une sélection des API disponibles.
Interface | Description |
---|---|
API Audio Player | L’API Audio Player complète le code de programme de votre skill pour inclure des exigences de lecture audio en streaming. |
API Display | En plus de l’interface vocale, une compétence Alexa améliorée avec l’API Display permet des interactions via l’écran de l’Echo Show. |
API Video App | Une skill avec une API Video app peut lire du contenu vidéo en streaming sur l’Echo Show. |
API Alexa Gadget | L’API Gadget peut être utilisée pour développer les skills permettant des interactions avec des accessoires Alexa. |
3. Créer une logique de programme pour AWS Lambda
Le service de traitement des données AWS Lambda fait partie d’Amazon Web Services. Inscrivez-vous d’abord pour obtenir un compte AWS gratuit.
L’inscription à un compte AWS n’engendre aucun frais. Des coûts seront toutefois induits lorsque vous utiliserez les ressources d’AWS. Pendant les 12 premiers mois, Amazon met certains services gratuitement à la disposition des nouveaux utilisateurs enregistrés.
Connectez-vous à votre compte AWS et sélectionnez « AWS Management Console » sous « Mon compte ».
La console management AWS est une interface basée navigateur que l’on peut utiliser pour gérer Amazon Web Services.
Tout d’abord, assurez-vous que votre console est réglée dans la région où vous voulez offrir votre compétence Alexa. Sélectionnez le paramètre régional « EU (Ireland) » si vous voulez que vos skills soient disponibles pour les utilisateurs situés en France.
La console de gestion AWS donne accès à une variété de ressources de cloud computing. Pour trouver le produit AWS que vous cherchez, utilisez la fonction « Find services ». Entrez le mot-clé « Lambda » et confirmez avec Enter. Autrement, vous pourrez trouver une vue d’ensemble de la gamme de produits AWS dans le menu « Services ».
Sur la page d’accueil du service de traitement des données Lambda AWS, la console AWS affiche un aperçu des fonctions Lambda que vous avez créées. Si vous n’avez pas encore créé de fonctions, la liste est vide.
Cliquez sur « Créer une fonction » pour lancer le processus de configuration d’une nouvelle fonction Lambda.
Les fonctions lambda d’AWS peuvent être créées à partir de zéro, à l’aide d’un modèle préconfiguré ou sur la base d’une application fournie par AWS ou les partenaires AWS dans le répertoire d’applications sans serveur AWS (AWS Serverless Application Repository).
Comme nous devons utiliser plusieurs bibliothèques pour la logique du programme de notre compétence Alexa, il est judicieux de la créer à partir d’un modèle.
Sélectionnez donc l’option Modèle et entrez le mot-clé « alexa » dans le masque de recherche.
Dans ce tutoriel, nous avons choisi le modèle " alexa-skill-kit-sdk-factskill" basé sur Node.js 6.10.
Confirmez votre sélection en cliquant sur « Configurer ».
Dans l’étape suivante, sélectionnez un nom et le rôle d’exécution Lambda souhaité. Ce dernier définit les autorisations de la fonction. Dans la lignée de notre exemple, nous nommons la fonction « FlourPotSandwiches ». Pour définir ses autorisations, on clique dans le menu déroulant « Rôle » sur « Create a custom role ».
La console AWS Management nous informe que la fonction contient des bibliothèques externes.
Le masque de configuration pour le rôle d’exécution de la fonction s’ouvre dans un nouvel onglet - des valeurs prédéfinies sont déjà insérées.
Ne modifiez rien ici et confirmez le réglage avec « Allow ». La fonction lambda est créée avec le rôle « lambda_basic_execution ». L’onglet se ferme automatiquement.
Dans la partie inférieure du masque de configuration, vous trouverez le code de fonction lambda du modèle. Vous n’avez pas besoin de faire attention à cela au début. Cliquez sur « Create function ».
Après la création de votre fonction lambda, vous êtes automatiquement redirigé vers la vue d’ensemble pour la configuration de la fonction lambda, où vous pouvez effectuer tous les autres réglages nécessaires.
Dans la partie supérieure de la synthèse de configuration, vous trouverez le designer de fonctions et un éditeur avec lequel vous pouvez intervenir manuellement dans le code. L’éditeur est suivi par d’autres boutons de configuration, qui ne seront pas abordés en détail dans ce tutoriel sur les skills Alexa.
Faites défiler vers le bas jusqu’à la section « function code », marquez le code entier dans l’éditeur avec [Ctrl] + [A] et effacez-le avec la touche Suppr.
Passez maintenant à la console de développement Amazon et ouvrez le modèle d’interaction de votre compétence Alexa dans l’éditeur JSON. Le bouton correspondant se trouve dans le menu de navigation à gauche de la fenêtre.
Marquez tout le code JSON avec [Ctrl] + [A] et copiez-le dans le presse-papiers avec [Ctrl] + [C].
Le modèle d’interaction pour notre exemple de skill est le suivant :
{
"interactionModel": {
"languageModel": {
"invocationName": "flour pots sandwiches",
"intents": [
{
"name": "AMAZON.FallbackIntent",
"samples": []
},
{
"name": "AMAZON.CancelIntent",
"samples": []
},
{
"name": "AMAZON.HelpIntent",
"samples": []
},
{
"name": "AMAZON.StopIntent",
"samples": []
},
{
"name": "AMAZON.NavigateHomeIntent",
"samples": []
},
{
"name": "GetOpeningHours",
"slots": [],
"samples": [
"When will the store close",
"When will the store open",
"When does the store open",
"When does the store close",
"What are the opening hours"
]
}
],
"types": []
}
}
}
Le code montre le modèle d’interaction précédemment créé au format JSON.
JSON (JavaScript Object Notation) est un format d’échange de données compact, basé texte, qui est facile à traiter pour les hommes comme pour les machines. Les données au format JSON sont stockées sous forme de paires nom-valeur ou de listes ordonnées.
Notre document JSON contient les intentions de notre skill Alexa ainsi que les exemples d’instructions (si disponibles). Il inclut donc toutes les possibilités d’interaction disponibles sur la page utilisateur.
La façon dont notre compétence réagit aux signaux de l’utilisateur est définie dans le code de fonction de notre fonction Lambda. Pour cela, nous utilisons l’application Web Skillinator.io. Avec cet outil gratuit, vous pouvez très rapidement convertir un modèle d’interaction JSON en un modèle Lambda valide.
Entrez l’adresse https://skillinator.io/ dans votre navigateur Web et collez le modèle d’interaction du presse-papiers dans la fenêtre de l’application Web. Cliquez ensuite sur « Generate ».
Copiez le modèle lambda généré dans le presse-papiers et rendez-vous sur l’aperçu de la configuration de votre fonction lambda dans la console de gestion AWS. Insérez maintenant le modèle comme code de fonction pour votre fonction lambda. Cliquez sur « Save » pour accepter le changement.
Vous avez maintenant créé une fonction lambda avec une logique de programme valide. Cependant, des sections essentielles du code de fonction sont à compléter - par exemple, la sortie vocale d’Alexa qui est émise dès qu’un utilisateur prononce une phrase correspondant à l’intention définie.
Il est donc nécessaire de parcourir le modèle créé avec Skillinator.io ligne par ligne et de réécrire manuellement les sections nécessaires.
Dans ce tutoriel sur les skills, nous limitons les adaptations du code de fonction à la welcomeOutput (le message de bienvenue) et à la sortie vocale pour l’intention « GetOpeningHours » définie dans le modèle d’interaction. Dans la pratique, cependant, vous devez définir une sortie vocale individuelle pour toutes les compétences que vous proposez.
La welcomeOutput est définie par la variable du même nom et se trouve dans la zone commentée « 1. Text strings ». Nous remplaçons la phrase générique « This is a placeholder welcome message. This skill includes 6 intents. Try one of your intent utterances to test the skill » par un message d’accueil personnalisé.
Le welcomeOutput est complété par un welcomeReprompt. Vous définissez ici ce qu’Alexa doit dire si l’utilisateur ne répond pas à l’invite de bienvenue.
Pour les applications vocales, travaillez toujours avec des variations. Faites en sorte que l’interaction avec vos skills puisse être aussi variée que possible. Par exemple, le Reprompt doit toujours être une reformulation de la première sortie émise.
// 1. Text strings =====================================================================================================
// Modify these strings and messages to change the behaviour of your Lambda function
let speechOutput;
let reprompt;
let welcomeOutput = "Welcome to Flour Pot Sandwiches. What can I do for you?";
let welcomeReprompt = "How can I help you";
Ensuite, nous faisons défiler le code jusqu’à la zone « 2. Skill Code ». On trouve ici six Intent-Slots – soit nos cinq intentions préconfigurées ainsi que notre intention personnalisée « GetOpeningHours ».
L’intention « GetOpeningHours » permet à un utilisateur de se renseigner sur les heures d’ouverture de la boutique. Nous remplaçons le caractère de remplissage « This is a place holder response for the intent named GetOpeningHours. This intent has no slots. Anything else? » par une réponse correspondant à l’intention.
},
‘GetOpeningHours’: function () {
speechOutput = ‘‘;
//any intent slot variables are listed here for convenience
//Your custom intent handling goes here
speechOutput = "Flour Pot Sandwiches is open today until 6pm.";
this.emit(":ask", speechOutput, speechOutput);
},
Après avoir sauvegardé les changements, la skill Alexa que nous avons programmée nous-mêmes est théoriquement prête pour le premier test. Pour cela, nous devons d’abord lier la fonction lambda « FlourPotSandwiches » avec la configuration Web de la compétence dans la console Alexa Developer.
4. Lier le modèle d’interaction avec la fonction Lambda AWS
Pour que notre compétence Alexa puisse être utilisée par les utilisateurs via une enceinte intelligente, il est nécessaire de relier les deux parties prenantes. Nous procédons en deux étapes :
- Tout d’abord, nous définissons le modèle d’interaction configuré dans la console Alexa Developer comme déclencheur de la fonction lambda d’AWS.
- Ensuite, nous entrons la fonction lambda « FlourPotSandwiches » dans la console Alexa Developer comme point d’arrivée (endpoint) du service Web pour la compétence.
Définition d’un modèle d’interaction comme déclencheur (trigger)
Ouvrez la configuration de votre fonction lambda dans la console de gestion AWS et sélectionnez l’option « Alexa Skills Kit » dans le designer de fonctions.
Le kit de compétences Alexa est maintenant listé comme déclencheur dans la représentation graphique de votre fonction Lambda, mais nécessite une configuration supplémentaire.
On a maintenant besoin d’une ID de qualification du modèle d’interaction créé dans la console de développement Alexa. Pour le déterminer, passez à la console de développement Alexa et sélectionnez « Endpoint » dans la barre de navigation sur le côté gauche de la fenêtre de votre navigateur.
Copiez dans le presse-papiers la chaîne de caractères affichée sous « Your Skill ID » et saisissez-la comme ID de qualification de votre fonction Lambda. Confirmez le réglage en cliquant sur « Add » (Ajouter) et enregistrez vos modifications.
Entrer la fonction lambda comme point d’arrivée
Pour définir le point d’arrivée pour votre skill, faites défiler l’aperçu de la configuration de votre fonction Lambda vers le haut. Copiez l’ARN dans le coin supérieur droit de la fenêtre de votre navigateur pour le presse-papiers et passez à la console Alexa Developer.
Dans le menu de navigation de la console Alexa Developer, sélectionnez à nouveau « Endpoint » (si ce n’est déjà fait) et collez l’ARN copié dans le champ « Default Region ».
Vous devez définir au moins un endpoint par défaut pour votre compétence. Vous avez également la possibilité de spécifier d’autres critères d’évaluation pour les régions Amérique du Nord, Europe, Inde ainsi que pour le Moyen-Orient et Extrême-Orient. Enregistrez les paramètres en cliquant sur « Save Endpoints ».
Votre compétence Alexa est maintenant prête pour le premier test.
5. Test
Dans la section « Test », la console Alexa Developer offre un environnement de test complet pour les compétences Alexa programmées par vos soins, incluant un simulateur Alexa avec sortie vocale. Vous pouvez accéder à l’environnement de test en cliquant tout simplement sur l’onglet « Test » qui se trouve dans la barre de menu en haut de la fenêtre du navigateur.
Par défaut, l’environnement de test est désactivé pour les compétences Alexa nouvellement créées. Activez-le en changeant le menu déroulant de « Off » à « Development ».
Vous avez à ce stade l’occasion d’interagir avec vos compétences et de vous assurer qu’elles fonctionnent comme vous l’aviez imaginé.
Autorisez l’accès à un microphone au simulateur Alexa ou entrez des commandes vocales à l’aide du clavier. Ouvrez votre nouvelle compétence Alexa en utilisant l’Invocation et testez une commande vocale qui correspond à l’une des intentions définies.
Notre exemple de skill peut commencer par l’invocation « Flour Pot Sandwiches ». Alexa répond avec le welcomeOutput défini dans la logique du programme :
« Bienvenue chez Flour Pot Sandwiches. Que puis-je faire pour vous ? »
L’accès à la logique du programme fonctionne. Les entrées et sorties traitées par le service vocal d’Amazon dans le cadre de la requête sont affichées dans la fenêtre Skill I/O au format JSON.
Nous allons donc maintenant nous renseigner sur les heures d’ouverture :
« Quand est-ce que le restaurant ouvre aujourd’hui ? »
Alexa comprend notre question et nous donne les informations dont nous avons besoin :
« Flour Pot Sandwiches ouvre aujourd’hui de 10h à 18h. »
Vous pouvez aussi tester les compétences Alexa nouvellement développées avant leur publication sur tous les appareils connectés à votre compte Amazon Developer.
6. Publication
Si vous avez testé votre nouvelle compétence Alexa et êtes satisfait, vous pouvez la mettre à la disposition d’autres utilisateurs sur la boutique Alexa skills. Pour ce faire, il est nécessaire de procéder à sa publication.
Ainsi, allez dans la rubrique « Distribution » dans le menu de navigation de la console Alexa Developer. Remplissez tous les champs obligatoires sous « Skill Preview », « Privacy & Compliance » et « Availability ».
Sous « Skill Preview » (aperçu), entrez toutes les informations qui doivent être affichées aux utilisateurs. On note notamment les informations suivantes :
- Nom de la compétence
- Brève description (max. 160 caractères)
- Description détaillée (max. 4 000 caractères)
- Au moins trois exemples d’instruction
- Petite icône pour la compétence
- Grande icône pour la compétence
- Catégorie
Si nécessaire, vous pouvez également saisir des informations sur vos nouveautés et insérer des liens vers les dispositions relatives à la protection des données ou les conditions d’utilisation de votre compétence.
Vous n’avez pas d’icône pour vos compétences pour l’instant ? Vous pouvez utiliser Alexa-Skill-Icon-Builder qui est disponible gratuitement.
Sous « Privacy & Compliance », vous indiquez si les utilisateurs peuvent utiliser des fonctions skills dans le cadre de votre compétence, si vous recueillez des données personnelles, si vos compétences s’adressent également à des utilisateurs âgés de moins de 13 ans et si elles incluent de la publicité.
L’activation d’une compétence Alexa via la boutique Alexa Skills est gratuite. Les projets programmés avec le kit Alexa Skills peuvent être monétisés par des achats et des abonnements In-Skill.
De plus, vous devez confirmer que vos compétences sont conformes aux exigences d’exportation pour Alexa Skills. Si certaines exigences sont mises en avant à la suite de la vérification par l’équipe Alexa - par exemple, en ce qui concerne les conditions matérielles ou logicielles utiles pour votre skill - vous pouvez les décrire dans une zone de texte prévue à cet effet.
Enfin, sous « Availability », définissez les éventuelles restrictions concernant la disponibilité de votre compétence. Votre skill devrait-elle être accessible à tous les utilisateurs ou seulement à certaines organisations ? Les tests bêta devraient-ils être effectués par des individus spécifiques ? Et dans quels pays et régions souhaitez-vous publier votre compétence ?
Sauvegardez vos données dans les zones « Skill Preview », « Privacy & Compliance » et « Availability » en cliquant sur « Save and continue ».
Vos données seront validées dans le cadre de la certification de votre skill.
7. Certification
Une fois que vous avez saisi toutes les informations nécessaires à la publication, vous pouvez valider votre compétence Alexa.
Après avoir sauvegardé les détails de votre publication en cliquant sur « Save and continue », vous serez automatiquement redirigé vers le champ « Certification ». La console de développement Alexa vérifie vos données et, si nécessaire, vous invite à réviser les informations incorrectes ou à fournir les données manquantes.
Si vous avez saisi correctement les informations requises ou les avez corrigées lorsque nécessaire, vous pouvez poursuivre vers un test de fonctionnement. Commencez le test en cliquant sur « Run ».
Si le rapport de test présente des erreurs, vous avez la possibilité de revenir à la zone appropriée, de corriger l’erreur et d’effectuer un nouveau test de fonctionnement.
Si la compétence Alexa que vous avez programmée a effectué le test avec succès, elle est prête pour la dernière étape de la publication - la « Submission ». Cliquez sur « Submit for Review » pour soumettre votre compétence à la certification. L’équipe d’Amazon Alexa va alors procéder à sa propre vérification.
La configuration de votre compétence ne peut pas être modifiée pendant le processus de certification. Toutefois, vous avez la possibilité à tout moment d’annuler la révision. Cliquez sur le bouton « Withdraw from Certification ».
Une fois l’évaluation Amazon terminée, vous recevrez un email sur le compte associé à votre compte Amazon Developer, et ce quel que soit le résultat. Il existe en principe deux scénarios possibles :
- Votre compétence a bien été certifiée : dans ce cas, vous serez informé par email quand votre compétence sera publiée dans la boutique Alexa Skills.
- Votre compétence n’a pas été certifiée : dans ce cas, Amazon a détecté des problèmes au cours du processus de certification. L’email comprendra un rapport détaillé sur les modifications nécessaires pour obtenir la certification. Une fois que vous aurez fait les ajustements appropriés, vous pourrez soumettre de nouveau votre compétence pour obtenir la certification.
Vous pouvez consulter le statut de toutes les skills Alexa que vous avez créées dans l’aperçu des compétences de la console Alexa Developer.
- In Development : votre compétence est en cours de développement.
- Certification : votre compétence est en cours de certification.
- Live : votre compétence est disponible aux utilisateurs grâce à la boutique Alexa Skills.
Si votre compétence a atteint le statut « Live », vous ne pouvez plus changer sa configuration. En plus de la version live, une version développeur est toutefois disponible dans la console Alexa Developer et peut être révisée indépendamment de l’original. Dès qu’une version révisée de votre compétence a été certifiée par Amazon, elle remplace la version live précédente, et une nouvelle version développeur est automatiquement créée.
Une meilleure expérience utilisateur avec l’interface vocale
Pourquoi les entreprises devraient-elles développer une skill Alexa ? Une raison principale semble évidente : pour créer une réelle interaction avec les clients, la communication orale est cruciale.
Avec un ordinateur cependant, nous avons toujours recours à des intermédiaires via le clavier par exemple, la souris ou l’écran tactile. Mais cela va bientôt changer. Avec Amazon Alexa, Google Assistant et Apple Siri, le service se résume en un dialogue. Les objets deviennent des interlocuteurs et la façon avec laquelle nous interagissons devient plus intuitive.
La technologie n’en est encore qu’à ses balbutiements, mais l’utilisation de la voix en tant qu’interface utilisateur (Voice as UI) est une tendance qui a le potentiel de changer fondamentalement la façon dont nous utilisons les machines. Pour les entreprises, un service linguistique comme Amazon Alexa offre de nombreuses possibilités.
Utilisez Alexa Skills par exemple pour montrer que votre entreprise est restée à la page. Présentez-vous de manière moderne en offrant à vos clients de toutes nouvelles possibilités d’interaction. En France, le Voice as UI a toujours le charme de la nouveauté et peut transformer des activités banales en expérience.
En tant que produit Amazon, Alexa bénéficie d’une portée énorme. Avec Google, l’entreprise domine le marché des enceintes intelligentes. Le smart speaker est encore considéré comme un média révolutionnaire, car l’interface vocale ouvre un canal de communication complètement nouveau pour le marketing. Dans le domaine du service à la clientèle, Alexa offre la possibilité de personnaliser les processus de communication automatisés.
Les assistants linguistiques virtuels se concentrent surtout sur les fonctions de conseil. Mais à l’avenir, l’enceinte intelligente pourra rendre possible diverses conversions, comme par exemple les achats par commande vocale. Votre skill Alexa deviendra alors une sorte de succursale virtuelle installée directement dans le salon de vos clients. Déjà, les membres d’Amazon Prime peuvent effectuer des achats vocaux via Amazon Pay.