1 points par GN⁺ 2023-09-11 | 1 commentaires | Partager sur WhatsApp
  • Après avoir participé à la course cycliste Gravel Worlds Long Voyage, l’auteur de l’article a décidé d’optimiser son ravitaillement en commandant une pizza chez Casey's General Store
  • L’année précédente, les coureurs les plus rapides avaient mangé toutes les pizzas, si bien qu’il n’en restait plus à son arrivée
  • Pour résoudre ce problème, il a décidé d’écrire un script qui commande une pizza lorsque le GPS du vélo sort d’une géofence
  • Ce script a été construit sur le tracker GPS serverless qu’il avait créé l’année précédente
  • Le script calcule l’ETA jusqu’au prochain point d’arrêt et, lorsque le tracker sort d’une géofence configurée dans le service AWS Location, déclenche une fonction Lambda qui commande la pizza
  • Comme Casey's ne dispose pas d’API publique pour les commandes en ligne, il s’appuie sur du screen scraping du site web avec Playwright
  • Il a configuré l’envoi d’une notification push sur son téléphone selon que la commande de pizza réussisse ou échoue
  • Pendant la course, il a reçu une fausse notification indiquant que la pizza avait été commandée avec succès, mais aucun enregistrement de commande n’existait au point d’arrêt
  • Après la course, il a amélioré la fonction Lambda afin de capturer une vidéo du navigateur en fonctionnement et de la téléverser dans un bucket S3 pour analyse
  • Il suppose que l’échec vient peut-être du fait que Lambda a terminé le traitement dès que le form.submit() final dans le navigateur Playwright a été exécuté
  • Malgré cet échec, il a beaucoup appris grâce à ce projet et prévoit de réessayer lors d’une prochaine course
  • Le code de ce projet est disponible sur GitHub

1 commentaires

 
GN⁺ 2023-09-11
Commentaire Hacker News
  • Un article sur un projet technique original reliant le GPS d’un vélo pour commander une pizza pendant une course sur gravier
  • Le projet est comparé à une version du XXIe siècle de « pizzatool » utilisé chez Sun Microsystems
  • Une pizzeria appelée « Waypoint Pizza » est mentionnée, avec des livraisons sur la baie de San Francisco pendant une certaine course de voile
  • L’article mentionne aussi Dean Karnazes, un ultra-runner, qui roulait une pizza comme un burrito pour manger en courant pendant une course
  • Certains lecteurs suggèrent que si le site utilisé pour la commande est un site React, cela pourrait impliquer l’existence d’une API directement exploitable, ce qui rendrait le processus plus robuste
  • L’article est salué pour son humour, sa résolution de problèmes techniques et l’autocritique de l’auteur à la fin
  • Certains lecteurs proposent d’autres solutions techniques, comme l’usage d’appels mains libres ou le fait de demander à un ami d’appeler
  • Il y a aussi une discussion sur la possibilité d’appliquer une solution technique similaire à d’autres services de livraison comme Deliveroo
  • L’article révèle que la solution technique n’a pas fonctionné pendant la course, ce qui a été découvert au 200e mile
  • L’article mentionne aussi la pizza de Casey’s, très appréciée dans le Midwest, ce qui a rappelé à certains lecteurs de bons souvenirs
  • Une théorie est proposée sur l’échec de la solution technique, selon laquelle Lambda aurait pu arrêter le traitement après l’envoi du formulaire final