Salut !
Je viens de finir de coder une webApp en JS de gestion de commandes + géolocalisation en temps réel pour mes coursiers à vélo. Un peu comme ce qu'ont les startups comme deliverou, foudora ou takeiteazy (dsl pr les yeux :p).

En gros le coursier voit la liste de commande à livrer, il sélectionne la plus proche de lui, la commande lui est assigné, la géolocalisation est activée, sa position est envoyée au server toutes les x secondes et les clients peuvent suivre leur coursier sur une page de tracking sur le site.

Tout fonctionne super bien, le seul probleme c'est que si le coursier change d'onglet, minimise le browser mobile, lock son tel, ou qu'il se lock automatiquent au bout de X sec / min comme le font tt les telephone, alors le script JS n'est plus exécuté évidemment.
Pour que tout fonctionne on est donc obligé de garder la page de la web app ouverte et focus pendant toute la durée de la course.

J'aimerais savoir si quelqu'un aurait une piste ou une idée pour résoudre ce probleme. En gros Il faudrait pouvoir forcer l'execution de javascript meme si la page n'est plus active ou focus.
La seule "solution" que j'ai trouvé pour l'instant, c'est un script appelé nosleep.js qui permet d'empecher le tél de se lock, une sorte de polyfill de la fonction navigator.wakelock dispo uniquement sur firefoxOS pour l'instant. Voila le lien pour ceux que ca intéresse https://github.com/richtr/NoSleep.js.
Si je ne trouve pas de meilleur solution j'utiliserai cela mais le probleme cest que le tel restera allumé, et non seulement la batterie va se vider hyper rapidement mais en plus dans la poche etc.. il risque d'y avoir des touch indésirables donc pas super comme solution...

Merci d'avance !

Aucune réponse