PnX-SI / gn_mobile_occtax

Application mobile pour la saisie dans le module Occtax de GeoNature
GNU General Public License v3.0
13 stars 4 forks source link

Tests de la version 2.1.0 sur Android 10 et 11 #151

Closed MathildeLeclerc closed 2 years ago

MathildeLeclerc commented 2 years ago

Bonjour, Nous avons testé avec Maxime Vergez @mvergez et Julien Graziani @julien-Gr4z occtax mobile sur les versions 10 et 11 d’Androïd.

Pour le test, nous avons téléchargé la version 2.1.0, puis nous l’avons déposée sur le serveur. Nous avons modifié la ligne en base de données (gn_commons/t_mobile_apps) en changeant version_vode, relatif_path_apk et SURTOUT le package (maintenant c'est occtax2).

Nous avons ensuite téléchargé et installé l’apk sur les téléphones, renseigné l’url avec /geonature puis nous avons testé en ligne et hors ligne.

En ligne, cela fonctionne avec openstreetmap.

Hors ligne cela fonctionne bien avec les mbtiles en stockage interne avec un base_path = /storage/emulated/0/Androïd/data/fr.geonature.occtax2.

Nous allons essayer de tester sur Android 12 prochainement.

Merci pour le travail d'amélioration et de gestion de l'outil.

camillemonchicourt commented 2 years ago

OK, merci pour ce retour bien utile. On a eu pas mal de galères encore avec les synchronisations et configuration, mais ça s'améliore bien avec la 2.1.0. Ton retour le confirme.

Concernant le paramètre base_path tu peux mettre un chemin absolu comme vous avez fait, mais si tu mets un chemin relatif, cela permet aux utilisateurs de mettre les fonds de carte sur le stockage interne OU sur une carte SD, selon leur contexte.

Voilà comment ça va fonctionner :

Si l'appareil a une carte SD, il cherche d'abord le chemin relatif sur celle-ci. Si il n'y trouve pas le fichier ou que l'appareil n'a pas de carte SD, il cherche le dossier sur le stockage interne, sinon il cherche le fichier sur tout le stockage. Idem si le chemin n'est pas spécifié. Si le chemin n'est pas spécifié ou si il ne trouve pas le fichier sur le chemin spécifié, alors il va chercher sur tout l'appareil, ce qui peut être assez long.

Au PNE, on a mis : "base_path": "Offline_maps". Ainsi les utilisateurs doivent juste avoir un dossier Offline_maps à la racine de leur stockage interne ou de leur carte SD. Le fait de ne pas les mettre dans Android/data nous permet d'utiliser ces mêmes fonds de carte offline pour d'autres applications, comme Oruxmaps.

Pour info, voici notre conf au PNE :

Capture d’écran de 2022-05-06 11-51-28

cen-cgeier commented 2 years ago

Bonjour à tous, pour alimenter ce ticket, j'ai également fais quelques tests de fonctionnement au CEN Isère de la version 2.1.0 sur 3 smartphones. Désolé @camillemonchicourt, les smartphones étaient en "vacances" ou sur le terrain la semaine dernière et je n'ai pas pu faire ces tests avant la sortie officielle de la version 2.1.0.

DonovanMaillard commented 2 years ago

Bonjour,

merci @cen-cgeier pour ces retours,

On va interroger le développeur pour comprendre ce soucis d'expiration notamment, dont j'ai du mal à comprendre le soucis...

Sur le FairPhone, je ne comprends pas bien non plus pourquoi la carte SD n'est pas scannée pour trouver le répertoire MAPS,

Qu'est-ce que vous appelez "Pas d'import des mises à jour" ?

camillemonchicourt commented 2 years ago

De mon côté, je ne comprends pas pourquoi quand le paramètre base_path contient un chemin relatif (MAPS), les fonds offline ne sont pas affichés sur le Fairphone 3. Le dossier MAPS est dans le stockage interne, ou sur la carte SD ? Si c'est dans le stockage interne, l'appareil dispose t-il d'une carte SD ? Dans ce cas-là le soucis peut venir de là. On m'a remonté que si le chemin est relatif, que les fonds sont sur le stockage interne, mais que l'appareil dispose aussi d'une carte SD, alors l'application cherche les fonds offline dans la carte SD. A vérifier, confirmer.

cen-cgeier commented 2 years ago

Bonjour @DonovanMaillard, Concernant les Samsung Galaxy Note:

Qu'est-ce que vous appelez "Pas d'import des mises à jour" ?

La déconnexion est si immédiate qu'occtax n'a pas le temps d'importer le settings.json, ni la configuration utilisateur (liste des observateurs, liste des jdd, liste des taxons)

Concernant le Fairphone 3 (téléphone perso utilisé pour des tests): Le répertoire MAPS est à la racine du téléphone (au même niveau que le répertoire Android et Download) et non dans la carte SD. Le téléphone contient une carte SD qui est pleine et qui n'a pas la place de stocker les cartes embarquées. J'ai l'impression que la carte SD est scannée. Extrait du fichier de logs, voici une synthèse qui concerne la partie cartographique :

09:44:54.616 INFO: [fr.geonature.maps.util.CheckPermissionLifecycleObserver] permission 'android.permission.READ_EXTERNAL_STORAGE' already granted 09:44:54.622 WARN: [fr.geonature.maps.settings.LayerSettingsViewModel] cannot access to '/storage/FC45-439F/MAPS'... 09:44:54.627 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] root path: '/storage/FC45-439F' 09:44:54.641 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading selected layers: 'https://a.tile.openstreetmap.org' (active: false) 'ign-ortho.mbtiles' (active: true) 'ign-scan.mbtiles' (active: true) 09:44:54.643 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading local tiles layer 'ign-ortho.mbtiles'... 09:44:55.995 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading selected layers: 'https://a.tile.openstreetmap.org' (active: false) 09:44:57.920 WARN: [fr.geonature.maps.settings.LayerSettingsViewModel] cannot read local tiles layer 'ign-ortho.mbtiles'... 09:44:57.921 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading local tiles layer 'ign-scan.mbtiles'... 09:44:58.150 WARN: [fr.geonature.maps.settings.LayerSettingsViewModel] cannot read local tiles layer 'ign-scan.mbtiles'... 09:45:04.544 INFO: [fr.geonature.maps.util.CheckPermissionLifecycleObserver] permission 'android.permission.ACCESS_FINE_LOCATION' already granted 09:45:04.571 DEBUG: [fr.geonature.maps.ui.overlay.CompassOrientationProvider] accelerometer sensor listener registered: true, magnetic field sensor registered: true 09:45:04.572 DEBUG: [fr.geonature.maps.ui.overlay.MyLocationOverlay] enableMyLocation: true 09:45:04.573 DEBUG: [fr.geonature.maps.ui.overlay.MyLocationOverlay] onLocationChanged: null 09:45:15.366 DEBUG: [fr.geonature.maps.ui.overlay.MyLocationOverlay] onLocationChanged: Location[network 45,233632,5,681104 hAcc=26 et=+1m37s94ms alt=273.6000061035156 vAcc=4 sAcc=??? bAcc=??? {Bundle[mParcelledData.dataSize=332]}] 09:45:26.016 DEBUG: [fr.geonature.maps.ui.overlay.MyLocationOverlay] onLocationChanged: Location[gps 45,233660,5,680996 hAcc=16 et=+1m48s58ms alt=245.3519287109375 vel=0.33 bear=100.1 vAcc=64 sAcc=2 bAcc=96 {Bundle[mParcelledData.dataSize=96]}] 09:45:36.006 DEBUG: [fr.geonature.maps.ui.overlay.MyLocationOverlay] onLocationChanged: Location[gps 45,233627,5,681080 hAcc=23 et=+1m58s39ms alt=243.91650390625 vel=0.32 bear=123.9 vAcc=48 sAcc=3 bAcc=98 {Bundle[mParcelledData.dataSize=96]}] 09:45:45.994 DEBUG: [fr.geonature.maps.ui.overlay.MyLocationOverlay] onLocationChanged: Location[gps 45,233657,5,681017 hAcc=23 et=+2m8s36ms alt=262.8182373046875 vel=0.0 vAcc=48 sAcc=3 bAcc=??? {Bundle[mParcelledData.dataSize=96]}] 09:45:55.992 DEBUG: [fr.geonature.maps.ui.overlay.MyLocationOverlay] onLocationChanged: Location[gps 45,233654,5,680985 hAcc=31 et=+2m18s34ms alt=260.24658203125 vel=0.29 bear=156.9 vAcc=32 sAcc=3 bAcc=99 {Bundle[mParcelledData.dataSize=96]}]

camillemonchicourt commented 2 years ago

OK donc pour les fonds offline, cela semble confirmer la piste que j'évoquais. Est-ce qu'un dossier MAPS a été créé à la racine de la carte SD ?

cen-cgeier commented 2 years ago

OK donc pour les fonds offline, cela semble confirmer la piste que j'évoquais. Est-ce qu'un dossier MAPS a été créé à la racine de la carte SD ?

Non, la carte SD ne contient pas de dossier MAPS. Tous nos téléphones possèdent le dossier MAPS sur le stockage interne.

J'ai refais quelques tests (Samsung Galaxy Note9, Android 10 évoqué plus haut), et je confirme ce que j'avais noté. Pas de problèmes majeurs pour l'affichage des cartes embarquées lorsqu'un chemin relatif est utilisé dans le fichier de config. Que le téléphone soit équipé ou non d'une carte SD. En revanche, le Fairphone3 est incapable de d'afficher les cartes embarquées sur la base d'un d'un chemin relatif dès lors qu'il contient une carte SD et que les cartes embarquées sont stockées sur la mémoire interne.

geobrun commented 2 years ago

De mon côté, le passage entre la version 2.0.1 et 2.1.0 s'est parfaitement bien passé sur un Xiaomi Redmi Note 11S (Android 11). Normalement, je dois tester une installation sur un Crosscall Core-X4 en début de semaine prochaine.

Merci beaucoup pour ces améliorations ! :)

camillemonchicourt commented 2 years ago

OK, il reste donc un sujet à clarifier lié à la valeur de COOKIE_EXPIRATION côté GeoNature, je ne comprends pas le soucis. Et un sujet sur l'accès aux fonds offline sur le stockage interne du terminal quand celui-ci dispose aussi d'une carte SD et que le base_path est défini en chemin relatif.

A noter en passant, que j'ai ajouté les infos pour tester Occtax-mobile sur la page https://demo.geonature.fr.

camillemonchicourt commented 2 years ago

Concernant l'authentification et les problèmes de cookie, on pense clairement que le soucis remonté se produit quand l'heure du terminal est différente de l'heure du serveur GeoNature. Cela peut être l'heure renvoyée, ou bien un décalage dans les UTC et autres histoires de date/heure. Dans tous les cas, on prévoit de simplifier la gestion de l'authentification et des cookies et de ne plus faire la vérification au niveau de l'application mobile, donc plus de soucis même si le terminal et le serveur ont un décalage de date. Voir https://github.com/PnX-SI/gn_mobile_occtax/issues/163


Concernant les chemins relatifs d'accès aux fonds de carte quand ils sont sur le stockage interne mais que l'appareil dispose d'une carte SD, cela a été revu et corrigé dans le module "maps" et sera intégré dans la prochaine version 2.2.0 qui sort très prochainement. Précisions ici : https://github.com/PnX-SI/gn_mobile_maps/blob/develop/maps/README.md#base-path


Je ferme donc ce ticket global et on fera des tickets ciblés si d'autres soucis subsistent.

camillemonchicourt commented 2 years ago

Concernant les problèmes de durée des cookies cela est certainement réglé avec la version 2.3.0 du fait que l'application mobile ne valide plus les sessions, il se base désormais uniquement sur le retour de GeoNature : https://github.com/PnX-SI/gn_mobile_occtax/issues/163