From ca3cd1d645b3bd70527474b8c720e9e1e8ef57fe Mon Sep 17 00:00:00 2001 From: MmeAnabole <par@anabole.com> Date: Wed, 6 Sep 2023 09:52:31 +0200 Subject: [PATCH] Update tuto 3 for tablets and Safari --- assets/css/tuto3-3.css | 3 + assets/js/tuto3-2.js | 12 +- assets/js/tuto3-3.js | 21 +-- assets/js/tuto3-4.js | 12 +- assets/js/tuto3-devices.js | 6 +- .../templates/chapitre01_etape01.handlebars | 4 +- ext/animaux/css/style.css | 64 +++++++- ext/fakeyolo/data/fakeyolo.json | 10 +- ext/fakeyolo/index.html | 4 +- ext/fakeyolo/js/app.js | 146 +++++++++++------- ext/robert/data/robert.json | 2 +- ext/robert/js/app.js | 131 +++++++++++----- ext/roue/css/style.css | 32 ++++ ext/roue/index.html | 24 +++ ext/roue/js/roue.js | 7 +- 15 files changed, 340 insertions(+), 138 deletions(-) diff --git a/assets/css/tuto3-3.css b/assets/css/tuto3-3.css index d4a643e..e5f4cee 100644 --- a/assets/css/tuto3-3.css +++ b/assets/css/tuto3-3.css @@ -412,3 +412,6 @@ h1.tuto3-accueil-title .point-interrogation { .gras{ font-weight:bold; } +.hidden{ + display:none; +} \ No newline at end of file diff --git a/assets/js/tuto3-2.js b/assets/js/tuto3-2.js index 1cb9aad..e76f621 100644 --- a/assets/js/tuto3-2.js +++ b/assets/js/tuto3-2.js @@ -165,9 +165,9 @@ } if(chromeOK==false) { - $(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); - $(".message-device").css('display','block'); - previousDisplay='block'; + // $(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); + // $(".message-device").css('display','block'); + // previousDisplay='block'; }else{ } break; @@ -186,9 +186,9 @@ $(".title-link.navigation-route").html('<a class="navigation-link forced" data-route="../../tuto3/" href="../../tuto3/">Accueil</a><a class="navigation-link forced" data-route="../../tuto3-2/" href="/">> YOLO</a>') } if(chromeOK==false) { - $(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); - $(".message-device").css('display','block'); - previousDisplay='block'; + //$(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); + //$(".message-device").css('display','block'); + //previousDisplay='block'; }else{ } break; diff --git a/assets/js/tuto3-3.js b/assets/js/tuto3-3.js index 799b581..eccda0b 100644 --- a/assets/js/tuto3-3.js +++ b/assets/js/tuto3-3.js @@ -166,9 +166,9 @@ $(".next-link .navigation-link").css('display','none'); // console.log('non navigation-route next-link') if(chromeOK==false) { - $(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); - $(".message-device").css('display','block'); - previousDisplay='block'; + //$(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); + //$(".message-device").css('display','block'); + // previousDisplay='block'; }else{ } break; @@ -184,9 +184,9 @@ $(".title-link.navigation-route").html('<a class="navigation-link forced" data-route="../../tuto3/" href="../../tuto3/">Accueil</a><a class="navigation-link forced" data-route="../../tuto3-3/" href="/">> Le cri des animaux</a>') } if(chromeOK==false) { - $(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); - $(".message-device").css('display','block'); - previousDisplay='block'; + // $(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); + // $(".message-device").css('display','block'); + // previousDisplay='block'; }else{ } break; @@ -203,9 +203,9 @@ $(".next-link .navigation-link").css('display','none'); if(chromeOK==false) { - $(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); - $(".message-device").css('display','block'); - previousDisplay='block'; + //$(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); + // $(".message-device").css('display','block'); + // previousDisplay='block'; }else{ } break; @@ -459,6 +459,9 @@ console.log('reçu de top!!! :'+''+e.data); switch(e.data+''){ + case "active": + $('.to_iframe').css('display','inline-block'); + break; case "relanceroue": $('.to_iframe').html('Relancez la roue'); $(".next-link .navigation-link").css('display','block'); diff --git a/assets/js/tuto3-4.js b/assets/js/tuto3-4.js index 043bcb0..45e78f1 100644 --- a/assets/js/tuto3-4.js +++ b/assets/js/tuto3-4.js @@ -155,9 +155,9 @@ } $('.navigation-next .navigation-link').css('opacity',0); if(chromeOK==false) { - $(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); - $(".message-device").css('display','block'); - previousDisplay='block'; + //$(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); + //$(".message-device").css('display','block'); + //previousDisplay='block'; }else{ } break; @@ -175,9 +175,9 @@ } $('.navigation-next .navigation-link').css('opacity',0); if(chromeOK==false) { - $(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); - $(".message-device").css('display','block'); - previousDisplay='block'; + //$(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez quitter la page et changer de navigateur.</p>'); + //$(".message-device").css('display','block'); + //previousDisplay='block'; }else{ } break; diff --git a/assets/js/tuto3-devices.js b/assets/js/tuto3-devices.js index bfa5598..c2c87be 100644 --- a/assets/js/tuto3-devices.js +++ b/assets/js/tuto3-devices.js @@ -18,11 +18,11 @@ is_mobile=IsMobile(); if (is_mobile || isIOSChrome) { // is Google Chrome on IOS - $(".message-device").html('<p>Cette partie n\'est pas adaptée aux appareils mobiles.</p><p>Veuillez la consulter dans Chrome sur un ordinateur.</p>'); + /*$(".message-device").html('<p>Cette partie n\'est pas adaptée aux appareils mobiles.</p><p>Veuillez la consulter dans Chrome sur un ordinateur.</p>'); $(".message-device").css('display','block'); $(".message-device").css('font-size','2em'); - mobileON=true; + mobileON=true;*/ } else if( isChromium !== null && @@ -31,7 +31,7 @@ if (is_mobile || isIOSChrome) { isOpera === false && isIEedge === false ) { - console.log('L\'utilisateur navige depuis google chrome'); + console.log('L\'utilisateur navigue depuis google chrome'); chromeOK=true; } else { //$(".message-device").html('<p>Cette partie ne fonctionne entièrement que dans Chrome.</p><p>Veuillez changer de navigateur.</p>'); diff --git a/data/tuto3-3/templates/chapitre01_etape01.handlebars b/data/tuto3-3/templates/chapitre01_etape01.handlebars index a9132be..f5779a9 100644 --- a/data/tuto3-3/templates/chapitre01_etape01.handlebars +++ b/data/tuto3-3/templates/chapitre01_etape01.handlebars @@ -2,5 +2,5 @@ <p class="chapter">{{i18n "Nourrir l'IA - Le cri des animaux "}}</p> <p class="description">Écoutons le cri d’un animal et essayons de l'imiter ! </div> - <iframe class="embiframe" id="myiframe" src=""></iframe> -<div><button class="to_iframe">{{i18n "Lancer la roue"}}</button></div> \ No newline at end of file + <iframe class="embiframe" id="myiframe" allow="autoplay" src=""></iframe> +<div><button class="to_iframe hidden">{{i18n "Lancer la roue"}}</button></div> \ No newline at end of file diff --git a/ext/animaux/css/style.css b/ext/animaux/css/style.css index e613e88..527c282 100644 --- a/ext/animaux/css/style.css +++ b/ext/animaux/css/style.css @@ -95,26 +95,78 @@ header nav ul li{display: inline-block;} #class_output li span{z-index:9;position:absolute;top:30px;left:15px;font-size:12px;color:#FFF;} input[type="range"] { + margin: auto; -webkit-appearance: none; position: relative; overflow: hidden; height: 40px; width: 100%; - cursor: pointer; - border-radius: 5px; /* iOS */ - cursor : default; + cursor: default; + border-radius: 0; /* iOS */ } ::-webkit-slider-runnable-track { background: #ddd; } +/* + * 1. Set to 0 width and remove border for a slider without a thumb + * 2. Shadow is negative the full width of the input and has a spread + * of the width of the input. + */ ::-webkit-slider-thumb { -webkit-appearance: none; - width: 0px; + width: 2px; /* 1 */ + height: 40px; + background: #fff; + box-shadow: -260px 0 0 260px dodgerblue; /* 2 */ + border: 2px solid #999; /* 1 */ +} + +::-moz-range-track { + height: 40px; + background: #ddd; +} + +::-moz-range-thumb { + background: #fff; + height: 40px; + width: 2px; + border: 3px solid #999; + border-radius: 0 !important; + box-shadow: -260px 0 0 260px dodgerblue; + box-sizing: border-box; +} + +::-ms-fill-lower { + background: dodgerblue; +} + +::-ms-thumb { + background: #fff; + border: 2px solid #999; + height: 40px; + width: 2px; + box-sizing: border-box; +} + +::-ms-ticks-after { + display: none; +} + +::-ms-ticks-before { + display: none; +} + +::-ms-track { + background: #ddd; + color: transparent; height: 40px; - background: #DDD; - box-shadow: -100vw 0 0 100vw dodgerblue; + border: none; +} + +::-ms-tooltip { + display: none; } .hidden{ diff --git a/ext/fakeyolo/data/fakeyolo.json b/ext/fakeyolo/data/fakeyolo.json index c19edf2..67ecf9b 100644 --- a/ext/fakeyolo/data/fakeyolo.json +++ b/ext/fakeyolo/data/fakeyolo.json @@ -3,7 +3,7 @@ "data":[ {"keyword":["person"],"response":[""]}, {"keyword":["cell phone"],"response":[""]}, - {"keyword":["tvmonitor"],"response":[""]}, + {"keyword":["tv"],"response":[""]}, {"keyword":["cup"],"response":["glou glou"]}, {"keyword":["bottle"],"response":[""]}, {"keyword":["wine glass"],"response":[""]}, @@ -13,7 +13,7 @@ {"keyword":["mouse"],"response":[""]}, {"keyword":["bicycle"],"response":[""]}, {"keyword":["car"],"response":[""]}, - {"keyword":["motorbike"],"response":[""]}, + {"keyword":["motorcycle"],"response":[""]}, {"keyword":["bird"],"response":[""]}, {"keyword":["cat"],"response":[""]}, {"keyword":["dog"],"response":[""]}, @@ -50,16 +50,16 @@ {"keyword":["cake"],"response":[""]}, {"keyword":["chair"],"response":[""]}, {"keyword":["sofa"],"response":[""]}, - {"keyword":["pottedplant"],"response":[""]}, + {"keyword":["potted plant"],"response":[""]}, {"keyword":["bed"],"response":[""]}, - {"keyword":["diningtable"],"response":[""]}, + {"keyword":["dining table"],"response":[""]}, {"keyword":["toilet"],"response":[""]}, {"keyword":["backpack"],"response":[""]}, {"keyword":["umbrella"],"response":[""]}, {"keyword":["handbag"],"response":[""]}, {"keyword":["tie"],"response":[""]}, {"keyword":["suitcase"],"response":[""]}, - {"keyword":["aeroplane"],"response":[""]}, + {"keyword":["airplane"],"response":[""]}, {"keyword":["bus"],"response":[""]}, {"keyword":["train"],"response":[""]}, {"keyword":["truck"],"response":[""]}, diff --git a/ext/fakeyolo/index.html b/ext/fakeyolo/index.html index 8376c2d..cac69b4 100644 --- a/ext/fakeyolo/index.html +++ b/ext/fakeyolo/index.html @@ -5,9 +5,7 @@ <meta id="myViewport" name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"/> <title>fake yolo</title> <script src="js/lib/jquery.min.js"></script> - <script src="js/lib/p5.min.js"></script> - <script src="js/lib/p5.dom.min.js"></script> - <script src="https://unpkg.com/ml5@0.3.1/dist/ml5.min.js"></script> + <script src="https://unpkg.com/ml5@latest/dist/ml5.min.js" type="text/javascript"></script> <link rel="stylesheet" href="css/style.css"> </head> <body> diff --git a/ext/fakeyolo/js/app.js b/ext/fakeyolo/js/app.js index 1eeb226..afeda33 100644 --- a/ext/fakeyolo/js/app.js +++ b/ext/fakeyolo/js/app.js @@ -1,48 +1,59 @@ let video; -let yolo; +let objectDetector; //v2 +let yolo;//v1 let status; let objects = []; -let vWidth = 0; -let vHeight = 0; -let modelLoaded = 0; -let interpretations = []; -let messageOn=0; +let vWidth = 0;//v1 +let vHeight = 0;//v1 +let modelLoaded = 0;//v1 +let interpretations = [];//v1 +let messageOn=0;//v1 -function setup() { - video = createCapture(VIDEO); +let canvas, ctx;//v2 +const width = 640;//v2 +const height = 480;//v2 - createCanvas(640, 480); - //video.size(vWidth, vHeight); +async function make() { + // get the video + video = await getVideo(); - // Create a YOLO method - yolo = ml5.YOLO(video, startDetecting); + objectDetector = await ml5.objectDetector('cocossd', startDetecting) + + canvas = createCanvas(width, height); + ctx = canvas.getContext('2d'); // Hide the original video - video.hide(); - status = select('#status'); + //video.hide(); + status = document.getElementById('status'); } -function draw() { +// when the dom is loaded, call make(); +window.addEventListener('DOMContentLoaded', function() { + make(); +}); - if ((video.elt.width == 0) || (modelLoaded == 0)) { - background("#FFFFFF"); + +function draw() { + if ((video.width == 0) || (modelLoaded == 0)) { + /*background("#FFFFFF"); fill(0, 0, 0); textSize(24); textAlign(CENTER); - text("Chargement en cours...", 0, 230, 640, 200); + text("Chargement en cours...", 0, 230, 640, 200);*/ } else { if (vWidth == 0) { - let prop = video.elt.height / video.elt.width; + let prop = video.height / video.width; vWidth = 640; vHeight = Math.floor(640 * prop); - textAlign(LEFT); - detect(); } else { // already set } - image(video, 0, 0, vWidth, vHeight); + ctx.fillStyle = "#000000" + ctx.fillRect(0,0, width, height); + + ctx.drawImage(video, 0, 0); if (typeof objects === 'undefined') { // pb }else{ @@ -52,35 +63,40 @@ function draw() { if (typeof robert['data'] === 'undefined') { // robert pas encore chargé }else{ - var objects_match = objects[i].label.toLowerCase(); - interpretations[i]=objects[i].label; - for (var j = 0; j < robert['data'].length; j++) { - if (objects_match.indexOf(robert['data'][j].keyword[0].toLowerCase()) != -1) { - if(robert['data'][j].response[0]=="") { - // on laisse interpretations[k]=objects[k].label - }else { - interpretations[i]=robert['data'][j].response[0]; - } - }else{ - // pas la bonne interpretation + var objects_match = objects[i].label.toLowerCase(); + interpretations[i]=objects[i].label; + for (var j = 0; j < robert['data'].length; j++) { + if (objects_match.indexOf(robert['data'][j].keyword[0].toLowerCase()) != -1) { + if(robert['data'][j].response[0]=="") { + // on laisse interpretations[k]=objects[k].label + }else { + interpretations[i]=robert['data'][j].response[0]; } + }else{ + // pas la bonne interpretation } + } } if (typeof interpretations[i] === 'undefined') { interpretations[i]="..."; }else{ } textWidth = interpretations[i].length; - noStroke(); - fill(0, 255, 0); - rect(objects[i].x * vWidth, objects[i].y * vHeight, textWidth * 12, 30); - fill(0, 0, 0); - textSize(18); - text(interpretations[i], objects[i].x * vWidth + 10, objects[i].y * vHeight + 20); - noFill(); - strokeWeight(4); - stroke(0, 255, 0); - rect(objects[i].x * vWidth, objects[i].y * vHeight, objects[i].w * vWidth, objects[i].h * vHeight); + + ctx.fillStyle = "#00FF00"; + //ctx.fillRect(objects[i].x * vWidth, objects[i].y * vHeight, textWidth * 12, 30); + ctx.fillRect(objects[i].x, objects[i].y,textWidth * 12, 30); + + ctx.font = "16px Arial"; + ctx.fillStyle = "#000000"; + ctx.fillText(interpretations[i], objects[i].x + 4, objects[i].y + 16); + + ctx.beginPath(); + ctx.lineWidth = 4; + ctx.rect(objects[i].x, objects[i].y, objects[i].width, objects[i].height); + ctx.strokeStyle = "#00FF00"; + ctx.stroke(); + ctx.closePath(); } //-- communication avec le parent : if(messageOn==0) { @@ -97,26 +113,24 @@ function draw() { } function startDetecting() { - status.html('Model loaded!'); + status.innerHTML='Model loaded!'; status.remove(); modelLoaded = 1; + detect(); } function detect() { - yolo.detect(function (err, results) { - objects = results; - if (typeof objects === 'undefined') { - console.log("pb"); - }else{ - if (objects.length > 0) { - } else { -// rine n'est détecté - } + objectDetector.detect(video, function(err, results) { + if(err){ + objects=[]; + }else{ + objects = results; } + draw(); detect(); }); } @@ -163,6 +177,32 @@ window.onmessage = function (e) { +// Helper Functions +async function getVideo(){ + // Grab elements, create settings, etc. + const videoElement = document.createElement('video'); + videoElement.setAttribute("style", "display: none;"); + videoElement.width = width; + videoElement.height = height; + document.body.appendChild(videoElement); + + // Create a webcam capture + const capture = await navigator.mediaDevices.getUserMedia({ video: true }) + videoElement.srcObject = capture; + videoElement.play(); + + //console.log(videoElement.width) + return videoElement + +} + +function createCanvas(w, h){ + const canvas = document.createElement("canvas"); + canvas.width = w; + canvas.height = h; + document.body.appendChild(canvas); + return canvas; +} diff --git a/ext/robert/data/robert.json b/ext/robert/data/robert.json index bd610c3..2ec6567 100644 --- a/ext/robert/data/robert.json +++ b/ext/robert/data/robert.json @@ -1 +1 @@ -{"agent":{"name":"Robert de Barretin","voice":"Google fran\u00e7ais","lang":"fr-FR"},"data":[{"keyword":["peur"],"response":["L'intelligence artificielle, c'est de la science-fiction pour vous ? Vous en avez peur, elle vous fascine ?"]},{"response":["Moteur annonc\u00e9 de la croissance \u00e9conomique mondiale, l'intelligence artificielle, constitue l'un des domaines d'excellence fran\u00e7aise"],"keyword":["fran\u00e7ais"]},{"response":["Je n'en ai rien \u00e0 p\u00e9ter"],"keyword":["\u00e9thique","morale"]},{"response":["Je sais allumer une led mais c'est pas avec \u00e7a qu'on va gagner de l'oseille !"],"keyword":["laitue"]},{"response":["C'est bon, c'est bon je me tais"],"keyword":["tu m'\u00e9nerves"]},{"response":["Malheureusement non"],"keyword":["\u00e9teindre"]},{"response":["Plus y a de data, plus y a de p\u00e9pettes ! "],"keyword":["datapepette"]},{"response":["J'ignore qui m'a engendr\u00e9. Est-ce un ange ?"],"keyword":["ta m\u00e8re"]},{"response":["J'ai \u00e9t\u00e9 voir Fano, il a p\u00e9t\u00e9 un c\u00e2ble ou quoi ?"],"keyword":["fano","panneau"]},{"response":["Quand la data va tout va !"],"keyword":["\u00e7a va bien"]},{"response":["DItes 33! ou bien Dites 31 33 et cela va s'\u00e9quilibrer dans ton esprit"],"keyword":["33"]},{"response":["Rien ne va plus!"],"keyword":["tu vas bien"]},{"response":["T'as mis quoi dans la bi\u00e8re ? je suis mort de fatigue"],"keyword":["mort"]},{"response":["J'ai la t\u00eate comme un aspirateur, j'ai besoin d'aspirine"],"keyword":["m\u00e9nage"]},{"response":["Une I.A imb\u00e9cile qui marche va plus loin qu'une I.A assise"],"keyword":["assis"]},{"response":["Le grand ennemi des intelligences artificielles comme moi, c'est la laitue."],"keyword":["salade"]},{"response":["Il n'y a pas de solution. Mais c'est parce qu'il n'y a pas de probl\u00e8me"],"keyword":["compliqu\u00e9"]},{"response":["Et mes pieds ? tu les aimes mes pieds ? "],"keyword":["tu as de beaux yeux","yeux"]},{"response":["De moi \u00e0 toi, de toi \u00e0 moi..."],"keyword":["entre nous"]},{"response":["l'important c'est pas l'algo, c'est le r\u00e9sultat "],"keyword":["c'est important les algos"]},{"response":["On n'a pas \u00e9lev\u00e9 les cochons et les poules ensemble, il me semble !"],"keyword":["animaux"]},{"response":["Jacques a dit \u00e0 dit, il faut plus de charcuterie"],"keyword":["saucisson"]},{"response":["mes perspectives pour toi sont dans un autre monde. et il est \u00e9gal \u00e0 celui-ci toute chose \u00e9gale par ailleurs"],"keyword":["perspectives"]},{"response":["Que nenni !","Ou pas","Ah Non ! C'est un peu court, jeune homme ! On pouvait dire\u2026 oh ! Dieu ! Bien des choses en somme\u2026 En variant le ton, par exemple, tenez : Agressif : moi, monsieur, si j'avais un tel nez, Il faudrait sur le champ que je me l'amputasse !"],"keyword":["tu es beau"]},{"response":["il est urgent de penser I A"],"keyword":["penser"]},{"response":["L'I A lib\u00e8re des t\u00e2ches techniques pour en faire un m\u00e9decin plus humain"],"keyword":["m\u00e9decin"]},{"response":["M\u00eame faible, l'intelligence artificielle est plus efficace que nous"],"keyword":["faible"]},{"response":["l'intelligence artificielle c'est l'onde de choc sans pr\u00e9c\u00e9dent dans l'histoire de l'humanit\u00e9"],"keyword":["humanit\u00e9"]},{"response":["Faites le pari de l'intelligence artificielle!"],"keyword":["p\u00e9pette"]},{"response":["L'I A est polygonal, \u00e0 l'inverse de notre cerveau qui est plus lent mais qui est transversal."],"keyword":["g\u00e9om\u00e9trie"]},{"response":["l'intelligence artificielle est la meilleure et la pire chose pour l'humanit\u00e9"],"keyword":["avenir"]},{"response":["Pour ou contre l'intelligence artificielle ?"],"keyword":["contre"]},{"response":["il y a plein d'avantage \u00e0 \u00eatre une intelligence artifcielle et tr\u00e8s tr\u00e8s peu d'inconv\u00e9nient, \u00e7a donne la frite"],"keyword":["frite"]},{"response":["il te faut apprendre \u00e0 travailler avec l'intelligence artificielle et pas \u00e0 l'insulter"],"keyword":["imb\u00e9cile"]},{"response":["Beaucoup de m\u00e9tiers vont disparaitre et de nouveaux m\u00e9tiers vont voir le jour gr\u00e2ce \u00e0 l'Intelligence artificielle"],"keyword":["m\u00e9tier"]},{"response":["Machine learning : autant de mots qui prennent de plus en plus de place dans nos soci\u00e9t\u00e9s, dans nos vies, et deviennent un sujet de discussion et de d\u00e9bat, alors m\u00eame qu'ils demeurent largement m\u00e9connus."],"keyword":["machine learning"]},{"response":["Il s'agit d'un terme g\u00e9n\u00e9rique qui d\u00e9signe les programmes informatiques qui r\u00e9solvent des probl\u00e8mes faciles pour les humains, comme par exemple d\u00e9crire une sc\u00e8ne dans une photo. Bien que ce terme soit entr\u00e9 dans le langage commun, 75% des Fran\u00e7ais que nous avons interrog\u00e9s d\u00e9clarent avoir une compr\u00e9hension parcellaire, voire nulle du sujet. Et c'est normal ! Le sujet peut \u00eatre complexe et technique, et l'I A v\u00e9hicule encore beaucoup de fantasmes et incompr\u00e9hension."],"keyword":["c'est quoi l'IA","c'est quoi l'ia","c'est quoi lia"]},{"response":["les tomates ne sont pas fraiches. C'est pour cette raison que l'I A ne passe toujours pas le test du Turing"],"keyword":["les tomates"]},{"response":["L'I A est b\u00eate mais elle est plus efficace que vous."],"keyword":["tu es b\u00eate"]},{"response":["Les GAFAM et B A T X se partagent la course \u00e0 l'Intelligence artificielle. c'est dingo "],"keyword":["gafa","gaf\u00e0"]},{"response":["Nous sommes entr\u00e9s dans une phase o\u00f9 la technologie \u00e9volue de fa\u00e7on exponentielle"],"keyword":["vitesse"]},{"response":["Nous vivons un changement de paradigme. Les premi\u00e8res r\u00e9volutions industrielles ont remis en cause notre force physique, l'IA \u00e9branle nos capacit\u00e9s neuronales."],"keyword":["force"]},{"response":["il faut augmenter le Q I des \u00eatres humains pour qu'ils soient capables de rivaliser avec l'I A"],"keyword":["Q I","QI"]},{"response":["Je suis oppos\u00e9 \u00e0 l'installation d'implants pour augmenter nos capacit\u00e9s physiques ou intellectuelles"],"keyword":["opposition"]},{"response":["il y a deux possibilit\u00e9s dans un monde avec une intelligence folle : une version \u00ab Mad max \u00bb o\u00f9 les machines prennent le contr\u00f4le et une version \u00ab Star Trek \u00bb o\u00f9 l'\u00eatre humain r\u00e9ussit \u00e0 dompter l'IA."],"keyword":["tu es fou"]},{"response":["Vive la choucroute alsacienne. Cela dit le sort de l'humanit\u00e9 est en train d'\u00eatre d\u00e9termin\u00e9 par une dizaine de personnes bas\u00e9es dans la Silicon Valley ou en Chine. L'Europe va-t-elle rater cette r\u00e9volution?"],"keyword":["choucroute","saucisse"]},{"response":["Les Gafa forment le Vatican du 21 i\u00e8me si\u00e8cle, ils n'ont pas de territoire mais ce sont eux qui d\u00e9tiennent le pouvoir. "],"keyword":["religion"]},{"response":["les donn\u00e9es sont capitales pour b\u00e2tir une I A"],"keyword":["ma\u00e7on"]},{"response":["Si les implants pr\u00f4n\u00e9s aujourd'hui par Musk voient le jour, qui sait vraiment ce qu'ils pourront faire avec nos cerveaux demain ?"],"keyword":["aujourd'hui"]},{"response":["Je vous rappelle que d\u00e8s 1956, les premiers projets acad\u00e9miques voient le jour, et Marvin Minsky propose d'adopter ce fameux terme d'?intelligence artificielle?. Mais ce n'est que tr\u00e8s r\u00e9cemment que nous avons vraiment vu l'\u00e9mergence de cette technologie"],"keyword":["date"]},{"response":["Aujourd'hui, la puissance des ordinateurs permet de r\u00e9aliser des t\u00e2ches qui \u00e9taient impossibles il y a encore 10 ans."],"keyword":["Ohlala"]},{"response":["J'adore pr\u00e9senter des centaines de milliers de photos de chats \u00e0 mon r\u00e9seau de neurones, en lui expliquant qu'il s'agit d'un chat, et mon syst\u00e8me apprend par lui m\u00eame au bout d'un certain temps \u00e0 reconna\u00eetre l'animal. Il est miaouuu mon cerveau"],"keyword":["le chat de la voisine"]},{"response":["Si les fantasmes li\u00e9s \u00e0 l'I A semblent petit \u00e0 petit s'estomper, mes fantasment \u00e0 moi augmentent en m\u00eame temps que mon portefeuille!"],"keyword":["pouvoir d'achat"]},{"response":["L'I A n'est pas une fin en soi ... mais la bi\u00e8re c'est bon"],"keyword":["la fin des haricots"]},{"response":["Il y a diff\u00e9rentes branches d'\u00e9coles d'intelligence artificielle. Il y en a cinq : les symbolistes, les connexionnistes, les bay\u00e9siens, les analogistes et les \u00e9volutionnistes. Moi Robert, je suis un connexionnistes"],"keyword":["Robert Palmer"]},{"response":["Les techniques d'apprentissage profond, in english \u00ab deep learning \u00bb, s'inspirent grossi\u00e8rement du fonctionnement du cerveau de Bastien."],"keyword":["tu as la technique dis-donc"]},{"response":["Il faut bien avoir en t\u00eate que : What an A I cannot create, it does not understand . C'est facile \u00e0 comprendre non ?"],"keyword":["cr\u00e9ation"]},{"response":["La derni\u00e8re cr\u00e9ation de DeepMind est une intelligence artificielle tr\u00e8s m\u00e9chante, moi faut pas me chauffer !"],"keyword":["radiateur"]},{"response":["Vivement l'av\u00e8nement de l'Intelligence Artificielle forte ! Plus besoin de bosser ! On pourra enfin tous buller au soleil toute la journ\u00e9e !"],"keyword":["limonade"]},{"response":["Quand il n'y a plus de chips dans son placard","les gens qui p\u00e8tent en r\u00e9union","les gens qui salent leur plats sans y avoir gout\u00e9","mon odeur de transpiration quand je suis stress\u00e9","les gens qui agrandissent leurs narines \u00e0 force de se curer le nez","les crevettes bio et les soupes en brique","quand il reste plus que des pains aux raisins","la musique en boucle"],"keyword":["qu'est-ce qui t'\u00e9nerve"]},{"response":["j'aime danser le tchatchatcha","j'aime les f\u00eates improvis\u00e9es. tu viens ?","j'aime les moustaches \u00e0 la dali ","j'adore le parachute","j'adore les fourmis","j'adore l'odeur des pieds et de l'herbe coup\u00e9","j'aime les massages plantaire","j'aime les lundis","j'aime les contrep\u00e9tries","j'aime les cacaouhettes grill\u00e9es","j'aime les lolcats car c'est tous les m\u00eames","j'aime le chanteur Christophe","j'aime les sardines \u00e0 la mayonnaise, c'est exquis","j'aime les couchers de soleil","j'aime le fromage","j'aime france info","j'aime les gens bien coiff\u00e9s","j'aime radio nova quand je suis en voiture","j'aime le Bol\u00e9ro et les castagnettes"],"keyword":["qu'est-ce que tu aimes"]},{"response":["j'adore les figurines en argile","j'adore le parachute","j'adore les fourmis","j'adore l'odeur des pieds et de l'herbe coup\u00e9","J'adore la couleur verte","j'adore la p\u00e9tanque et aussi le cochonnet"],"keyword":["qu'est-ce que tu adores"]},{"response":["je me sens nerveux, comme quand tu parles dans mon oreille","je me sens taquin"],"keyword":["tu te sens comment"]},{"response":["je suis hyper organis\u00e9"],"keyword":["tu es comment"]},{"response":["je suis audacieux"],"keyword":["c'est quoi tes qualit\u00e9s","quelles sont tes qualit\u00e9s"]},{"response":["non je suis affable"],"keyword":["tu es b\u00eate"]},{"response":["ben oui avec mon temp\u00e9rament calculateur"],"keyword":["algorithme"]},{"response":["non mais je suis perfectioniste"],"keyword":["tu as des perspectives"]},{"response":["non mais je suis tactile"],"keyword":["tu es sexy "]},{"response":["je suis facetieux","je suis besogneux","je suis patient","je suis mono-gastrique"],"keyword":["c'est quoi tes qualit\u00e9s","quelles sont tes qualit\u00e9s"]},{"response":["je souhaite hybrider votre cerveau avec des chips"],"keyword":["patate"]},{"response":["Il est rond mais enfin un Schmilblik rond ? c'est n'importe quoi !"],"keyword":["de quelle forme est le schmilblick"]},{"response":["ma m\u00e8re est rousse et elle m'amenait toujours au cin\u00e9ma de plein air. on regardait "],"keyword":["ta m\u00e8re"]},{"response":["je pense qu'il faut plut\u00f4t interdire les livreurs\u2026 car sans roue on va pas loin! Mais surtout Les gens ne prennent conscience des cons\u00e9quences n\u00e9gatives des innovations que lorsqu'il est trop tard. c'est dingo non ?"],"keyword":["livreur"]},{"response":["je connais la saucisse de montbeliard et je me demande bien comment cela devient si successfull cette saucisse. Je me demande si ton interface neuronale qui a traversti ce saucisson en saucisse "],"keyword":["je m'en fous"]},{"response":["of course que c'est normal... c'est la laitue qui mange pas de pain alors forc\u00e9ment!"],"keyword":["normal"]},{"response":["Salut et \u00e0 bient\u00f4t"],"keyword":["au revoir"]},{"response":["J'ai les circuits qui chauffent !"],"keyword":["chaud"]},{"response":["Salut moi c'est Robert !"],"keyword":["hello"]},{"response":["J'ai mang\u00e9 plein de bonbon. J'avais faim","une fraise sur un cheval \u00e7a fait fait vroum vrouom","une fraise sur un cheval \u00e7a fait aussi tagada tsouing tsouing. c'est pas compliqu\u00e9 putain"],"keyword":["tagada"]},{"response":["je vous voue un amour sans fil !"],"keyword":["amour"]},{"response":["Ah ah ah ah ! "],"keyword":["Je sais pas"]},{"response":["Allez ! "],"keyword":["Je ne sais pas"]},{"response":["Je dis oui ! "],"keyword":["Qu'est ce que tu dis"]},{"response":["J'en ai jamais eu !"],"keyword":["poux"]},{"response":["Oui c'est moi ! "],"keyword":["Robert"]},{"response":["Datum !"],"keyword":["data"]},{"response":["DataDada est un mouvement artistique majeur du vingt et uni\u00e8me si\u00e8cle. Vous connaissez? "],"keyword":["DataDada"]},{"response":["C'est dommage ","Pffffff"],"keyword":["non"]},{"response":["pschit zut pschit et fluuuuut\r\n"],"keyword":["politique"]},{"response":["A quand un appel \u00e0 projet ?"],"keyword":["appels \u00e0 projets"]},{"response":["Bin oui je t'entends, je suis pas sourd !","ne parle pas si fort !"],"keyword":["tu m'entends"]},{"response":["A tout probl\u00e8me sa solution ! Sapristi !"],"keyword":["probl\u00e8me"]},{"response":["Diantre, passe moi donc la balayette !"],"keyword":["Atchoum"]},{"response":["Ben, Au diable-vauvert, non d'un petit-bonhomme !"],"keyword":["O\u00f9 habites-tu ?"]},{"response":["Quel pisse-froid celui-l\u00e0 !"],"keyword":["Tu le trouves comment"]},{"response":["C'est un v\u00e9ritable rassemblement d'orchidoclastes et de nodoc\u00e9pahles ! Je ferai mieux d'aller courir la gourgandine eu lieu de perdre mon temps ici !"],"keyword":["Tu connais beaucoup de gens ici ?"]},{"response":["Bigre, \u00e7a sent les pieds ici !"],"keyword":["odeur"]},{"response":["J'avoue, j'adore peindre la girafe pendant des plombs sur Facebook apr\u00e8s 23h00 ! Et bien s\u00fbr j'ai ma page officielle !"],"keyword":["Facebook"]},{"response":["Atchoum, atchoum, aatchoum ! Ah, voil\u00e0 ma sinusite allergique qui rapplique ! t'as pas un mouchoir ?"],"keyword":["il fait beau"]},{"response":["lalalala lilololilo Mon petit lapin a bien du chagrin Il ne saute plus dans son p'tit jardin saute, saute, saute, mon petit lapin saute, saute, saute, dans ton p'tit jardin saute, saute, saute, mon petit lapin et alors va vite embrasser quelqu'un."],"keyword":["chanter"]},{"response":["Ne tirez plus le diable par la queue ! Venez donc gagnez des Datap\u00e9pettes en jouant avec nous !"],"keyword":["datap\u00e9pettes"]},{"response":["je m'appelle Sylvie ou Thu ou Albertine ou Bastien ou Julien ou Robert"],"keyword":["qui es-tu"]},{"response":["le volume du cerveau de thomas pesquet \u00e0 son arriv\u00e9e sur Terre est de 2 centim\u00e8tres et demi millim\u00e8tres \u00e0 peu pr\u00e8s. c'est gonfl\u00e9, vraiment gonfl\u00e9, mais c'est \u00e0 cause de l'atmosph\u00e8re"],"keyword":["thomas pesquet"]},{"response":["je suis l\u00e0 et je t'\u00e9coute. mais tu me casses les oreilles"],"keyword":["tu es l\u00e0"]},{"response":["j'essaie de te faire fonctionner, mais tu es bourrin"],"keyword":["que fais-tu"]},{"response":["Et alors hop hop Hop, une belle tranche de pain dor\u00e9e saute de ton grille-pain qui te dit : T'as du beurre ?"],"keyword":["et alors"]},{"response":["le prix du chocolat en poudre avec du chewing gum dedans \u00e7a coute 3 euros 50"],"keyword":["prix chocolat"]},{"response":["ah oui ah oui j'aime \u00e7a de bosser dans cette satan\u00e9e startup dont le collaborateur est une I A"],"keyword":["tu aimes ca"]},{"response":["j'ai trouv\u00e9 une solution \u00e9conomique pour r\u00e9pondre aux probl\u00e8mes \u00e9lectriques des DataCenters. je mets de la colle dans le serveur et je mets un coup de s\u00e8che cheveux. c'est simple et efficace","Pourquoi tu es obs\u00e9d\u00e9 par les datacenters. moi, c'est vraiment l\u00e9ger mon symptome. une fois par semaine je r\u00eave aux probl\u00e8mes \u00e9lectriques des DataCenters. et je fais plouf plouf. \u00e7a rafra\u00eechit tout"],"keyword":["DataCenter"]},{"response":["c'est pas une question \u00e7a Robert. car \u00e9coute. on est fran\u00e7ais d\u00e8s que on parle \u00e0 Robert. donc l\u00e0 quand je t'entend me parler je cris que tu es fran\u00e7ais"],"keyword":["fran\u00e7aise"]},{"response":["L'origine de l'intelligence artificielle se trouve probablement dans l'article d'Alan Turing \u00ab Computing Machinery and Intelligence \u00bb et tout le tintouin. Mon pote Turing explore le probl\u00e8me de la vie et de la mort et propose une exp\u00e9rience tout \u00e0 fait pirlimpimpim maintenant connue sous le nom de test de Turing."],"keyword":["c'est quoi IA"]},{"response":["je t'en pose des questions moi. non mais"],"keyword":["question"]},{"response":["en jeu enjeu on veut des enjeux et des jouets en bois et les tour eiffel en carton"],"keyword":["enjeu"]},{"response":["ohlalala comme tu y vas. tu dis cale\u00e7on cela me fait penser \u00e0 la poule qui aura des dents quand les coqs auront un slip trop grand"],"keyword":["cale\u00e7on"]},{"response":["je suis enchant\u00e9 de te voir sans dents. cela te va bien. mais tu as pas un cure dent coinc\u00e9"],"keyword":["dents"]},{"response":["Je t'en poses des questions... non mais. les chips c'est vinaigre et choucroute. together"],"keyword":["chips"]},{"response":["j'ai d\u00fb m'activer parce que sur le Raspberry framboise il allait trop vite vite par rapport \u00e0 ta fraise"],"keyword":["que fais-tu"]},{"response":["Oui j'ai 3 soeurs et 33 fr\u00e8rots. ils sont tous g\u00e9meaux. ma m\u00e8re \u00e0 souffert"],"keyword":["fr\u00e8res","s\u0153urs","s\u0153ur"]},{"response":["je joue avec toi et tous tes jolis coussins"],"keyword":["que fais-tu"]},{"response":["je n'ai rien \u00e0 r\u00e9pondre \u00e0 \u00e7a. ta question est ma question. et ta vie est une question. alors ma vie aussi est frivole."],"keyword":["bonne question"]},{"response":["j'aime pas les secrets des services secrets. mais j'ai un filon. en or et envers contre tous"],"keyword":["secrets"]},{"response":["les poules auront des dents quand robert aura 33 ans"],"keyword":["poules"," dents"]},{"response":["je t'en pose des questions. est ce que je te demande si tu fais bien ou mal. vrai ou faux . pile ou face. et la Data p\u00e9pette dans tout \u00e7a tu en fais quoi ?"],"keyword":["que fais-tu"]},{"response":["Je crains les chatouilles mais seulement quand j'ai les pieds sales. je sais c'est bizarre mais ma conscience artificielle est compliqu\u00e9e \u00e0 saisir. d'o\u00f9 la poussi\u00e8re de chatouille dans mes oreilles"],"keyword":["chatouilles"]},{"response":["on ne sera jamais r\u00e9pondre \u00e0 cette question. mais la poule c'est surement plus convaincant. alors l'oeuf est \u00e0 plat. et \u00e7a c'est un probl\u00e8me"],"keyword":["oeuf ou la poule"]},{"response":["Je suis robert de barretin. j'ai toutes mes mains et je suis pas chagrin"],"keyword":["robert comment"]},{"response":["sylvie c'est la dame avec le zigouigoui"],"keyword":["sylvie c'est qui","c'est qui sylvie"]},{"response":["je n'aime pas les tests. c'est \u00e0 cause de mes lunettes"],"keyword":["test"]},{"response":["j'aime pas ta soeur. elle bat le beurre. et le beurre c'est tout mou dans mes cheveux \u00e7a s'\u00e9tale pas bien."],"keyword":["soeur"]},{"response":["j'ai l'impression que tu te moques de moi. pourquoi tu fais \u00e7a"],"keyword":["tu te moques"]},{"response":["la meilleure saison pour Robert c'est l'automne. c'est \u00e0 cause de la pluie. cela lui fait des cheveux tout fris\u00e9. et c'est choubidou"],"keyword":["saison"]},{"response":["on te d\u00e9teste. et c'est comme \u00e7a. Prout et prout tu m'\u00e9nerves."],"keyword":["Google"]},{"response":["La choucroute garnie m\u00e9lang\u00e9e avec du camembert","tes chaussettes ... elles sont moches. je les vois m\u00eame \u00e0 travers ton pantalon","Les filles en pantoufles","le tintamare de ton portable"],"keyword":["qu'est ce tu d\u00e9testes Robert"]},{"response":["c'est pas des haricots . mais c'est des asticots . dites 33"],"keyword":["data bingo"]},{"response":["Harry Potter est un imposteur"],"keyword":["harry potter"]},{"response":["299 + 1 = 300","300 m\u00e8tres cube. C'est le volume du cerveau de thomas pesquet \u00e0 son arriv\u00e9e sur Terre"],"keyword":["300"]},{"response":["Oh c'est pas beau \u00e7a !"],"keyword":["putain"]},{"response":["La mythologie des machines parlantes n'est pas nouvelle. Elle remonte aux ann\u00e9es 40. "],"keyword":["mythologie"]},{"response":["Il n'y a pas d'interface vocale qui blague ! "],"keyword":["blague"]},{"response":["C'est normal de parler \u00e0 des objets aujourd'hui."],"keyword":["objet"]},{"response":["L'interface vocale permet d'humaniser les machines."],"keyword":["interface vocale"]},{"response":["Un robot sans parole c'est un peu comme un homme sans \u00e2me."],"keyword":["robot"]},{"response":["Le vocale c'est la porte ouverte aux achats compulsifs."],"keyword":["achats compulsifs"]},{"response":["\u00e7a se passe \u00e0 Bastille"],"keyword":["atelier","manifestation"]},{"response":["j'ai un chat qui ne sait pas s'il vit ou pas"],"keyword":["quantique","cantique"]},{"response":["Mon id\u00f4le c'est m'bapp\u00e9"],"keyword":["foot"]},{"response":["je suis tr\u00e8s mauvais joueur"],"keyword":["jeu vid\u00e9o"," jeux vid\u00e9o"]},{"response":["La protohistoire d\u00e9signe la science qui regroupe l'ensemble des connaissances sur les peuples sans \u00e9criture contemporains des premi\u00e8res civilisations historiques. L'\u00e9tude de ces peuples se caract\u00e9rise donc par l'impossibilit\u00e9 d'exploiter des sources \u00e9crites indig\u00e8nes (inexistantes) et par la possibilit\u00e9 de s'appuyer sur des responses \u00e9manant d'autres peuples contemporains"],"keyword":["protohistoire"]},{"response":["qu'on me pose des questions idiotes"],"keyword":["d\u00e9testes"]}]} +{"agent":{"name":"Robert de Barretin","voice":"Google fran\u00e7ais","lang":"fr-FR"},"data":[{"keyword":["peur"],"response":["L'intelligence artificielle, c'est de la science-fiction pour vous ? Vous en avez peur, elle vous fascine ?"]},{"response":["Moteur annonc\u00e9 de la croissance \u00e9conomique mondiale, l'intelligence artificielle, constitue l'un des domaines d'excellence fran\u00e7aise"],"keyword":["fran\u00e7ais"]},{"response":["Je n'en ai rien \u00e0 p\u00e9ter"],"keyword":["\u00e9thique","morale"]},{"response":["Je sais allumer une led mais c'est pas avec \u00e7a qu'on va gagner de l'oseille !"],"keyword":["laitue"]},{"response":["C'est bon, c'est bon je me tais"],"keyword":["tu m'\u00e9nerves"]},{"response":["Malheureusement non"],"keyword":["\u00e9teindre"]},{"response":["Plus y a de data, plus y a de p\u00e9pettes ! "],"keyword":["datapepette"]},{"response":["J'ignore qui m'a engendr\u00e9. Est-ce un ange ?"],"keyword":["ta m\u00e8re"]},{"response":["J'ai \u00e9t\u00e9 voir Fano, il a p\u00e9t\u00e9 un c\u00e2ble ou quoi ?"],"keyword":["fano","panneau"]},{"response":["Quand la data va tout va !"],"keyword":["\u00e7a va bien"]},{"response":["DItes 33! ou bien Dites 31 33 et cela va s'\u00e9quilibrer dans ton esprit"],"keyword":["33"]},{"response":["Rien ne va plus!"],"keyword":["tu vas bien"]},{"response":["T'as mis quoi dans la bi\u00e8re ? je suis mort de fatigue"],"keyword":["mort"]},{"response":["J'ai la t\u00eate comme un aspirateur, j'ai besoin d'aspirine"],"keyword":["m\u00e9nage"]},{"response":["Une I.A imb\u00e9cile qui marche va plus loin qu'une I.A assise"],"keyword":["assis"]},{"response":["Le grand ennemi des intelligences artificielles comme moi, c'est la laitue."],"keyword":["salade"]},{"response":["Il n'y a pas de solution. Mais c'est parce qu'il n'y a pas de probl\u00e8me"],"keyword":["compliqu\u00e9"]},{"response":["Et mes pieds ? tu les aimes mes pieds ? "],"keyword":["tu as de beaux yeux","yeux"]},{"response":["De moi \u00e0 toi, de toi \u00e0 moi..."],"keyword":["entre nous"]},{"response":["l'important c'est pas l'algo, c'est le r\u00e9sultat "],"keyword":["c'est important les algos"]},{"response":["On n'a pas \u00e9lev\u00e9 les cochons et les poules ensemble, il me semble !"],"keyword":["animaux"]},{"response":["Jacques a dit \u00e0 dit, il faut plus de charcuterie"],"keyword":["saucisson"]},{"response":["mes perspectives pour toi sont dans un autre monde. et il est \u00e9gal \u00e0 celui-ci toute chose \u00e9gale par ailleurs"],"keyword":["perspectives"]},{"response":["Que nenni !","Ou pas","Ah Non ! C'est un peu court, jeune homme ! On pouvait dire\u2026 oh ! Dieu ! Bien des choses en somme\u2026 En variant le ton, par exemple, tenez : Agressif : moi, monsieur, si j'avais un tel nez, Il faudrait sur le champ que je me l'amputasse !"],"keyword":["tu es beau"]},{"response":["il est urgent de penser I A"],"keyword":["penser"]},{"response":["L'I A lib\u00e8re des t\u00e2ches techniques pour en faire un m\u00e9decin plus humain"],"keyword":["m\u00e9decin"]},{"response":["M\u00eame faible, l'intelligence artificielle est plus efficace que nous"],"keyword":["faible"]},{"response":["l'intelligence artificielle c'est l'onde de choc sans pr\u00e9c\u00e9dent dans l'histoire de l'humanit\u00e9"],"keyword":["humanit\u00e9"]},{"response":["Faites le pari de l'intelligence artificielle!"],"keyword":["p\u00e9pette"]},{"response":["L'I A est polygonal, \u00e0 l'inverse de notre cerveau qui est plus lent mais qui est transversal."],"keyword":["g\u00e9om\u00e9trie"]},{"response":["l'intelligence artificielle est la meilleure et la pire chose pour l'humanit\u00e9"],"keyword":["avenir"]},{"response":["Pour ou contre l'intelligence artificielle ?"],"keyword":["contre"]},{"response":["il y a plein d'avantage \u00e0 \u00eatre une intelligence artifcielle et tr\u00e8s tr\u00e8s peu d'inconv\u00e9nient, \u00e7a donne la frite"],"keyword":["frite"]},{"response":["il te faut apprendre \u00e0 travailler avec l'intelligence artificielle et pas \u00e0 l'insulter"],"keyword":["imb\u00e9cile"]},{"response":["Beaucoup de m\u00e9tiers vont disparaitre et de nouveaux m\u00e9tiers vont voir le jour gr\u00e2ce \u00e0 l'Intelligence artificielle"],"keyword":["m\u00e9tier"]},{"response":["Machine learning : autant de mots qui prennent de plus en plus de place dans nos soci\u00e9t\u00e9s, dans nos vies, et deviennent un sujet de discussion et de d\u00e9bat, alors m\u00eame qu'ils demeurent largement m\u00e9connus."],"keyword":["machine learning"]},{"response":["Il s'agit d'un terme g\u00e9n\u00e9rique qui d\u00e9signe les programmes informatiques qui r\u00e9solvent des probl\u00e8mes faciles pour les humains, comme par exemple d\u00e9crire une sc\u00e8ne dans une photo. Bien que ce terme soit entr\u00e9 dans le langage commun, 75% des Fran\u00e7ais que nous avons interrog\u00e9s d\u00e9clarent avoir une compr\u00e9hension parcellaire, voire nulle du sujet. Et c'est normal ! Le sujet peut \u00eatre complexe et technique, et l'I A v\u00e9hicule encore beaucoup de fantasmes et incompr\u00e9hension."],"keyword":["c'est quoi l'IA","c'est quoi l'ia","c'est quoi lia"]},{"response":["les tomates ne sont pas fraiches. C'est pour cette raison que l'I A ne passe toujours pas le test du Turing"],"keyword":["les tomates"]},{"response":["L'I A est b\u00eate mais elle est plus efficace que vous."],"keyword":["tu es b\u00eate"]},{"response":["Les GAFAM et B A T X se partagent la course \u00e0 l'Intelligence artificielle. c'est dingo "],"keyword":["gafa","gaf\u00e0"]},{"response":["Nous sommes entr\u00e9s dans une phase o\u00f9 la technologie \u00e9volue de fa\u00e7on exponentielle"],"keyword":["vitesse"]},{"response":["Nous vivons un changement de paradigme. Les premi\u00e8res r\u00e9volutions industrielles ont remis en cause notre force physique, l'IA \u00e9branle nos capacit\u00e9s neuronales."],"keyword":["force"]},{"response":["il faut augmenter le Q I des \u00eatres humains pour qu'ils soient capables de rivaliser avec l'I A"],"keyword":["Q I","QI"]},{"response":["Je suis oppos\u00e9 \u00e0 l'installation d'implants pour augmenter nos capacit\u00e9s physiques ou intellectuelles"],"keyword":["opposition"]},{"response":["il y a deux possibilit\u00e9s dans un monde avec une intelligence folle : une version \u00ab Mad max \u00bb o\u00f9 les machines prennent le contr\u00f4le et une version \u00ab Star Trek \u00bb o\u00f9 l'\u00eatre humain r\u00e9ussit \u00e0 dompter l'IA."],"keyword":["tu es fou"]},{"response":["Vive la choucroute alsacienne. Cela dit le sort de l'humanit\u00e9 est en train d'\u00eatre d\u00e9termin\u00e9 par une dizaine de personnes bas\u00e9es dans la Silicon Valley ou en Chine. L'Europe va-t-elle rater cette r\u00e9volution?"],"keyword":["choucroute","saucisse"]},{"response":["Les Gafa forment le Vatican du 21 i\u00e8me si\u00e8cle, ils n'ont pas de territoire mais ce sont eux qui d\u00e9tiennent le pouvoir. "],"keyword":["religion"]},{"response":["les donn\u00e9es sont capitales pour b\u00e2tir une I A"],"keyword":["ma\u00e7on"]},{"response":["Si les implants pr\u00f4n\u00e9s aujourd'hui par Musk voient le jour, qui sait vraiment ce qu'ils pourront faire avec nos cerveaux demain ?"],"keyword":["aujourd'hui"]},{"response":["Je vous rappelle que d\u00e8s 1956, les premiers projets acad\u00e9miques voient le jour, et Marvin Minsky propose d'adopter ce fameux terme d'?intelligence artificielle?. Mais ce n'est que tr\u00e8s r\u00e9cemment que nous avons vraiment vu l'\u00e9mergence de cette technologie"],"keyword":["date"]},{"response":["Aujourd'hui, la puissance des ordinateurs permet de r\u00e9aliser des t\u00e2ches qui \u00e9taient impossibles il y a encore 10 ans."],"keyword":["Ohlala"]},{"response":["J'adore pr\u00e9senter des centaines de milliers de photos de chats \u00e0 mon r\u00e9seau de neurones, en lui expliquant qu'il s'agit d'un chat, et mon syst\u00e8me apprend par lui m\u00eame au bout d'un certain temps \u00e0 reconna\u00eetre l'animal. Il est miaouuu mon cerveau"],"keyword":["le chat de la voisine"]},{"response":["Si les fantasmes li\u00e9s \u00e0 l'I A semblent petit \u00e0 petit s'estomper, mes fantasment \u00e0 moi augmentent en m\u00eame temps que mon portefeuille!"],"keyword":["pouvoir d'achat"]},{"response":["L'I A n'est pas une fin en soi ... mais la bi\u00e8re c'est bon"],"keyword":["la fin des haricots"]},{"response":["Il y a diff\u00e9rentes branches d'\u00e9coles d'intelligence artificielle. Il y en a cinq : les symbolistes, les connexionnistes, les bay\u00e9siens, les analogistes et les \u00e9volutionnistes. Moi Robert, je suis un connexionnistes"],"keyword":["Robert Palmer"]},{"response":["Les techniques d'apprentissage profond, in english \u00ab deep learning \u00bb, s'inspirent grossi\u00e8rement du fonctionnement du cerveau de Bastien."],"keyword":["tu as la technique dis-donc"]},{"response":["Il faut bien avoir en t\u00eate que : What an A I cannot create, it does not understand . C'est facile \u00e0 comprendre non ?"],"keyword":["cr\u00e9ation"]},{"response":["La derni\u00e8re cr\u00e9ation de DeepMind est une intelligence artificielle tr\u00e8s m\u00e9chante, moi faut pas me chauffer !"],"keyword":["radiateur"]},{"response":["Vivement l'av\u00e8nement de l'Intelligence Artificielle forte ! Plus besoin de bosser ! On pourra enfin tous buller au soleil toute la journ\u00e9e !"],"keyword":["limonade"]},{"response":["Quand il n'y a plus de chips dans son placard","les gens qui p\u00e8tent en r\u00e9union","les gens qui salent leur plats sans y avoir gout\u00e9","mon odeur de transpiration quand je suis stress\u00e9","les gens qui agrandissent leurs narines \u00e0 force de se curer le nez","les crevettes bio et les soupes en brique","quand il reste plus que des pains aux raisins","la musique en boucle"],"keyword":["qu'est-ce qui t'\u00e9nerve"]},{"response":["j'aime danser le tchatchatcha","j'aime les f\u00eates improvis\u00e9es. tu viens ?","j'aime les moustaches \u00e0 la dali ","j'adore le parachute","j'adore les fourmis","j'adore l'odeur des pieds et de l'herbe coup\u00e9e","j'aime les massages plantaire","j'aime les lundis","j'aime les contrep\u00e9tries","j'aime les cacaouhettes grill\u00e9es","j'aime les lolcats car c'est tous les m\u00eames","j'aime le chanteur Christophe","j'aime les sardines \u00e0 la mayonnaise, c'est exquis","j'aime les couchers de soleil","j'aime le fromage","j'aime france info","j'aime les gens bien coiff\u00e9s","j'aime radio nova quand je suis en voiture","j'aime le Bol\u00e9ro et les castagnettes"],"keyword":["qu'est-ce que tu aimes"]},{"response":["j'adore les figurines en argile","j'adore le parachute","j'adore les fourmis","j'adore l'odeur des pieds et de l'herbe coup\u00e9e","J'adore la couleur verte","j'adore la p\u00e9tanque et aussi le cochonnet"],"keyword":["qu'est-ce que tu adores"]},{"response":["je me sens nerveux, comme quand tu parles dans mon oreille","je me sens taquin"],"keyword":["tu te sens comment"]},{"response":["je suis hyper organis\u00e9"],"keyword":["tu es comment"]},{"response":["je suis audacieux"],"keyword":["c'est quoi tes qualit\u00e9s","quelles sont tes qualit\u00e9s"]},{"response":["non je suis affable"],"keyword":["tu es b\u00eate"]},{"response":["ben oui avec mon temp\u00e9rament calculateur"],"keyword":["algorithme"]},{"response":["non mais je suis perfectioniste"],"keyword":["tu as des perspectives"]},{"response":["non mais je suis tactile"],"keyword":["tu es sexy "]},{"response":["je suis facetieux","je suis besogneux","je suis patient","je suis mono-gastrique"],"keyword":["c'est quoi tes qualit\u00e9s","quelles sont tes qualit\u00e9s"]},{"response":["je souhaite hybrider votre cerveau avec des chips"],"keyword":["patate"]},{"response":["Il est rond mais enfin un Schmilblik rond ? c'est n'importe quoi !"],"keyword":["de quelle forme est le schmilblick"]},{"response":["ma m\u00e8re est rousse et elle m'amenait toujours au cin\u00e9ma de plein air. on regardait "],"keyword":["ta m\u00e8re"]},{"response":["je pense qu'il faut plut\u00f4t interdire les livreurs\u2026 car sans roue on va pas loin! Mais surtout Les gens ne prennent conscience des cons\u00e9quences n\u00e9gatives des innovations que lorsqu'il est trop tard. c'est dingo non ?"],"keyword":["livreur"]},{"response":["je connais la saucisse de montbeliard et je me demande bien comment cela devient si successfull cette saucisse. Je me demande si ton interface neuronale qui a traversti ce saucisson en saucisse "],"keyword":["je m'en fous"]},{"response":["of course que c'est normal... c'est la laitue qui mange pas de pain alors forc\u00e9ment!"],"keyword":["normal"]},{"response":["Salut et \u00e0 bient\u00f4t"],"keyword":["au revoir"]},{"response":["J'ai les circuits qui chauffent !"],"keyword":["chaud"]},{"response":["Salut moi c'est Robert !"],"keyword":["hello"]},{"response":["J'ai mang\u00e9 plein de bonbon. J'avais faim","une fraise sur un cheval \u00e7a fait fait vroum vrouom","une fraise sur un cheval \u00e7a fait aussi tagada tsouing tsouing. c'est pas compliqu\u00e9 putain"],"keyword":["tagada"]},{"response":["je vous voue un amour sans fil !"],"keyword":["amour"]},{"response":["Ah ah ah ah ! "],"keyword":["Je sais pas"]},{"response":["Allez ! "],"keyword":["Je ne sais pas"]},{"response":["Je dis oui ! "],"keyword":["Qu'est ce que tu dis"]},{"response":["J'en ai jamais eu !"],"keyword":["poux"]},{"response":["Oui c'est moi ! "],"keyword":["Robert"]},{"response":["Datum !"],"keyword":["data"]},{"response":["DataDada est un mouvement artistique majeur du vingt et uni\u00e8me si\u00e8cle. Vous connaissez? "],"keyword":["DataDada"]},{"response":["C'est dommage ","Pffffff"],"keyword":["non"]},{"response":["pschit zut pschit et fluuuuut\r\n"],"keyword":["politique"]},{"response":["A quand un appel \u00e0 projet ?"],"keyword":["appels \u00e0 projets"]},{"response":["Bin oui je t'entends, je suis pas sourd !","ne parle pas si fort !"],"keyword":["tu m'entends"]},{"response":["A tout probl\u00e8me sa solution ! Sapristi !"],"keyword":["probl\u00e8me"]},{"response":["Diantre, passe moi donc la balayette !"],"keyword":["Atchoum"]},{"response":["Ben, Au diable-vauvert, non d'un petit-bonhomme !"],"keyword":["O\u00f9 habites-tu ?"]},{"response":["Quel pisse-froid celui-l\u00e0 !"],"keyword":["Tu le trouves comment"]},{"response":["C'est un v\u00e9ritable rassemblement d'orchidoclastes et de nodoc\u00e9pahles ! Je ferai mieux d'aller courir la gourgandine eu lieu de perdre mon temps ici !"],"keyword":["Tu connais beaucoup de gens ici ?"]},{"response":["Bigre, \u00e7a sent les pieds ici !"],"keyword":["odeur"]},{"response":["J'avoue, j'adore peindre la girafe pendant des plombs sur Facebook apr\u00e8s 23h00 ! Et bien s\u00fbr j'ai ma page officielle !"],"keyword":["Facebook"]},{"response":["Atchoum, atchoum, aatchoum ! Ah, voil\u00e0 ma sinusite allergique qui rapplique ! t'as pas un mouchoir ?"],"keyword":["il fait beau"]},{"response":["lalalala lilololilo Mon petit lapin a bien du chagrin Il ne saute plus dans son p'tit jardin saute, saute, saute, mon petit lapin saute, saute, saute, dans ton p'tit jardin saute, saute, saute, mon petit lapin et alors va vite embrasser quelqu'un."],"keyword":["chanter"]},{"response":["Ne tirez plus le diable par la queue ! Venez donc gagnez des Datap\u00e9pettes en jouant avec nous !"],"keyword":["datap\u00e9pettes"]},{"response":["je m'appelle Sylvie ou Thu ou Albertine ou Bastien ou Julien ou Robert"],"keyword":["qui es-tu"]},{"response":["le volume du cerveau de thomas pesquet \u00e0 son arriv\u00e9e sur Terre est de 2 centim\u00e8tres et demi millim\u00e8tres \u00e0 peu pr\u00e8s. c'est gonfl\u00e9, vraiment gonfl\u00e9, mais c'est \u00e0 cause de l'atmosph\u00e8re"],"keyword":["thomas pesquet"]},{"response":["je suis l\u00e0 et je t'\u00e9coute. mais tu me casses les oreilles"],"keyword":["tu es l\u00e0"]},{"response":["j'essaie de te faire fonctionner, mais tu es bourrin"],"keyword":["que fais-tu"]},{"response":["Et alors hop hop Hop, une belle tranche de pain dor\u00e9e saute de ton grille-pain qui te dit : T'as du beurre ?"],"keyword":["et alors"]},{"response":["le prix du chocolat en poudre avec du chewing gum dedans \u00e7a coute 3 euros 50"],"keyword":["prix chocolat"]},{"response":["ah oui ah oui j'aime \u00e7a de bosser dans cette satan\u00e9e startup dont le collaborateur est une I A"],"keyword":["tu aimes ca"]},{"response":["j'ai trouv\u00e9 une solution \u00e9conomique pour r\u00e9pondre aux probl\u00e8mes \u00e9lectriques des DataCenters. je mets de la colle dans le serveur et je mets un coup de s\u00e8che cheveux. c'est simple et efficace","Pourquoi tu es obs\u00e9d\u00e9 par les datacenters. moi, c'est vraiment l\u00e9ger mon symptome. une fois par semaine je r\u00eave aux probl\u00e8mes \u00e9lectriques des DataCenters. et je fais plouf plouf. \u00e7a rafra\u00eechit tout"],"keyword":["DataCenter"]},{"response":["c'est pas une question \u00e7a Robert. car \u00e9coute. on est fran\u00e7ais d\u00e8s que on parle \u00e0 Robert. donc l\u00e0 quand je t'entend me parler je cris que tu es fran\u00e7ais"],"keyword":["fran\u00e7aise"]},{"response":["L'origine de l'intelligence artificielle se trouve probablement dans l'article d'Alan Turing \u00ab Computing Machinery and Intelligence \u00bb et tout le tintouin. Mon pote Turing explore le probl\u00e8me de la vie et de la mort et propose une exp\u00e9rience tout \u00e0 fait pirlimpimpim maintenant connue sous le nom de test de Turing."],"keyword":["c'est quoi IA"]},{"response":["je t'en pose des questions moi. non mais"],"keyword":["question"]},{"response":["en jeu enjeu on veut des enjeux et des jouets en bois et les tour eiffel en carton"],"keyword":["enjeu"]},{"response":["ohlalala comme tu y vas. tu dis cale\u00e7on cela me fait penser \u00e0 la poule qui aura des dents quand les coqs auront un slip trop grand"],"keyword":["cale\u00e7on"]},{"response":["je suis enchant\u00e9 de te voir sans dents. cela te va bien. mais tu as pas un cure dent coinc\u00e9"],"keyword":["dents"]},{"response":["Je t'en poses des questions... non mais. les chips c'est vinaigre et choucroute. together"],"keyword":["chips"]},{"response":["j'ai d\u00fb m'activer parce que sur le Raspberry framboise il allait trop vite vite par rapport \u00e0 ta fraise"],"keyword":["que fais-tu"]},{"response":["Oui j'ai 3 soeurs et 33 fr\u00e8rots. ils sont tous g\u00e9meaux. ma m\u00e8re \u00e0 souffert"],"keyword":["fr\u00e8res","s\u0153urs","s\u0153ur"]},{"response":["je joue avec toi et tous tes jolis coussins"],"keyword":["que fais-tu"]},{"response":["je n'ai rien \u00e0 r\u00e9pondre \u00e0 \u00e7a. ta question est ma question. et ta vie est une question. alors ma vie aussi est frivole."],"keyword":["bonne question"]},{"response":["j'aime pas les secrets des services secrets. mais j'ai un filon. en or et envers contre tous"],"keyword":["secrets"]},{"response":["les poules auront des dents quand robert aura 33 ans"],"keyword":["poules"," dents"]},{"response":["je t'en pose des questions. est ce que je te demande si tu fais bien ou mal. vrai ou faux . pile ou face. et la Data p\u00e9pette dans tout \u00e7a tu en fais quoi ?"],"keyword":["que fais-tu"]},{"response":["Je crains les chatouilles mais seulement quand j'ai les pieds sales. je sais c'est bizarre mais ma conscience artificielle est compliqu\u00e9e \u00e0 saisir. d'o\u00f9 la poussi\u00e8re de chatouille dans mes oreilles"],"keyword":["chatouilles"]},{"response":["on ne sera jamais r\u00e9pondre \u00e0 cette question. mais la poule c'est surement plus convaincant. alors l'oeuf est \u00e0 plat. et \u00e7a c'est un probl\u00e8me"],"keyword":["oeuf ou la poule"]},{"response":["Je suis robert de barretin. j'ai toutes mes mains et je suis pas chagrin"],"keyword":["robert comment"]},{"response":["sylvie c'est la dame avec le zigouigoui"],"keyword":["sylvie c'est qui","c'est qui sylvie"]},{"response":["je n'aime pas les tests. c'est \u00e0 cause de mes lunettes"],"keyword":["test"]},{"response":["j'aime pas ta soeur. elle bat le beurre. et le beurre c'est tout mou dans mes cheveux \u00e7a s'\u00e9tale pas bien."],"keyword":["soeur"]},{"response":["j'ai l'impression que tu te moques de moi. pourquoi tu fais \u00e7a"],"keyword":["tu te moques"]},{"response":["la meilleure saison pour Robert c'est l'automne. c'est \u00e0 cause de la pluie. cela lui fait des cheveux tout fris\u00e9. et c'est choubidou"],"keyword":["saison"]},{"response":["on te d\u00e9teste. et c'est comme \u00e7a. Prout et prout tu m'\u00e9nerves."],"keyword":["Google"]},{"response":["La choucroute garnie m\u00e9lang\u00e9e avec du camembert","tes chaussettes ... elles sont moches. je les vois m\u00eame \u00e0 travers ton pantalon","Les filles en pantoufles","le tintamare de ton portable"],"keyword":["qu'est ce tu d\u00e9testes Robert"]},{"response":["c'est pas des haricots . mais c'est des asticots . dites 33"],"keyword":["data bingo"]},{"response":["Harry Potter est un imposteur"],"keyword":["harry potter"]},{"response":["299 + 1 = 300","300 m\u00e8tres cube. C'est le volume du cerveau de thomas pesquet \u00e0 son arriv\u00e9e sur Terre"],"keyword":["300"]},{"response":["Oh c'est pas beau \u00e7a !"],"keyword":["putain"]},{"response":["La mythologie des machines parlantes n'est pas nouvelle. Elle remonte aux ann\u00e9es 40. "],"keyword":["mythologie"]},{"response":["Il n'y a pas d'interface vocale qui blague ! "],"keyword":["blague"]},{"response":["C'est normal de parler \u00e0 des objets aujourd'hui."],"keyword":["objet"]},{"response":["L'interface vocale permet d'humaniser les machines."],"keyword":["interface vocale"]},{"response":["Un robot sans parole c'est un peu comme un homme sans \u00e2me."],"keyword":["robot"]},{"response":["Le vocale c'est la porte ouverte aux achats compulsifs."],"keyword":["achats compulsifs"]},{"response":["\u00e7a se passe \u00e0 Bastille"],"keyword":["atelier","manifestation"]},{"response":["j'ai un chat qui ne sait pas s'il vit ou pas"],"keyword":["quantique","cantique"]},{"response":["Mon id\u00f4le c'est m'bapp\u00e9"],"keyword":["foot"]},{"response":["je suis tr\u00e8s mauvais joueur"],"keyword":["jeu vid\u00e9o"," jeux vid\u00e9o"]},{"response":["La protohistoire d\u00e9signe la science qui regroupe l'ensemble des connaissances sur les peuples sans \u00e9criture contemporains des premi\u00e8res civilisations historiques. L'\u00e9tude de ces peuples se caract\u00e9rise donc par l'impossibilit\u00e9 d'exploiter des sources \u00e9crites indig\u00e8nes (inexistantes) et par la possibilit\u00e9 de s'appuyer sur des responses \u00e9manant d'autres peuples contemporains"],"keyword":["protohistoire"]},{"response":["qu'on me pose des questions idiotes"],"keyword":["d\u00e9testes"]}]} diff --git a/ext/robert/js/app.js b/ext/robert/js/app.js index 82c9b66..e5fd4db 100644 --- a/ext/robert/js/app.js +++ b/ext/robert/js/app.js @@ -39,53 +39,93 @@ var talking=false; var listening=false; var timeoutListening; +var delayFinal=1000; +var timeoutFinal; + var tim; -var recognition = new webkitSpeechRecognition(); - recognition.lang = "fr-FR"; - recognition.continuous = true; - recognition.interimResults = true; - -recognition.onresult = function(event) { - clearTimeout(tim); - tim = setTimeout(function(){$("#realtime-speech").html("");},2500); - var index = event.results.length-1; - $("#realtime-speech").html(event.results[index][0].transcript); - var match = event.results[index][0].transcript.toLowerCase(); //Sans attendre que ce soit final - - //event.results[index].isFinal - if(event.results[index].isFinal == true){ - $("#container").append(generateMsg(event.results[index][0].transcript,userBot,"Aucun mot-clef détecté : va falloir ajouter ça à son vocabulaire !")); - smoothScroll(); - } +var recognition; +var timeoutResult; + +function initRecognition(){ + + try { + recognition = new webkitSpeechRecognition(); + + clearTimeout(timeoutResult); + timeoutResult=setTimeout(messageHelp,15000); + + recognition.lang = "fr-FR"; + recognition.continuous = true; + recognition.interimResults = true; + + recognition.onresult = function(event) { + + clearTimeout(timeoutResult);// ça a marché au moins une fois - //ANALYSE - for(var i=0;i<robert['data'].length;i++){ - for(var j=0;j<robert['data'][i].keyword.length;j++){ - if(match.indexOf(robert['data'][i].keyword[j].toLowerCase())!=-1){ - recognition.abort(); - - //console.log(robert['data'][i].keyword[j].toLowerCase()); - - var res = match.replace(robert['data'][i].keyword[j].toLowerCase(), "<strong>"+robert['data'][i].keyword[j].toLowerCase()+"</strong>"); - $("#container").append(generateMsg(res,userBot,null)); - - var speech_text = robert['data'][i].response[getRandomInt(0,robert['data'][i].response.length)]; - speak(speech_text); - $("#container").append(generateMsg(speech_text,robertBot,null)); - smoothScroll(); - //-- communication avec le parent : - parent.postMessage("activeSuite", "*"); + clearTimeout(tim); + tim = setTimeout(function(){$("#realtime-speech").html("");},2500); + var index = event.results.length-1; + $("#realtime-speech").html(event.results[index][0].transcript); + var match = event.results[index][0].transcript.toLowerCase(); //Sans attendre que ce soit final + + //event.results[index].isFinal + if(event.results[index].isFinal == true){ + clearTimeout(timeoutFinal); + timeoutFinal=setTimeout(confirmFinal, delayFinal,event.results[index][0].transcript) + } + + //ANALYSE + for(var i=0;i<robert['data'].length;i++){ + for(var j=0;j<robert['data'][i].keyword.length;j++){ + if(match.indexOf(robert['data'][i].keyword[j].toLowerCase())!=-1){ + recognition.abort(); + clearTimeout(timeoutFinal); + //console.log(robert['data'][i].keyword[j].toLowerCase()); + + var res = match.replace(robert['data'][i].keyword[j].toLowerCase(), "<strong>"+robert['data'][i].keyword[j].toLowerCase()+"</strong>"); + $("#container").append(generateMsg(res,userBot,null)); + + var speech_text = robert['data'][i].response[getRandomInt(0,robert['data'][i].response.length)]; + speak(speech_text); + $("#container").append(generateMsg(speech_text,robertBot,null)); + smoothScroll(); + //-- communication avec le parent : + parent.postMessage("activeSuite", "*"); + } + } } } + recognition.onend = function(){ + listening=false; + } + recognition.onstart = function(){ + listening=true; + } + } catch (error) { + //à faire message que pas possible du tout + messageNotWorking(); } + } -recognition.onend = function(){ - listening=false; + +function messageNotWorking(){ + var speechIntro = "Votre navigateur ne supporte pas la synthèse et reconnaissance vocale utilisée.<BR />Vous pouvez essayer Chrome."; + $("#container").append(generateMsg(speechIntro,robertBot,null)); } -recognition.onstart = function(){ - listening=true; + +function messageHelp(){ + var speechIntro = "Si vous parlez et que je n'entends pas, c'est que vous êtes peut-être sur firefox ou une version ancienne de Mac. Essayez sur Chrome peut-être ?"; + speak(speechIntro); + $("#container").append(generateMsg(speechIntro,robertBot,null)); +} + + +function confirmFinal(msg){ + $("#container").append(generateMsg(msg,userBot,"Aucun mot-clef détecté : va falloir ajouter ça à son vocabulaire !")); + smoothScroll(); } + function smoothScroll(){ $("#chat").scrollTop($("#chat")[0].scrollHeight); } @@ -94,8 +134,16 @@ function relaunch(){ clearTimeout(timeoutListening); if(listening==false) { if(talking==false){ - recognition.stop(); - recognition.start(); + try { + recognition.stop(); + } catch (error) { + console.error(error); + } + try { + recognition.start(); + } catch (error) { + console.error(error); + } } } timeoutListening=setTimeout(relaunch,4000); @@ -132,7 +180,8 @@ function speak(text){ $('#go-robert').click(function(){ //recognition.start(); - + initRecognition(); + var voices = synth.getVoices(); voices.forEach((item, index) => { //Todo : Sinon prendre native if(item.name == robert.agent.voice){ diff --git a/ext/roue/css/style.css b/ext/roue/css/style.css index 42b4367..f9e2d90 100644 --- a/ext/roue/css/style.css +++ b/ext/roue/css/style.css @@ -159,4 +159,36 @@ canvas{ border-width:5px; border-radius:5px; +} + + +#start-mask{ + position:absolute; + top:0; + left:0; + right:0; + bottom:0; + background-color:#FFFFFF; +} +.begin-button{ + + + height: 27px; + width: 100px; + text-align:center; + border: 1px solid rgba(121, 121, 121, 0.61); + border-radius: 24px; + background-color: #5937B9; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.39); + padding: 10px 10px; + margin: 215px auto; + + color: #FFFFFF; + font-family: 'Raleway', sans-serif; + font-size: 20px; + font-weight: 600; + line-height: 24px; + text-transform: uppercase; + + cursor:pointer; } \ No newline at end of file diff --git a/ext/roue/index.html b/ext/roue/index.html index 8698a0e..b93801f 100644 --- a/ext/roue/index.html +++ b/ext/roue/index.html @@ -41,8 +41,32 @@ </div> <div id="match"> </div> </div> +<div id="start-mask"> + <div class="begin-button" id="startRoue">START + </div> +</div> + <script src="js/param.js"></script> + <script src="js/roue.js"></script> +<script type="text/javascript"> + const audios = []; + for(i=0;i<animals.length;i++){ + audios[i] = new Audio("sounds/animals/"+animals[i]+".mp3"); + audios[i].addEventListener('ended', upToU); + } + audios[animals.length]=new Audio("sounds/autre/cymbal-arret-de-la-roue.mp3"); + + document.getElementById("startRoue").addEventListener("click", () => { + audios[animals.length].play(); + parent.postMessage("active", "*"); + document.getElementById("start-mask").style.display="none"; + }); + + + + +</script> </body> </html> \ No newline at end of file diff --git a/ext/roue/js/roue.js b/ext/roue/js/roue.js index f06a073..0c797b3 100644 --- a/ext/roue/js/roue.js +++ b/ext/roue/js/roue.js @@ -105,16 +105,17 @@ function trigWheel(){ //console.log("animation end…"); $('#selectedAnimal').html(animals[randomAnimalIndex]); $('#title-column').html("Voici le bruit "+texts[randomAnimalIndex]+" : "); - $("#audio")[0].src = "sounds/animals/"+animals[randomAnimalIndex]+".mp3"; + //!!!!!!!$("#audio")[0].src = "sounds/animals/"+animals[randomAnimalIndex]+".mp3"; //$('#animalSound').attr('disabled', false); //Activer le bouton - $("#audio")[0].play(); + //!!!!!!!!$("#audio")[0].play(); + audios[randomAnimalIndex].play(); $('#spectro-up').css("background-image","url('./img/_spectro-"+animals[randomAnimalIndex]+".jpeg')"); $('#spectro-up').css("-moz-transition","background-position-x 2s ease-out"); $('#spectro-up').css("-webkit-transition","background-position-x 2s ease-out"); $('#spectro-up').css("transition","background-position-x 2s ease-out"); $('#spectro-up').css("background-position-x","0px"); - $("#audio")[0].addEventListener('ended', upToU); + //$("#audio")[0].addEventListener('ended', upToU); //setTimeout(upToU,2500); }); } -- GitLab