A l'occasion des 80 ans de la libération de Rennes, (re)découvrez l'ensemble des
contributions autour de la Seconde Guerre mondiale et de la libération sur Wiki-Rennes.
« Facitrajet » : différence entre les versions
(Ajout Logiciel et Fonctionnement) |
(+) |
||
(3 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
Le projet '''Facitrajet''' a été initié lors du marathon créatif [[MétroMix_2017 | MétroMix de novembre 2017]]. Après quelques mois de collaboration, un premier prototype a été présenté au village "Out" de l'évènement InOut sur le stand de Rennes Métropole, les 17 et 18 Mars 2018. Un résumé succinct du projet est disponible sur le [http://facitrajet.strikingly.com site-façade de présentation]. | |||
Le projet '''Facitrajet''' a été initié lors du marathon créatif [[MétroMix_2017 | MétroMix de novembre 2017]]. Après quelques mois de collaboration, un premier prototype a été présenté au village "Out" de l'évènement InOut sur le stand de Rennes Métropole, les 17 et 18 Mars 2018. | |||
Cette page vise à documenter le projet, de manière ouverte, pour permettre sa réappropriation et son amélioration par toute personne motivée. | Cette page vise à documenter le projet, de manière ouverte, pour permettre sa réappropriation et son amélioration par toute personne motivée. | ||
Ligne 25 : | Ligne 23 : | ||
== Prototype : Mars 2018 == | == Prototype : Mars 2018 == | ||
[[Fichier:Facitrajet-BorneLegende.jpeg|alt=Borne-prototype de Facitrajet, vue de face|left|thumb|Borne-prototype de Facitrajet, vue de face]] | |||
Déterminée à poursuivre l'aventure et encouragée par les retours positifs, l'équipe de cinq personnes a poursuivi ses travaux de Novembre à Mars, afin de présenter un prototype fonctionnel au public. | Déterminée à poursuivre l'aventure et encouragée par les retours positifs, l'équipe de cinq personnes a poursuivi ses travaux de Novembre à Mars, afin de présenter un prototype fonctionnel au public. | ||
Deux fonctionnalités sont encore à terminer : la reconnaissance vocale n'est pas intégré au flux (c'est un script Python indépendant) ; et le visuel du ticket n'est pas imprimé car il n'est pas (encore) récupérable sous forme d'un fichier. La démonstration incluait donc un ticket factice, et un appui sur un bouton pour lancer la reconnaissance vocale. | |||
=== Matériel === | === Matériel === | ||
Ligne 31 : | Ligne 32 : | ||
Un lecteur de carte Korrigo, fourni par Keolis, est relié en USB. | Un lecteur de carte Korrigo, fourni par Keolis, est relié en USB. | ||
[[Fichier:Facitrajet-BorneLegendeArriere.jpg|alt=Borne-prototype de Facitrajet, éléments techniques|thumb|Borne-prototype de Facitrajet, éléments techniques]] | |||
=== Logiciel === | === Logiciel === | ||
Ligne 52 : | Ligne 54 : | ||
Le navigateur est lancé au démarrage de la borne, affichant l'interface "client" (et non l'espace de développement Node-RED). | Le navigateur est lancé au démarrage de la borne, affichant l'interface "client" (et non l'espace de développement Node-RED). | ||
L'appel de la fonction de reconnaissance vocale est fait par un appui sur le bouton d'arcade | L'appel de la fonction de reconnaissance vocale est fait par un appui sur le bouton d'arcade, quand l'écran correspondant est atteint lors du parcours utilisateur. Le résultat est écrit dans un fichier texte, qui est ensuite lu par Node-RED pour poursuivre le flow. | ||
Les pages web ne défilent pas automatiquement (nécessiter de 'cliquer' à chaque fois) : il faudrait implémenter un fonctionnement par des "websockets" pour permettre un dynamisme entre le serveur Node-RED et le client web. | |||
Enfin, le trajet mis en forme est affiché (serveur ReactJS indépendant de NodeRed), mais l'impression déclenchée est basique (coordonnées et logo du projet). | |||
=== Retours === | === Retours === | ||
La présentation au public lors d'In/Out, où plus de 100 personnes sont passées sur notre stand, a permis d'obtenir des retours | La présentation au public lors d'In/Out 2018, où plus de 100 personnes sont passées sur notre stand, a permis d'obtenir des retours et avis lors des démos. Ceux-ci, récupérés en direct via des post-its, seront publiés ici après leur dépouillement sous forme de synthèse. | ||
== Perspectives == | == Perspectives == | ||
Documenté et ouvert, le projet doit maintenant prendre une trajectoire plus | Documenté et ouvert, le projet doit maintenant prendre une trajectoire plus professionnelle. La rémunération de ses porteurs doit être envisagée à court terme, pour permettre le développement serein et rapide d'une solution plus aboutie. Toutes les pistes sont cependant ouvertes. | ||
Sur le plan technique, plusieurs | Sur le plan technique, au-delà du fonctionnement basique à achever, plusieurs axes d'améliorations de la borne sont déjà identifiés : | ||
- Intégration de la fréquentation des bus et de la météo | - Intégration de la fréquentation des bus et de la météo | ||
- Mise en place d'un service web pour un calcul avant le début du trajet (création d'une image/PDF du trajet) | |||
- Utilisation d'un logiciel de reconnaissance vocale respectueux des données personnelles | - Utilisation d'un logiciel de reconnaissance vocale respectueux des données personnelles | ||
- Utilisation d'un outil de gestion des dialogues (proposition de collaboration d'une PME locale) | - Utilisation d'un outil de gestion des dialogues (proposition de collaboration d'une PME locale) | ||
Ligne 98 : | Ligne 101 : | ||
== Ressources documentaires == | == Ressources documentaires == | ||
* [http://facitrajet.strikingly.com Le site officiel du projet] | |||
* [https://github.com/Jorgininho/Metromix Le dépôt de code informatique du projet] | |||
[https://github.com/Jorgininho/Metromix Le dépôt de code informatique du projet] | * [[MétroMix_2017/FaciTRAJET|La page wiki-rennes lors de MétroMix]] | ||
[[ | [[Catégorie:MétroMix 2017]] |
Version actuelle datée du 16 mars 2019 à 20:06
Le projet Facitrajet a été initié lors du marathon créatif MétroMix de novembre 2017. Après quelques mois de collaboration, un premier prototype a été présenté au village "Out" de l'évènement InOut sur le stand de Rennes Métropole, les 17 et 18 Mars 2018. Un résumé succinct du projet est disponible sur le site-façade de présentation.
Cette page vise à documenter le projet, de manière ouverte, pour permettre sa réappropriation et son amélioration par toute personne motivée.
Principe
L'idée fondatrice du projet est de guider un voyageur dans un réseau de transport, à l'aide d'un support papier, imprimé à la demande.
Le support, tout comme la borne qui le fournit, doit être adapté à l'utilisateur et facile d'accès. La cible prioritaire est le public éloigné du numérique, qui ne maîtrise pas les smartphones et leurs applications. Par conséquent, le choix a été fait d'une interface vocale, plus facile à prendre en main qu'un clavier ou un écran tactile.
La force de cette borne numérique est de pouvoir s'adapter immédiatement à son public : en lisant la carte Korrigo, elle connait l'âge de l'usager et peut adapter son affichage/impression. De même, si des préférences de voyage sont indiquées (bagages, poussette, difficultés de déplacement), le système est en mesure de vérifier que le trajet proposé est sans encombres.
Technologies employées
De par sa naissance lors d'un hackathon, le projet a employé des technologies facilement accessibles, avec un besoin de codage minimal. Une maquette de borne a été proposée à la restitution de Métromix, qui établissait les éléments physiques indispensables :
- un écran,
- un micro et un haut-parleur,
- une imprimante thermique.
Dans le même temps, les briques logicielles nécessaires ont été identifiées :
- moteur de calcul [Navitia.io] pour les itinéraires,
- données ouvertes de Rennes Métropole pour l'état de fonctionnement des équipements des stations,
- reconnaissance vocale via Google AIY et son kit de développement ouvert au public,
- langage React.JS pour la mise en forme du ticket,
- et enfin le logiciel Node-RED pour l'orchestration des opérations.
Prototype : Mars 2018
Déterminée à poursuivre l'aventure et encouragée par les retours positifs, l'équipe de cinq personnes a poursuivi ses travaux de Novembre à Mars, afin de présenter un prototype fonctionnel au public.
Deux fonctionnalités sont encore à terminer : la reconnaissance vocale n'est pas intégré au flux (c'est un script Python indépendant) ; et le visuel du ticket n'est pas imprimé car il n'est pas (encore) récupérable sous forme d'un fichier. La démonstration incluait donc un ticket factice, et un appui sur un bouton pour lancer la reconnaissance vocale.
Matériel
Le prototype est basé sur un ordinateur Raspberry Pi, utilisant un OS Linux. Il est connecté à l'écran tactile officiel Raspberry Pi de 7", et au shield "Voice Kit" vendu par Google. Ce shield fournit des connexions pour un microphone stéréo, des enceintes, et un bouton poussoir lumineux de type "arcade". Enfin, une imprimante thermique série (TTL) est reliée par les ports RX/TX du Raspberry Pi.
Un lecteur de carte Korrigo, fourni par Keolis, est relié en USB.
Logiciel
Le Raspberry Pi utilise un OS Linux "Raspbian", via une image-disque fournie par le projet Google AIY.
L'orchestrateur est le logiciel Node-RED, en version 0.17.5(?) : il faut mettre à jour la version fournie par défaut sur Raspbian, en utilisant la commande node-red-upgrade-pi
. Les "flows" Node-RED qui font fonctionner la borne sont disponibles sur le dépôt de code du projet.
La reconnaissance vocale utilise le projet Google AIY - Voice Kit, via un script Python qui crée les connexions nécessaires auprès de l'API Google, avec un jeton de connexion lié à un compte google dédié au projet Facitrajet.
Le calcul du trajet est réalisé par appel à l'API Navitia, avec un jeton de connexion dédié au projet Facitrajet.
La vérification des pannes se fait par appel à l'API Data-Explore de Rennes Métropole.
Le traitement du résultat de calcul (fichier JSON) est effectué par une application en React.JS, également disponible sur le dépôt. Celle-ci est lancée au démarrage du Raspberry Pi, et s'actualise quand le fichier JSON est modifié (par le flow Node-RED).
Enfin, l'interface graphique actuelle, en HTML/CSS, a été codée spécifiquement pour l'écran 7" et nécessite au moins quelques améliorations.
Fonctionnement
Le navigateur est lancé au démarrage de la borne, affichant l'interface "client" (et non l'espace de développement Node-RED).
L'appel de la fonction de reconnaissance vocale est fait par un appui sur le bouton d'arcade, quand l'écran correspondant est atteint lors du parcours utilisateur. Le résultat est écrit dans un fichier texte, qui est ensuite lu par Node-RED pour poursuivre le flow.
Les pages web ne défilent pas automatiquement (nécessiter de 'cliquer' à chaque fois) : il faudrait implémenter un fonctionnement par des "websockets" pour permettre un dynamisme entre le serveur Node-RED et le client web.
Enfin, le trajet mis en forme est affiché (serveur ReactJS indépendant de NodeRed), mais l'impression déclenchée est basique (coordonnées et logo du projet).
Retours
La présentation au public lors d'In/Out 2018, où plus de 100 personnes sont passées sur notre stand, a permis d'obtenir des retours et avis lors des démos. Ceux-ci, récupérés en direct via des post-its, seront publiés ici après leur dépouillement sous forme de synthèse.
Perspectives
Documenté et ouvert, le projet doit maintenant prendre une trajectoire plus professionnelle. La rémunération de ses porteurs doit être envisagée à court terme, pour permettre le développement serein et rapide d'une solution plus aboutie. Toutes les pistes sont cependant ouvertes.
Sur le plan technique, au-delà du fonctionnement basique à achever, plusieurs axes d'améliorations de la borne sont déjà identifiés :
- Intégration de la fréquentation des bus et de la météo - Mise en place d'un service web pour un calcul avant le début du trajet (création d'une image/PDF du trajet) - Utilisation d'un logiciel de reconnaissance vocale respectueux des données personnelles - Utilisation d'un outil de gestion des dialogues (proposition de collaboration d'une PME locale) - Application à toute structure nécessitant un guidage : campus, hôpital, administration... - Une déclinaison évènementielle est également envisagée
Équipe
Membre | Rôle |
---|---|
Julien Bonnaud | |
Alexandre de Sousa | |
Guillaume Lavenir | Appui à la gestion de projet |
Elias Martin | Product Owner ; Lead Coder |
Astrid Thomas-Bourgneuf | Appui "approche usagers" |
Sophie Vanwaescappel |