Tutoriel
oculus quest macrodroid vignette

TUTO Oculus Quest : programmer et automatiser notre casque VR à l'aide de macros, c'est possible et pas bien sorcier !

par

N'avez vous jamais rêvé de manipuler votre casque, le rendre plus intelligent et abouti ? Le champ des possibles s'ouvre aujourd'hui à nous !

Android sous le capot !


Si vous aimez manipuler de fond en comble votre smartphone Android, vous ne serez pas déçu d'apprendre que l'automatisation des Oculus Quest 1 et 2 est tout à fait possible, car ils sont basés sur le système d'exploitation Android eux aussi. Nos casques de réalité virtuelle autonomes sont aujourd'hui capables d'exécuter des programmes à destination du célèbre système d'exploitation, les rendant encore plus polyvalents et productifs. Mais ce n'est pas tout, l'apparition du multitâche a ouvert la porte à de nombreuses possibilités. Il est désormais possible d'afficher plusieurs applications simultanément, mais aussi de les laisser tourner en fond. Ainsi, nous pouvons exécuter les applications d'automatisation des tâches comme les célèbres TaskerMacroDroid ou encore Automate et IFTT (If That Then That), afin d'ouvrir le champ des possibles.

À quoi servent donc ces applications ?


Elles permettent tout simplement de programmer son appareil Android sous forme de macros et d'exécuter des tâches automatiquement suivant de nombreuses règles et conditions. Dans ce tutoriel, nous utiliserons l'application MacroDroid, qui brille par son ergonomie et sa simplicité. Nous utiliserons sa version gratuite qui n'autorise l'activation que de cinq macros.

Avant de rentrer dans le vif du sujet, voici quelques exemples concrets de leurs utilisations dans la vie de tous les jours :

  • Mettre son téléphone en mode avion à l'heure du coucher et inversement, au lever, le désactiver, activer le Wi-Fi et énoncer la météo ;
  • Désactiver le Wi-Fi et basculer sur la 4G lorsque nous rentrons dans notre voiture et que notre smartphone s'y connecte via le Bluetooth. Ensuite, exécuter Waze et activer le GPS ;
  • Secouer le téléphone pour nettoyer les applications en arrière-plan ;
  • Le retourner face écran pour passer en mode ne pas déranger ;
  • Lire à haute voix le nom du contact qui appelle quand nous sommes chez nous ;
  • Prendre des photos par la caméra en façade lorsque le code PIN saisi échoue plus de 5 fois et les envoyer par email à l'adresse paramétrée ou encore DropBox ;
  • Passer automatiquement les publicités YouTube ;
  • Télécharger au format mp3 une vidéo YouTube dont nous copions l'URL ;
  • Basculer en plein écran, en mode paysage et désactiver la rotation automatique lorsqu'un film est regardé ;
  • Activer et envoyer les coordonnées GPS du téléphone lorsqu'il reçoit un SMS contenant un message en particulier ;
  • Recevoir une notification paramétrable et émettre un son lorsqu'il est l'heure de prendre un médicament.

Vous le voyez ici, les possibilités sont nombreuses et les seules limites sont notre imagination et les droits accordés au système d'exploitation. En effet, certaines actions demandent des privilèges, quand d'autres ne sont possibles que lorsque nous avons obtenu l'accès root sur notre système (débridage logiciel et accès aux droits Super-Utilisateur). Dans ce tutoriel, nous n'aborderons pas le root, simplement car le débridage de nos Oculus Quest n'est pas encore rendu possible. Cependant, la chose est déjà effective sur l'Oculus Go, ce qui permettra aux développeurs de créer de nouvelles fonctionnalités.

AVERTISSEMENT : avant de vous lancer dans l'automatisation de vos casques, nous tenons à préciser que nous ne sommes pas tenus pour responsable des possibles désagréments qui pourraient survenir sur votre appareil lors de son paramétrage. Si la manipulation de nos smartphones par ce procédé ne date pas d'hier, il n'en est rien aujourd'hui pour nos casques de réalité virtuelle. Aussi, vous agissez en connaissance de cause. Le but de ce tutoriel est avant tout de démontrer la faisabilité de ce concept.

C'est quoi une macro ? Ça se mange ?


Tout d'abord, qu'est-ce qu'une macro ? Il s'agit en fait d'une séquence d'actions et d'instructions logiques pouvant être exécutée par des déclencheurs, des conditions et des contraintes, et ce, de façon automatisée afin de faciliter certaines tâches. Une macro peut contenir des instructions logiques et des règles opératoires répondant à des problématiques algorithmiques.

Prenons un exemple pour illustrer ça :

J'aimerais être prévenu sur mon smartphone par une notification, de la façon dont je dois m'habiller le matin en semaine.

Déclencheur : horaire => 7h00.

Contrainte : date => lundi, mardi, mercredi, jeudi et vendredi.

Actions :

  • Obtenir la température en degré via un flux quelconque ;
  • Stocker l'information en tant que donnée décimale ;
  • SI la donnée est inférieure à 18.0 (°C) ALORS je stocke le message « Mets ton pull gros frileux » dans une donnée de type chaîne de caractère ;
  • SINON je stocke « Sort les claquettes, il va faire chaud ! » dans cette donnée ;
  • Afficher cette donnée dans une notification.

Nous venons ici tout simplement de résoudre une problématique avec un algorithme.

Installation de l'application MacroDroid et paramétrage de l'Oculus Quest 2


Pour la suite de ce tutoriel, nous considérons que vous savez manipuler SideQuest. Si ce n'est pas le cas, voici notre tutoriel complet.

1. Installation de l'application

  • Téléchargez ici le package d'installation de l'application MacroDroid au format .apk.
  • Une fois le fichier téléchargé sur votre ordinateur, vous allez devoir l'installer/sideloader sur votre casque via le logiciel SideQuest. Cliquez d'abord sur « Install APK file from folder on computer » (1) puis sélectionnez le fichier .apk et validez. Vous devriez voir la notification indiquant le succès de l'installation (2).

oculus quest macrodroid sidequest

2. Activation du multitâche dans les paramètres du casque

Pour cela, rien de plus simple, rendez-vous dans les paramètres de votre casque, puis dans l'onglet « Expérimental » (1) et activez-le multitâche (2). Il s'agit ici de garantir que l'application pourra s'exécuter en arrière-plan.

oculus quest macrodroid multitache

3. Lancement de MacroDroid

  • Dans le filtre des applications (1), sélectionnez « Sources inconnues » (2).

    oculus quest macrodroid sources inconnues
  • Sélectionnez ensuite l'application MacroDroid.

    oculus quest macrodroid launch macrodroid

Découverte de l'application


Une fois sur l'écran d'accueil de l'application, nous nous intéresserons à trois des tuiles proposées. Cependant, nous vous encourageons à toutes les découvrir.

oculus quest macrodroid

1 . Ajouter une Macro

« Ajouter une Macro » (1) permet de créer des macros en combinant déclencheurs, actions et contraintes. C'est depuis cet endroit qu'il est possible de les activer ou non, mais aussi de tester chacune des tâches séparément.

2. Variables

« Variables » (2) nous emmène à l'écran de définition et de manipulation des variables. Ce sont des symboles qui associent un identifiant à une valeur que nous pourrions schématiser par une boîte dans laquelle nous stockons une information. Elles ont donc un nom, un type de valeur comme l'entier, le décimal, la chaîne de caractère ou encore la valeur booléenne et bien sûr une valeur.

Exemple : la variable age=50 et la variable name="Maurice".

La grande particularité des variables est que leurs valeurs peuvent varier, mais non leur type. Ainsi, si aujourd'hui nous décidons de stocker la chaîne de caractères « Maurice » dans la variable name, demain nous pourrons tout simplement lui affecter « Micheline » à la place, mais pas la valeur 10. Ces paires de clés/valeurs sont stockées en mémoire dans l'appareil et permettent de créer des algorithmes.

Tout comme pour notre exemple avec la notification météo, nous pourrions imaginer une variable décimale nommée « degree=18.3 » et une autre de type chaîne de caractères nommée « notificationMessage="Sort les claquettes, il va faire chaud" ».

3. Chronomètres

« Chronomètres » (3) est l'écran dans lequel, comme son nom l'indique, nous créons des chronomètres.

Cas pratiques


Dans ce tutoriel, notre besoin (fictif, servant simplement d'exemple) est le suivant :

Je souhaite connaitre le nombre de fois que j'ai lancé Disc Ninja (dont le test est à retrouver ici), mais aussi le temps que j'ai passé en jeu. J'aimerais aussi monter le volume de mon casque et pousser la luminosité à son maximum.

La seconde macro est plus simple, une fois l'application quittée, il s'agira d'éteindre le chronomètre de mon temps de jeu.

Bien sûr, vous pouvez faire ce tutoriel avec n'importe quel autre jeu/application de votre casque. Disc Ninja est juste utilisé ici en exemple.

1. Paramétrage

  • Rendez-vous dans la tuile « Variables » et créez une variable nommée nbStartDN (traduction : nombre de fois que j'ai exécuté Disc Ninja) de type entier, dont la valeur sera incrémentée de 1 à chaque lancement.

    oculus quest macrodroid variable
  • Allez dans l'onglet « Chronomètres » et créez tout simplement un chronomètre nommé timerDN.

    oculus quest macrodroid chronometre

2. Le déclencheur

  • La suite se passe dans la tuile « Ajouter une Macro ». Cette dernière contient trois sections. Un titre (1), des déclencheurs (2), des actions/évènements (3) et des contraintes (4). Créez votre première macro et donnez-lui le nom startDN (traduction : exécuter Disc Ninja).

    oculus quest macrodroid macro
  • Pour commencer, vous allez devoir ajouter le déclencheur « Application lancée/fermée ».

    oculus quest macrodroid macro declencheur 1
  • Sélectionnez « Application lancée ».

    oculus quest macrodroid macro declencheur 2
  • Sélectionnez l'option « Sélectionnez une/des application(s) ».

    oculus quest macrodroid macro declencheur 3
  • Et enfin, choisissez dans la liste l'application Disc Ninja.

    oculus quest macrodroid macro declencheur 4

Certaines actions nécessitent de se voir accorder des privilèges par le système Android, pour que le tout fonctionne correctement, mais vous êtes libre d'accepter ou bien de refuser. Quoi qu'il en soit, voici les étapes pour accorder les privilèges d'accessibilité. Ils sont nécessaires à la détection de nos actions et de l'activité du système Android, et permettent ainsi de savoir lorsque telle ou telle application est exécutée.

  • Cliquez sur l'application MacroDroid dans la liste des applications ayant besoin des privilèges d'accessibilité.

    oculus quest macrodroid macro declencheur privilege 1
  • Autorisez la demande d'accès.

    oculus quest macrodroid macro declencheur privilege 2
  • Enfin activer les autres autorisations.

    oculus quest macrodroid macro declencheur privilege 3

3. Les actions

  • Passons aux actions maintenant. Ajoutez l'action « Définir une variable ». Vous pouvez utiliser la barre de recherche et taper le mot-clé « var ». Ensuite, sélectionner la variable nbStartDN.

    oculus quest macrodroid macro action 1
  • Et choisissez d'incrémenter sa valeur de « + 1 ».

    oculus quest macrodroid macro action 2
  • Ajoutez ensuite l'action « Luminosité ».

    oculus quest macrodroid macro action 3
  • Accordez l'autorisation nécessaire.

    oculus quest macrodroid macro action 4
  • Et poussez le curseur de luminosité au maximum.

    oculus quest macrodroid macro action 5
  •  L'action suivante est le déclenchement du chronomètre timerDN. Ajoutez l'action « Chronomètre ».

    oculus quest macrodroid macro action 6
  • Sélectionnez le chronomètre timerDN.

    oculus quest macrodroid macro action 7
  • Puis l'option « Démarrer ».

    oculus quest macrodroid macro action 8
  • La dernière des actions consiste à augmenter le volume d'un cran. Ajoutez donc l'action « Augmenter/Diminuer le Volume ».

    oculus quest macrodroid macro action 9
  • Puis sélectionnez l'option « Augmenter le volume ».

    oculus quest macrodroid macro action 10

 4. Résultat

Une fois paramétrée, votre macro devrait ressembler à ceci. Vous n'aurez plus qu'à la quitter et la sauvegarder. Si vous avez compris le fonctionnement de l'application, il vous sera alors facile de créer la seconde macro nommée stopDN (traduction : arrêt Disc Ninja) dont le seul but est de mettre en pause le chronomètre timerDN à la fermeture du jeu. Voici les deux macros côte à côte. Bien sûr, vous pouvez remettre la luminosité et le volume à l'état d'avant si vous le souhaitez.

oculus quest macrodroid macro 2 oculus quest macrodroid macro 3

Testons tout ça !


Nos macros sont maintenant pleinement opérationnelles, nous allons pouvoir les tester avec notre jeu Disc Ninja.

  • Pour nous rendre compte du résultat, nous allons baisser le volume et la luminosité au minimum.

    oculus quest macrodroid parametres 1
  • Lançons maintenant notre jeu.

    oculus quest macrodroid jeu 1
  • Dès lors, la macro startDN est exécutée en arrière-plan. Nous allons pouvoir constater les changements en nous rendant de nouveau dans les paramètres du casque. Comme par magie, le volume a été augmenté d'un cran et la luminosité à son maximum. 

    oculus quest macrodroid parametres 2
  • Quittons maintenant Disc Ninja et retournons dans MacroDroid. La variable nbStartDN a été incrémentée et est égale à 1. Si nous l'avions lancé dix fois, elle aurait été égale à 10.

    oculus quest macrodroid result 1
  • Le chronomètre timerDN lui aussi a été incrémenté. Nous pouvons voir que l'application Disc Ninja a tourné pendant 44 secondes.

    oculus quest macrodroid result 2

Nos macros fonctionnent donc correctement et s'exécutent en arrière-plan dans le système d'exploitation Android. Aussi, il est tout à fait possible de redémarrer son casque et de lancer directement Disc Ninja sans avoir au préalable exécuté l'application d'automatisation.

Conclusion et limitations


Nous venons d'effleurer l'étendue des possibles et cela devrait vous donner des idées pour la suite. Voici cependant quelques suggestions :

  • Baisser la luminosité en fonction de l'heure ou du niveau de la batterie ;
  • Jouer ou parcourir de la musique ;
  • Jouer un son ou une musique en tant que rappel.

Cependant, nous tenons à préciser que nos casques de réalité virtuelle ne possèdent pas les mêmes attributs ni le même matériel que nos smartphones. Les applications mentionnées n'ont pas été développées pour tourner sur un Quest, aussi, ne comptez pas exploiter le gyroscope, les caméras, la synthèse vocale, ni faire vibrer l'Oculus et encore moins utiliser un quelconque GPS. Rien n'est perdu malgré tout, car les avancées vont bon train et il n'est pas exclu qu'un jour, de telles applications débarquent avec un support officiel sur l'un de nos stores préférés.

L'application utilisée dans ce tutoriel est une version gratuite et n'autorise l'activation que de cinq macros. Pour aller encore plus loin et si le besoin s'en fait sentir, il faudra donc chercher au niveau des applications concurrentes. Pour rappel, le but de ce tutoriel étant de montrer la faisabilité de la chose.

Si vous n'avez pas encore sauté le pas, vous pouvez vous offrir un Oculus Quest 2 chez Boulanger, la FnacDarty ou Amazon pour 349,99 €.

Commenter 2 commentaires