Raccourci (shortcut) iOS pour BIXI


Je suis loin d’être un spécialiste de l’automation mais avec l’introduction de l’app Shortcut (Raccourci) dans iOS 13 j’ai commencé à mettre un pied dans le monde de la “programmation” des tâches répétitives.

Pour résumer, l’app Raccourci vous permet d’utiliser des blocs d’actions internes ou provenant d’autres apps sur votre appareil, iPhone ou iPad, de les combiner les unes avec les autres pour automatiser un processus. Ces actions peuvent attendre un paramètre en entrée (du texte, une image, un lien, …) et produire en sortie un autre artefact.

Apple fournit des exemples de raccourcis dans l’app, par exemple “Home ETA” qui permet de calculer la distance et le temps de déplacement entre votre position et celle de votre domicile et d’envoyer le résultat par iMessage ou SMS à un contact. Vous pouvez déclencher un raccourci via Siri avec un mot-clé, via les widgets de iOS 14 ou encore via le menu de partage.

Un de mes raccourcis me permet de déterminer les 5 stations BIXI proches de moi avec des vélos disponibles. Je peux ouvrir l’app BIXI pour ça mais le raccourci me permet d’avoir cette information via l’Apple Watch ou un HomePod que j’interroge avec Siri sans interagir avec mon téléphone. Il se décompose en 5 grandes étapes:

étape description
1 Avoir l’emplacement actuel et en déduire la latitude et longitude
2 BIXI publie les informations des stations comme leur nom et la disponibilité des vélos via une API prenant la forme d’un flux JSON
3 Appel vers une fonction AWS Lambda qui prend en paramètres la latitude / longitude et les urls des “endpoints” de BIXI. Cette fonction en Python fait le calcul de la distance et retourne les 4 stations les plus proches et ayant des vélos disponibles.
4 On boucle sur les résultats pour construire une chaîne de texte
5 Le résultat final est énoncé à voix haute.

Premières étapes - emplacement actuel et flux de données
Premières étapes - emplacement actuel et flux de données

Étapes 3 et 4 - Appel vers AWS et parsing des résultats
Étapes 3 et 4 - Appel vers AWS et parsing des résultats

Étapes 4 et 5 - Suite du parsing
Étapes 4 et 5 - Suite du parsing

Étapes 5 - énoncé des résultats
Étapes 5 - énoncé des résultats

Futures améliorations possibles: - Raccourcir le temps d’exécution en prenant directement la latitude et longitude de mon maison si je suis connecté au Wifi de mon domicile sans attendre le résultat “Get Current Position” qui peut-être long - Ne pas utiliser une fonction AWS Lambda. Pour cela je pourrai utiliser des apps iOS qui simplifient considérablement le parsing du JSON. Ces apps n’existaient pas encore quand j’ai fait le raccourci mais l’écosystème autour de l’app Shortcut a considérablement grossi depuis l’an dernier.

Voici un exemple d’utilisation du raccourci sur une Apple Watch:

[youtube https://www.youtube.com/watch?v=Bds0TdxZCWk&w=560&h=315]

billet publié dans les rubriques gadget le