Difference between revisions of "VT2020-Voice First Development-Demo"
(7 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
=Création de l'application= |
=Création de l'application= |
||
− | L'application est créée avec le framework [ |
+ | L'application est créée avec le framework [https://helloviolet.ai/ Violet]. |
+ | '''Installation de Violet''' |
||
− | Utilisation d'un JDL pour générer une application permet d'enregistrer les lancements spatiaux et d'ajouter des images à l'événement. |
||
− | Créer un répertoire spacefan. Ajouter app.jdl et copier coller ce qu'il y a ci-dessous dans ce fichier. |
||
<pre> |
<pre> |
||
+ | npm init -y |
||
− | application { |
||
+ | npm install violet --save |
||
− | config { |
||
+ | </pre> |
||
− | baseName space |
||
− | applicationType monolith |
||
− | authenticationType oauth2 |
||
− | packageName org.jhipster.space |
||
− | prodDatabaseType postgresql |
||
− | testFrameworks [protractor] |
||
⚫ | |||
− | entities * |
||
− | } |
||
− | entity SpaceEvent { |
||
− | name String required |
||
− | date LocalDate required |
||
− | description TextBlob required |
||
− | photo ImageBlob required |
||
− | type SpaceEventType required |
||
− | } |
||
+ | '''Fichier principal''' |
||
− | entity Mission { |
||
− | name String required |
||
− | description String |
||
− | } |
||
+ | Cette application se contente de dire bonjour quand on lui demande. |
||
− | enum SpaceEventType { |
||
+ | <pre> |
||
− | LAUNCH, |
||
+ | // Load the Violet Module |
||
− | LANDING |
||
+ | const violet = require('violet').script(); |
||
− | } |
||
+ | // The Controller |
||
− | relationship OneToOne { |
||
+ | var app = { |
||
− | SpaceEvent{mission(name)} to Mission |
||
+ | helloInFrench: (response)=>{ |
||
+ | response.say("Bonjour!"); |
||
+ | }, |
||
+ | helloInEnglish: (response)=>{ |
||
+ | response.say("Hello!"); |
||
⚫ | |||
} |
} |
||
+ | // The Script |
||
− | paginate SpaceEvent with infinite-scroll |
||
+ | violet.addFlowScript(`<app> |
||
− | paginate Mission with pagination |
||
+ | <<choice id="launch"> |
||
+ | <expecting>à quoi sert tu</expecting> |
||
+ | <say>Je peux dire bonjour en français ou en anglais</say> |
||
+ | </choice> |
||
+ | |||
+ | <choice id="list"> |
||
+ | <expecting>dis bonjour</expecting> |
||
+ | <say>Bien sur!</say> |
||
+ | <decision> |
||
+ | <ask>Dois-je dire bonjour en français ou en anglais?</ask> |
||
+ | <choice> |
||
+ | <expecting>en français</expecting> |
||
+ | <resolve value="app.helloInFrench(response)"/> |
||
+ | </choice> |
||
+ | <choice> |
||
+ | <expecting>en anglais</expecting> |
||
+ | <resolve value="app.helloInEnglish(response)"/> |
||
+ | </choice> |
||
+ | </decision> |
||
+ | </choice> |
||
+ | </app>`, {app}); |
||
</pre> |
</pre> |
||
+ | L'application complète est disponible sur github [https://github.com/SCourthial/bonjourbot ici]. |
||
− | =Générer l'application= |
||
+ | |||
− | Allez dans le répertoire ''spacefan'' que vous avez crée. Lancez la commande suivante pour générer votre application avec Micronaut comme Back-End : |
||
+ | =Déploiement= |
||
− | <pre> mhipster import-jdl app.jdl </pre> |
||
+ | Le déploiement a été fait sur [https://www.heroku.com/ Heroku]. |
||
+ | Elle est accessible à l'adresse [https://bonjourbot.herokuapp.com/ https://bonjourbot.herokuapp.com/] |
||
+ | |||
+ | La branche master du projet github a été utilisé comme base pour le déploiement. |
||
+ | |||
+ | Violet est configuré directement pour faciliter le processus. Aucune manipulation supplémentaire n'a été nécessaire. |
||
+ | |||
+ | =Test par Dialogflow= |
||
+ | L'application est testé en utilisant un agent [https://dialogflow.cloud.google.com/ dialogflow]. |
||
+ | |||
+ | Le but d'utiliser un tel agent est d'avoir accès aux composants manquant pour que notre application fonctionne (Text to Speech, Speech to Text, NLG, NLU). |
||
+ | De plus, Dialogflow donne accès à un simulateur permettant d'executer directement l'application avec entrée et sortie vocale. |
||
− | Démarrer ''keycloak'' |
||
− | <pre> docker-compose -f src/main/docker/keycloak.yml up -d </pre> |
Latest revision as of 18:02, 22 November 2020
Prérequis
- Node.js
Création de l'application
L'application est créée avec le framework Violet.
Installation de Violet
npm init -y npm install violet --save
Fichier principal
Cette application se contente de dire bonjour quand on lui demande.
// Load the Violet Module const violet = require('violet').script(); // The Controller var app = { helloInFrench: (response)=>{ response.say("Bonjour!"); }, helloInEnglish: (response)=>{ response.say("Hello!"); } } // The Script violet.addFlowScript(`<app> <<choice id="launch"> <expecting>à quoi sert tu</expecting> <say>Je peux dire bonjour en français ou en anglais</say> </choice> <choice id="list"> <expecting>dis bonjour</expecting> <say>Bien sur!</say> <decision> <ask>Dois-je dire bonjour en français ou en anglais?</ask> <choice> <expecting>en français</expecting> <resolve value="app.helloInFrench(response)"/> </choice> <choice> <expecting>en anglais</expecting> <resolve value="app.helloInEnglish(response)"/> </choice> </decision> </choice> </app>`, {app});
L'application complète est disponible sur github ici.
Déploiement
Le déploiement a été fait sur Heroku. Elle est accessible à l'adresse https://bonjourbot.herokuapp.com/
La branche master du projet github a été utilisé comme base pour le déploiement.
Violet est configuré directement pour faciliter le processus. Aucune manipulation supplémentaire n'a été nécessaire.
Test par Dialogflow
L'application est testé en utilisant un agent dialogflow.
Le but d'utiliser un tel agent est d'avoir accès aux composants manquant pour que notre application fonctionne (Text to Speech, Speech to Text, NLG, NLU).
De plus, Dialogflow donne accès à un simulateur permettant d'executer directement l'application avec entrée et sortie vocale.