Apporter une solution visuelle innovante à l’ambiance dans les stades

Le Hacking Industry Camp est un des nombreux hackathon proposé en Alsace. Ce qui le différencie avec les autres événements de ce type est son lien fort avec l’industrie. C’est dans ce contexte qu’une équipe composée de consultants s’est formée autour d’un projet : SuperKop.

Le pitch

Depuis de nombreuses années, les stades de football sont des lieux de rassemblement pour des supporters de tout horizon. Présents pour soutenir leur équipe, dans les bons comme les mauvais moments. Chants, chorégraphies, drapeaux, tous les moyens sont bons pour mettre l’ambiance.

Cependant, les moyens utilisés sont connus de tout le monde désormais, et n’utilisent que très peu les nouvelles technologies. C’est de ce constat qu’une idée est venue : donner un moyen supplémentaire aux supporters de s’amuser et de perpétuer l’esprit d’équipe dans le stade.

Grâce à une application mobile mise à disposition des supporters, il vous sera possible, via un QR code situé sur votre billet, d’être localisé par l’application et de faire partie d’une animation visuelle avec l’ensemble des volontaires.

Méthodes de travail

Familiers avec la méthodologie agile, nous avons proposé au reste de l’équipe de leur présenter les principes de l’agilité et notamment l'intérêt que pourrait apporter l’installation d’un Kanban pour ce hackathon.

Pendant ces 52h, nous avons adapté les principes agiles les plus élémentaires pour les utiliser dans notre projet. “Daily” meeting toutes les 2/3h, user stories présentes sur le Kanban, répartition des tâches. Nous voulions faire des sprints, cependant l’idée a été abandonnée car aux vues des conditions imposées par l’évènement, des dispositions ont été prises :

  • Présentation de la personnalité et des compétences de chacun;
  • Une période de brainstorming importante (mais nécessaire);
  • Un planning des roulements sur le weekend;

Finalement, travailler conjointement sur tous les aspects du projet à la fois s’est avéré être efficace, après qu’un certain cadre ai été mis en place permettant d’organiser et fluidifier les avancées de l’équipe.

Quid de l’architecture ?

 

Il a été décidé de développer l’application en Xamarin, afin de créer une application pour plusieures plateformes.

Pour répondre à une demande mondiale et en constante évolution, une application web et une base de donnée hébergé sur Azure représentent une solution adaptée.

Plusieurs acteurs pour cette application :

  • Le Technicien : Il interagit directement avec l’interface web, afin de créer les animations et de les programmer à heure fixe.
  • L’Utilisateur : Confortablement installé à l’emplacement indiqué par son billet, il peut s’inscrire aux évènements disponibles.
  • Le Chauffeur de salle : En complément ou en remplacement du technicien, il a la possibilité de lancer l’animation, le notification hub envoyant aux utilisateurs inscrits le message pour activer les flashs selon la séquence définie.
  • Le notification hub : Afin de synchroniser les animations sur tous les téléphones, la solution retenue est d’envoyer toutes les séquences d’animations à l’inscription dans l’évènement. La position de l’utilisateur étant connue par l’application via le QR code disponible sur son billet, ce dernier peut dores et déjà recevoir des données aux format Json.

Maquettes de l’application

Interface web utilisable par le Technicien

Maquettes de l’application mobile

Au final

Au terme du week-end, nous avons été en mesure de montrer un premier prototype fonctionnel du système en pilotant le flash de plusieurs smartphones équipés de l’application. Le projet a d’ailleurs été récompensé du prix “Caisse d’Epargne” qui devrait pouvoir permettre au projet de continuer un peu pour peut-être un jour se déployer dans les stades du monde entier.

Nous tenons à remercier toute l’équipe pour leur confiance et à féliciter tout le monde pour leur implication et leurs idées apportées tout au long du projet mais aussi tout le staff d’Alsace Digitale qui a fait un travail exceptionnel dans l’organisation et l’animation de l’événement!

Ce hackathon nous aura apporté une expérience inoubliable, riche de rencontres, de souvenirs, et d’un beau projet mené à bien en équipe. Nous n’attendons qu’une chose maintenant: la prochaine édition!

Retrouvez les autres billets concernant les différents projets du hackathon sur le blog de Versusmind !

Steven Klinger

IT Consultant chez Versusmind, entre l'envie de bousculer les choses et d'observer ce qui m'entoure, je veux briser les codes dans le milieu de l'IT.

Créer son application pour Google Home

Créer son application pour Google Home avec Dialogflow

Chose promise, chose dûe ! Suite à l’article de présentation des possibilités de Google Home, je vais désormais vous présenter l’envers du décor : la création d’une application pour notre appareil.

Dialogflow

Anciennement Api.ai, Dialogflow permet de créer un moyen de communiquer entre un utilisateur et notre google home. Parmi les autres supports disponibles : Slack, Messenger, Twitter, Kik et j’en passe. Il est désormais possible de créer des applications pour Google Home par ce biais.

Par le biais d’intentions, le système va reconnaître (ou non) les requêtes de l’utilisateur et lui répondre de manière la plus correcte possible.

Intents

Un “intent” représente une corrélation entre ce qu’un utilisateur va dire et l’action que notre plateforme va effectuer en conséquence, en somme, une intention.

Par défaut, il existe deux types d’intent déjà présents :

  • Default Fallback Intent : En cas d’incompréhension de la requête utilisateur, le message retourné par notre appareil google home sera mentionné dans cette catégorie d’Intent. A nous d’indiquer le message d’erreur retourné;
  • Default Welcome Intent : Comme son nom l’indique, le message d’accueil par défaut à l’entrée de votre application;

Créons tout d’abord un intent pour récupérer le numéro du très célèbre Austin Powers :

A savoir que plus nous allons remplir le “panel” de questions possibles, plus le système sera précis.

De ce fait, simplement, si je souhaite récupérer le numéro de notre cher ami Austin Powers, je peux juste énoncer “Powers”.

Dialogflow fournit un moyen de tester très rapidement nos intents. Par voix ou même par texte, il est possible de vérifier que notre application fait ce qu’on lui demande.

La réponse n’est toutefois pas générée toute seule, c’est à nous d’indiquer le panel de réponses possibles, sur le même modèle que les questions posées.

Il est aussi possible de relier des éléments de l’input utilisateur à ce qu’on appelle des entités.

Entities

Une entité est un mot-clé que nous souhaitons identifier et récupérer dans la commande vocale de l’utilisateur.
Particulièrement utile pour les recherches, des entités réutilisables sont mises à disposition afin de repérer efficacement tout type d’instructions : musiques, date, etc…

Il est possible de définir des synonymes afin d’élargir les possibilités et de toujours être le plus précis possible dans la réponse attendue.
Dans notre cas, nous créons une entité Austin Powers avec une seule entrée (pour l’exemple)

Avec juste ceci, nous avons une application qui nous renvoie une réponse par rapport à la phrase attendue : Simple, basique.

Cas développé : Annuaire-Brooklyn

Comme son nom l’indique, nous allons parler du développement d’un annuaire sur Google Home. Je souhaites qu’à partir de la recherche d’un nom, l’appareil nous retourne le numéro de la personne demandée.

Pour ce faire, il est nécessaire de créer un intent (nommé annuaire) :

Qui va utiliser une entité nommée utilisateur :

Afin de générer une réponse personnalisée, nous allons utiliser un script en node.js afin de retourner le numéro de téléphone correspondant à un utilisateur.

Pour ce faire, plusieurs étapes sont nécessaires :

  • Dans l’intent annuaire, il est indispensable de sélectionner l’utilisation d’un Webhook dans la rubrique fulfillment;
  • Dans le menu Fulfillment, deux possibilités :
    • Soit utiliser directement une URL (Webhook), générée par le biais de Firebase lors du déploiement par ligne de commande;
    • Soit utiliser l’éditeur inclus dans Dialogflow, utilisant les Cloud Fonctions pour Firebase, plus rapide en somme lorsque votre projet comporte qu’un seul fichier index.js; c’est cette solution que j’ai choisi;

Notons que si cette solution est choisie, nous devons impérativement utiliser le nom dialogflowFirebaseFulfillment pour l’exports, sans quoi un message d’erreur sera affiché lors du déploiement.

De plus, afin que l’application reconnaisse le message envoyé, il est nécessaire d’indiquer que la réponse que nous souhaitons envoyer est au format Json.

Le déploiement ayant été effectué (simplement en appuyant sur le bouton deploy en bas de page), il faut désormais tester l’application.

Une interface étant mise à disposition pour tester notre application sur Google Home, il faut au préalable indiquer dans le menu Integrations que nous souhaitons passer notre application en mode test :

Cette étape étant réalisée, il ne reste qu’à utiliser l’interface disponible pour tester l’annuaire. Au micro ou par texte, pour un téléphone ou un Google Home, il est possible de tester l’application selon différentes configurations.

En conclusion

Afin de développer une application pour Google Home, de nombreux outils sont mis à disposition. Je ne vous en ai fait découvrir qu’un seul. Dialogflow permet de grandes possibilités, d’une simple conversation sans avoir à programmer une ligne de code, de la simple conversation aux projets les plus complexes, les possibilités sont quasiment infinies.

Des templates sont aussi disponibles en dehors de Dialogflow, selon le type de l’application que vous souhaitez développer, sans avoir à programmer :

En définitive, bien que nous sommes encore qu’aux prémices de l’assistant personnalisé au sein de nos logis, Google nous donne les clés afin de personnaliser au mieux notre expérience avec leurs appareils, que l’on soit développeur, ou non.

Steven Klinger

IT Consultant chez Versusmind, entre l'envie de bousculer les choses et d'observer ce qui m'entoure, je veux briser les codes dans le milieu de l'IT.

Google home : Gadget éphémère ou disruption digitale majeure ?

Dans une époque où nous sommes tous connectés, de nouveaux appareils font leur apparition. Parmi  eux, Google Home commence à se faire une place sur le marché des stations intelligentes.
Etant un grand amateur de ce genre d’appareils, il fallait donc que je m’en procure un !

Une fois l’installation de l’appareil effectuée, il y a la phase d’apprentissage. On pourrait penser que c’est l’IA qui va apprendre à nous connaître, mais c’est surtout nous qui devons nous habituer au fonctionnement de notre nouvel interlocuteur.
Compte Spotify relié, je peux enfin commencer à utiliser la musique. Après avoir joué 3h avec l’IA - le syndrome de l’euphorie de Noël on le connaît tous - j’ai réalisé que la seule fonction du Google Home que j’ai utilisé était la musique.

S’en suivit une phase d’essayage de tout et n’importe quoi. “Quelle heure est-il, met une alarme à 7h, dit moi une blague” et j’en passe. C’est assez divertissant je dois l’admettre ! Et c’est justement après toute cette phase de divertissement que j’ai voulu pousser les limites de l’appareil.

Dans mes découvertes, j’ai trouvé une réponse à une de mes phrases agréablement surprenante. En effet, si l’on mentionne à l’IA que l’on veut mourir - ne vous inquiétez pas pour moi tout va bien ! C’est pour la science ! - on a comme réponse : “Vous n’êtes pas seul, vous trouverez une aide gratuite au…” C’est selon moi la frontière entre le gadget et la réelle utilité que le Google Home peut apporter. Si les concepteurs de l’appareil ont prévu une réponse adaptée pour ce genre de paroles alors pleins d’autres choses sont forcément possibles. De la recette de cuisine aux conseils de vie, la barrière que j’ai pensé heurter a souvent été celle de mon imagination.

Je voudrais aussi vous parler d'un élément fondamental de Google Home, c’est l’aspect domotique que la nouvelle base intelligente de Google propose.
Seul, l’appareil ne peut pas agir sur votre maison. Mais avec des ampoules connectées et un Chromecast, vous pourrez interagir avec votre maison de manière plus interactive. Fini la télécommande et les interrupteurs, on peut désormais gérer l’éclairage de toutes nos pièces ainsi que nos programmes télévisés par simple commande vocale.

Cependant, le Google Home cache une réalité pas si camouflée que ça. Toutes les commandes demandées, que cela soit dans le but de l’humour ou non sont enregistrées et envoyées à Google. Au final, tout comme des recherches internet classiques.
Mais encore une fois, là où Google rassure est quand on lui demande “Qu’est ce que tu enregistres sur moi ?”. La réponse se veut bienveillante : “Votre sécurité est la priorité de Google, la confidentialité de vos données sont en sécurité avec nous, plus d’informations sur …

Grand amateur de la série Black Mirror, je ne peux toutefois m’empêcher de tomber dans la paranoïa, mais j’oublie ce problème 5 minutes plus tard quand je demande à Google Home de me jouer la playlist des chansons de dessins animés chantées par Bernard Minet.

Image tirée de la série Black Mirror

Image tirée de la série Black Mirror

Au final, Google Home n’est pas encore l’assistant de vie qu’on aimerait avoir, mais il s’en approche fortement : données météorologiques, trafic routier, informations en temps réel, contrôle de la maison, tentative d’humanisation de l’appareil.
Actuellement, l’appareil nous offre une nouvelle forme de confort, que j’ai pu apprécier notamment en me réveillant, en demandant les infos du moment, la température extérieure ou encore le temps prévu pour la journée.

Pourtant, l’appareil a ses limites, très bien représentées par le premier épisode de la nouvelle saison de South Park.

Episode 1 saison 21 de South Park

Image tirée de l'épisode 1 saison 21 de South Park

Dans cet épisode, les commandes d’activation de Google Home et de son concurrent direct Alexa (Amazon) ont été prononcées de nombreuses fois, activant les appareils des personnes regardant l’épisode (alarmes activées, listes crées et j’en passe). Le principal problème est que toutes les voix sont reconnues, donc tout le monde peut utiliser votre assistant personnel, et du coup contrôler votre maison. Une sécurité encore pas tout à fait au point.

Encore entre le simple gadget et l’outil incontournable pour tous les foyers, Google Home est une introduction plus que prometteuse aux assistants personnels accessibles pour tous.

Loin de la vision de l’assistant personnel présenté dans le film Her, il nous faudra encore plusieurs années avant de pouvoir tomber amoureux du côté humain de nos machines.

Her, quand la machine dépasse l'Homme

Image tirée du film Her. Quand la machine dépasse l'Homme

En attendant, il nous est déjà possible de développer nos propres applications pour Google Home, et ce de manière simple !

C’est ce que je vous présenterai dans un prochain article : Configurer une réponse ou développer une autre fantaisie vocale, c’est désormais possible avec l’Action on Google Console ! (https://console.actions.google.com/u/0/)

Je détaillerai les réalisations possibles pour Google Home : commandes vocales personnalisées, création d’un jeu, mais aussi l'intérêt que pourrait avoir une entreprise pour ce type d’appareil.
En effet, la question se pose aussi pour les professionnels. Quid de l’implantation des appareils Google Home au sein des entreprises? Quelles sont les possibilités pour commercialiser un produit pour Google Home?

Mais la vraie question que nous nous posons tous est: Allons-nous enfin avoir l’intelligence artificielle dont nous rêvons tous?

Steven Klinger

IT Consultant chez Versusmind, entre l'envie de bousculer les choses et d'observer ce qui m'entoure, je veux briser les codes dans le milieu de l'IT.

S'abonner à RSS - Le blog de StevenK