Onyx , votre assistant personnel

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Qu’est ce qu’Onyx ?

Genèse

Logo

Il ya quelques années j’ai revu Iron Man, et en le redécouvrant j’ai découvert la puissance de Jarvis son assistant. Vous allez vous dire : il existe des milliers de projets de ce type sur Internet mais j’ai voulu donner ma vision à moi et non une vision globale. J’ai donc fait quelques recherches sur le Web et j’ai découvert plusieurs projets tel que Gladys qui m’a aider à débuter dans ce genre de projet avec la découverte du Raspberry Pi. Je me suis dit, et pourquoi pas le miens ?

Généralités et avancement

Onyx n’est pas simplement un assistant vocal comme on peut le voir un peu partout car il emporte avec lui un dashboard permettant de gérer les nombreux services qu’il transporte. Il fonctionne sur un Raspberry Pi, et est codé en Python avec pour le dashboard le framework flask qui permet d’être rapide et léger.

Dashboard :

Onyx a pour but de vous simplifier la vie , son but premier est de tout réunir en un seul endroit: Vous voulez consulter vos mails, ajouter des rendez-vous, avoir la météo et régler vos réveils en même temps ? C’est le but d’Onyx , de tout centraliser.

Imaginons :

Vous rentrez chez vous, vous lancez votre ordinateur et votre page d’accueil est Onyx , puis vous vous connectez avec votre compte personnel et vous tombez sur votre page d’accueil rempli de vos widgets que vous avez choisis au préalable. Vous décidez de lancer votre musique préférée pendant que vous consultez vos mails sur la mailbox. Puis vous allez programmer votre réveil pour le lendemain avec votre musique préférée pour vous réveiller. Le lendemain Onyx vous réveille avec votre musique puis vous indique l’heure et la météo du jour pour vous permettre de vous habiller de la bonne façon , de plus , il vous donne vos rendez-vous de la journée qui vienne directement de votre compte Google !

Je n’essaye pas de reproduire le fameux Jarvis qui est selon moi pas encore possible avec les ressources que l’on a en ce moment, mais j’essaye de comprendre et de formuler les besoins primaires d’un utilisateur en terme d’assistant personnel.

Compétences:

Onyx possède maintenant et depuis peu une fonctionnalité vocale, qui est gérée par Snowboy qui permet la détection par mot clef, puis pour le moment la reconnaissance vocale est faite via le système de Google qui permet une internationalisation, Onyx étant disponible en Français et en Anglais.

Il y a dans Onyx un système de compétences (Skills) où je réutilise le système qu’utilise Mycroft pour ces Skills qui marche très bien et permet donc de réutiliser les compétences de Mycroft à une exception près : Les compétences dans Onyx peuvent et ont une interface graphique intégré dans le dashboard permettant de le configurer plus simplement.

Il s’agit plus de devoir tout configurer et entrer des lignes de commande que l’on ne comprend pas car Onyx le fait pour vous il vous suffit simplement de brancher le raspberry pi et le tour est joué !

Prenons quelques skills déjà présent et fonctionnel :

Il peut contrôler vos différentes lampes, Récupérer vos mails Gmail et vous les lires, Raconter des blagues, Traduire ( exemple: Traduis-moi je ne me sens pas bien en allemand ) le tout dans 8 langues différentes Mettre en place des alarmes, Lui demander de vous faire écouter votre musique spotify et de choisir votre playlist préférée…

Les possibilités sont infini : Lire le fil d’actualité twitter, poster sur facebook, etc … Tout est possible avec Onyx !

Bot :

On peut aussi parler avec Onyx tout simplement via le chat sur le chatbot ce qui permet de dialoguer et de lui demander de faire certaines actions tel que fermer ou allumer votre lampe ou lui demander la météo. Voici d’ailleurs une légère présentation vidéo du chatbot :

https://www.youtube.com/watch?v=CinWBesNXqE

Le Raspberry Pi

J’ai décidé d’utiliser un Raspberry pi pour sa portabilité, sa taille et surtout son coût ! Pour moins de 50 euros, on peut mettre en place Onyx sur un Raspberry Pi. De plus c’est ce qui permet à Onyx de rester ouvert tout le temps, car le pi ne fait pas de bruit et permet de le laisser ouvert tout le temps et est accessible partout dans la maison. Il peut être équipé d’un boîtier et d’une multitude de domestiques qui sont géré par les différentes compétences que vous installerez.

L’installation

L’installation d’Onyx se fait de manière simplifié grâce à l’utilisation d’un installateur qui va télécharger la dernière version d’Onyx et l’installer directement sur la carte SD pour vous simplifier la vie. Une fois la carte dans le Raspberry pi, vous n’avez plus rien à faire le système est déjà préconfiguré et va se lancer directement, vous n’avez plus qu’à vous connecter et à configurer votre assistant selon vos besoins.

Quelques Screenshots

Ajouter un évenement
Installation
Bot
Page Home
Compétences
Calendrier
Options
Télécharger une compétence
Page d’Accueil
Tutoriel

Objectifs

Ce que je veux pour Onyx, c’est de le rendre de plus en plus complet en y ajoutant de plus en plus de fonctionnalité. Onyx peut devenir et autonome et répondre à tous vos besoin grâce à vous et à sa communauté pour pouvoir augmenter ses différentes compétences et lui permettre de devenir plus puissant. Mon but est de partager ma passion et la rendre commune à toute la communauté pour créer le meilleur assistant possible qui répond à tous nos besoins.

L’objectif principale est d’avoir une communauté soudé pour contribuer au maximum au projet et le rendre meilleur et tout cela est possible ! Venez d’ailleurs vous inscrire sur le forum : https://community.onyxlabs.fr

Le projet et son originalité

Onyx est certe un assistant au même titre que Gladys ou même Mycroft mais il a le mérite de la simplicité d’installation et d’utilisation. Je ne veux pas clamer que j’ai réussi à reproduire le fameux Jarvis, mon but est avant tout d’avoir quelque chose de fonctionnel qui permet à l’utilisateur d’avoir son propre assistant et d’y contribuer.

Ce qui fait la force d’Onyx, c’est avant tout sa communauté et la création simple de compétence permettant à n’importe qui ( avec des connaissances en informatique ) de faire ses propres compétences et les rendres publique. Et si vous n’avez aucunes compétences, le forum est la pour vous et si vous avez des demandes, les personnes aptes à les réaliser le feront avec joie : https://community.onyxlabs.fr

Si vous avez besoins de renseignement supplémentaire contactez moi directement en commentaire ou sur le site du projet : https://onyxlabs.fr/contact

Édité par Aituglo

+10 -0

Cette réponse a aidé l'auteur du sujet

Hello,

Pour commencer, un très grand bravo à toi. Ce projet est déjà très bien avancé et de ce que j'ai pu tester, c'est la classe, je t'encourage fortement à continuer.

Mais pour t'aider à évoluer, bien sur il y a quelque remarque que j'aimerais te faire parvenir :p Premièrement, il serait bien de soigner ta présentation sur le forum (Avec des titre, des listes à puces, du gras, de l'italique, etc.) Car la ça fait un peu gros pavé de texte que nous n'avons pas envie de lire.

Sinon concernant le site, est-ce que tu fais de l'auto hébergement ? Car le site online (J'ai pas testé la version à installé) est relativement lent.

Sinon une petite liste d'amélioration:

  • Voir pour améliorer le système des tâches (Le rendre plus complet)
  • Il y a encore quelques phrases non traduite
  • Le bouton en bas à droite ne correspond pas vraiment au reste du site.
  • Sur les boutons tu as une balises title pour nous indiquer à quoi ça correspond, mais je verrai plus un tooltip de ce genre http://www.w3schools.com/css/css_tooltip.asp
  • Pourquoi ne pas pouvoir ajouter une couleur personnalisé :D

Bon courage pour la suite de ton projet :)

Oh et en plus tout ceci Open-Source !

Édité par WinXaito

+3 -0
Auteur du sujet

Qwerty je peux en créer un : le voici :

Login : demo@demo password : Demo

Win :

Alors déjà un énorme merci à toi pour ce retour ! Pour l'hébergement , j'utilise un vps ssd d'ovh le plus petit n'ayant pas les moyens de plus pour l'instant et c'est ce qui fait que c'est long quand il y a plusieurs personnes ! Si tu as des idées pour cela je suis preneur.

Je vais faire les améliorations que tu as dit , merci beaucoup pour cet avis fort enrichissant pour moi

+0 -0

Pourquoi faire ça sous forme de site web ? Tu pourrais l'intégrer à un environnement de bureau ou même à un gestionnaire de fenêtres tout simple sous Linux, ça serait plus pratique, personnalisable et accessible. Qu'est-ce qui justifie ton choix, à part la portabilité (ce qui bride les possibilités, du coup) ?

+5 -0

Login : demo@demo et Demo : redirect /hello et notification Please log in to access this page.. J'aurai bien aimé tester. :(

Sinon, que-ce que ton système apporte de plus par rapport à ce qu'on a avec Android ? Météo, réveil perso, musique, tout sa, Android le gère très bien. Pourquoi faire tourner un serveur en plus ?

@Lz… : ça ne me dérange pas perso que ça soit un site. Ça permet d'être accessible de partout sur son network, facilement et l'installation est souvent plus simple.

Édité par tleb

Auteur du sujet

C'est à dire un environnement de bureau ?

Pour l'instant si j'ai fait ce choix , c'est parce que le mieux est tout de même que les utilisateurs puisse accéder à leur assistant de n'importe ou Si tu as une autre solution je suis tout a fait preneur

Pour la démo c'est réglé !

Oui certe Android fait mieux pour l'instant mais j'essaye vraiment de regroupper le plus de service au même endroit sans avoir à ne rien faire tu vois ?

Édité par Aituglo

+0 -0

Sinon, que-ce que ton système apporte de plus par rapport à ce qu'on a avec Android ? Météo, réveil perso, musique, tout sa, Android le gère très bien. Pourquoi faire tourner un serveur en plus ?

tleb

Selon moi, Android est ton principal concurrent. Il fait tout ce que tu proposes. Il faut que tu trouves en quoi tu peux améliorer ton système, pour qu'il soit plus utile que simplement utiliser son téléphone.

Cette réponse a aidé l'auteur du sujet

Salut Aituglo,

C'est super d'avoir rassemblé déjà autant de fonctionnalités sur ton service ! Et comme le fait remarquer WinXaito c'est même open source donc n'importe qui pourrait contribuer et t'aider à ajouter encore plus de fonctionnalités.

De plus je trouve que l'interface est plutôt esthétique mis à part quelques intégrations comme ViaMichelin qui cassent ta charte graphique mais l'essentiel c'est que ça soit utilisable.

Maintenant concernant les critiques, je pense que tu dois repenser l'interface en terme d'utilisation (c'est-à-dire faire une architecture de l'information) un peu de la même manière dont tu nous a présenté ton service, c'est-à-dire avec des "user stories". Car là, tes applis sont un peu mélangées : tu as le programme TV à côté de Wikipédia. Bon, c'est peut-être possible de trouver une raison pourquoi elles sont toutes les deux à côtés mais ça n'est pas évident. Ou encore dans ton menu en haut, tu devrais mettre tes boutons "Aide" et "Options" tout à droite car les utilisateurs sont habitués à les avoir à cet endroit.

Pour revenir aux user stories, voici un exemple :

  • Le matin je me lève et j'aimerais savoir quel est mon emploi du temps de la journée et quelle météo il fait pour savoir comment m'habiller. Il serait donc judicieux de rapprocher la météo et le calendrier sur l'interface. Si ce n'est, pourquoi pas, les afficher en même temps, côte-à-côte.

Faire un travail sur les interfaces n'est vraiment pas facile, ce sont plusieurs métiers. Mais comme dans ton cas, c'est le cœur de ton service, je me permets de te donner quelques conseils :)

Ah aussi un petit conseil : l'icône pour la météo je l'ai d'abord prise pour un service de "cloud" car les nuages sont maintenant utilisés pour ça. Dans le cas de la météo, un nuage avec de la pluie serait plus explicite comme icône à mon avis.

Bon courage !

+2 -0
Auteur du sujet

Salut Killian merci beaucoup pour ton avis qui compte enormement pour moi ! Je vais essayer de mettre en place le plus vite possible ce que tu as dit et tu as raison ca serai mieux

Mais je me pose une question concernant Onyx pour vous tous : D'après vous cela doit se faire comment , comme maintenant via un site pour y acceder partout , via une appli mais on ne peut pas l'avoir tout le temps , je pêche sur ce sujet depuis un moment et j'ai besoin d'un avis

Merci

+0 -0
Auteur du sujet

C'est a dire de quel manière ca serai host sur chaque pc ? Oui mais du coup quand le pc est fermé Onyx est inaccessible alors en dehors de la maison , et je sais pas si ca serai utile tu vois

+0 -0

les gens peuvent se payer eux-même l'hébergement. Tu peux aussi faire une offre payante.

écolo-utopiste altermondialiste radicalisé sur Internet | La tero estas nur unu lando | Géographe de service | Cliquez 👍 pour dire merci

+0 -0
Auteur du sujet

Pour l'instant j'ai pas envi de faire payer Onyx cela vient juste de sortir tu vois mais je bloque vraiment sur la façon dont les gens peuvent y accéder et l'avoir sans que cela me revienne trop cher

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte