Bonjour,
Je me permets de créer un topic reprenant le message suivant que j'ai posté sur un autre topic, mais dans une section plus hardware. J'ai un problème avec une appli que l'on vend avec le téléphone fourni : par moments les fonctionnalités utilisant la géolocalisation n'aboutissent pas.
L'application est développée avec Cordova (anciennement PhoneGap), qui permet de faire une web app en full HTML/CSS/Javascript, et tourne sous Android.
Je sèche devant le problème mais je ne vois pas d'où ça vient, je vous livre donc divers informations sur les tests que j'ai pu faire.
Première étape :
Nous fournissons une application mobile interfacée avec un logiciel de bureau. L'application utilise la géolocalisation pour certaines fonctionnalités. Nous testons le téléphone chez nous mais en utilisant l'environnement bureautique (serveur + BDD) des clients. Tout fonctionne parfaitement, on envoie le téléphone au client A et au client B.
Deuxième étape :
Les clients réceptionnent les téléphones. On les guide à distance en vocal pour les initier à l'application. Arrivé à la partie qui géolocalise, rien ne se passe. Le reste des fonctionnalités utilisant des web services avec le serveur fonctionne, ce sont uniquement les fonctionnalités utilisant la géolocalisation qui tournent dans le vide. Après plusieurs manip fastidieuses qu'on a fait faire aux clients pour réinstaller l'appli et compagnie, on leur demande finalement de renvoyer les téléphones.
Troisième étape :
On reçoit le téléphone du client A : il avait tout désinstallé pour des raisons de données personnelles. On réinstalle l'appli (qui a légèrement évoluée depuis) et on teste sur son environnement. Ça fonctionne. On se dit que c'est logique, ça fonctionnait déjà avant qu'on l'envoie, ça ne buguait que chez lui de toutes façons. Je me déplace chez le client pour tester directement dans les mêmes conditions. Ça fonctionne. Je me dis que ça vient des petites évolutions qu'on a faites entre temps, qui ont corrigé le bug qui survenait chez lui.
Quatrième étape :
On reçoit le téléphone du client B. Il n'avait rien désinstallé. On teste : ça fonctionne, mais logique encore une fois, ça fonctionnait avant qu'on l'envoie. J'installe la nouvelle version qui doit donc, d'après ce que j'en ai déduit, corriger ce bug qui n'apparaissait que chez le client. Je teste, ça fonctionne, mais là encore ça ne prouve rien vu que chez nous (même sur l'environnement du client) ça a toujours fonctionné.
Cinquième étape :
Quelques jours plus tard, on s'apprête à envoyer le téléphone au client B, mais je teste vite fait avant quand même, au cas où... Et là ça ne fonctionne pas (premier truc étrange). Bon, je suis content, j'ai enfin le bug en direct sous mes yeux, et je me lance alors dans des tests, avec d'un côté un téléphone à nous, et de l'autre le téléphone du client B (deux marques différentes, deux cartes sim différentes, deux opérateurs différents) :
1) Je lance la procédure de géolocalisation (avec la méthode geolocation.getCurrentPosition()) sans le Wi-Fi (GPS on, 3G on) : sur notre téléphone, ça fonctionne. Sur le téléphone B ça ne fonctionne pas.
2) J'active le Wi-Fi : même résultat.
3) Je désinstalle et réinstalle l'appli (dernière version, donc) : même résultat. Là c'est inquiétant vu que je pensais que les évolutions de l'appli avaient corrigé le bug.
4) J'éteins les deux téléphones pour échanger les cartes sim et refaire un test : ça fonctionne sur les deux.
5) J'éteins les deux téléphones pour remettre les cartes sim d'origine et refaire un test : ça fonctionne sur les deux.
Et maintenant impossible de reproduire le problème, ça fonctionne.
Voilà, je ne sais absolument pas où chercher, j'ai peur que le client A se retrouve de nouveau confronté au problème, et j'ai pas envie de renvoyer le téléphone au client B alors que je n'ai rien fait de particulier pour résoudre le problème, même si là tout de suite ça fonctionne chez nous. Et ma hiérarchie évidemment ne comprend pas que je ne trouve pas de solution.
J'ai peu d'espoir que quelqu'un ait déjà rencontré cette situation, mais sait-on jamais !
Merci.