VT2020-Voice First Development-Demo: Difference between revisions
Jump to navigation
Jump to search
| Line 4: | Line 4: | ||
=Création de l'application= |
=Création de l'application= |
||
L'application est créée avec le framework [https://helloviolet.ai/ Violet]. |
L'application est créée avec le framework [https://helloviolet.ai/ Violet]. |
||
'''Installation de Violet''' |
|||
<pre> |
<pre> |
||
| Line 11: | Line 13: | ||
'''Fichier principal''' |
|||
Utilisation d'un JDL pour générer une application permet d'enregistrer les lancements spatiaux et d'ajouter des images à l'événement. |
|||
Cette application se contente de dire bonjour quand on lui demande. |
|||
Créer un répertoire spacefan. Ajouter app.jdl et copier coller ce qu'il y a ci-dessous dans ce fichier. |
|||
<pre> |
<pre> |
||
// Load the Violet Module |
|||
application { |
|||
const violet = require('violet').script(); |
|||
config { |
|||
baseName space |
|||
applicationType monolith |
|||
authenticationType oauth2 |
|||
packageName org.jhipster.space |
|||
prodDatabaseType postgresql |
|||
testFrameworks [protractor] |
|||
| ⚫ | |||
entities * |
|||
} |
|||
// The Controller |
|||
entity SpaceEvent { |
|||
var app = { |
|||
name String required |
|||
helloInFrench: (response)=>{ |
|||
date LocalDate required |
|||
response.say("Bonjour!"); |
|||
description TextBlob required |
|||
}, |
|||
photo ImageBlob required |
|||
helloInEnglish: (response)=>{ |
|||
type SpaceEventType required |
|||
response.say("Hello!"); |
|||
| ⚫ | |||
} |
} |
||
entity Mission { |
|||
name String required |
|||
description String |
|||
} |
|||
violet.addFlowScript(`<app> |
|||
enum SpaceEventType { |
|||
<<choice id="launch"> |
|||
LAUNCH, |
|||
<expecting>à quoi sert tu</expecting> |
|||
LANDING |
|||
<say>Je peux dire bonjour en français ou en anglais</say> |
|||
} |
|||
</choice> |
|||
relationship OneToOne { |
|||
SpaceEvent{mission(name)} to Mission |
|||
} |
|||
<choice id="list"> |
|||
paginate SpaceEvent with infinite-scroll |
|||
<expecting>dis bonjour</expecting> |
|||
paginate Mission with pagination |
|||
<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> |
||
Revision as of 15:45, 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!");
}
}
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});
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 :
mhipster import-jdl app.jdl
Démarrer keycloak
docker-compose -f src/main/docker/keycloak.yml up -d