diff --git a/android-client/README.md b/android-client/README.md
index f214c10..c9ed225 100644
--- a/android-client/README.md
+++ b/android-client/README.md
@@ -213,6 +213,15 @@ Pour que le téléphone voie l'endpoint local :
adb reverse tcp:8080 tcp:80
```
+> **Le tunnel est volatil.** Il disparaît dès que le lien USB se réinitialise —
+> câble rebranché, appareil re-énuméré, serveur adb relancé — et l'application
+> ne dit alors que « failed to connect ». À vérifier en premier :
+> `adb reverse --list` doit répondre `UsbFfs tcp:8080 tcp:80`. Un test direct
+> depuis l'appareil tranche entre le tunnel et le serveur :
+> `adb shell curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:8080/server-php/sync.php`
+> — `404` signifie que la chaîne est bonne (c'est la réponse voulue sans jeton),
+> `000` que rien n'écoute.
+
## Le piège de la porte sans clé
`USE_BIOMETRIC` **ne fait pas partie de la liste de permissions par défaut de
diff --git a/pmserverApk.deployproj b/pmserverApk.deployproj
index 05c8f3e..7ce92d0 100644
--- a/pmserverApk.deployproj
+++ b/pmserverApk.deployproj
@@ -4,8 +4,8 @@
12
- emulator-5554
- emulator-5554
+ 13c0f9d8
+ 13c0f9d8
@@ -23,30 +23,14 @@
-
-
- pmserverApk\res\drawable-large\
- splash_image.png
- Android_SplashImage640
- 1
-
-
- True
-
-
- pmserverApk\res\drawable-anydpi-v21\
- splash_image_def.xml
- AndroidSplashImageDefV21
- 1
-
-
- True
-
-
- pmserverApk\res\values\
- strings.xml
- Android_Strings
- 1
+
+
+
+
+ pmserverApk\classes\
+ pmserverApk.classes
+ AndroidClasses
+ 64
True
@@ -60,37 +44,10 @@
True
-
- pmserverApk\res\values-v31\
- styles.xml
- AndroidSplashStylesV31
- 1
-
-
- True
-
-
- pmserverApk\res\values\
- colors.xml
- Android_Colors
- 1
-
-
- True
-
-
- pmserverApk\res\drawable\
- splash_image_def.xml
- AndroidSplashImageDef
- 1
-
-
- True
-
-
- pmserverApk\res\drawable\
- ic_launcher_background.xml
- Android_AdaptiveIconBackground
+
+ pmserverApk\res\drawable-anydpi-v26\
+ ic_launcher.xml
+ Android_AdaptiveIcon
1
@@ -105,28 +62,19 @@
True
-
- pmserverApk\res\drawable-normal\
- splash_image.png
- Android_SplashImage470
+
+ pmserverApk\res\drawable-night-anydpi-v21\
+ splash_vector.xml
+ Android_VectorizedSplashDark
1
True
-
- pmserverApk\res\drawable-xxhdpi\
- ic_notification.png
- Android_NotificationIcon72
- 1
-
-
- True
-
-
- pmserverApk\res\drawable\
- ic_launcher_monochrome.xml
- Android_AdaptiveIconMonochrome
+
+ pmserverApk\
+ AndroidManifest.xml
+ ProjectAndroidManifest
1
@@ -159,10 +107,109 @@
True
-
- pmserverApk\res\drawable-anydpi-v24\
- ic_notification.xml
- Android_VectorizedNotificationIcon
+
+ pmserverApk\res\values-night-v21\
+ colors.xml
+ Android_ColorsDark
+ 1
+
+
+ True
+
+
+ pmserverApk\res\drawable-xhdpi\
+ ic_notification.png
+ Android_NotificationIcon48
+ 1
+
+
+ True
+
+
+ pmserverApk\res\drawable-large\
+ splash_image.png
+ Android_SplashImage640
+ 1
+
+
+ True
+
+
+ pmserverApk\res\drawable\
+ ic_launcher_monochrome.xml
+ Android_AdaptiveIconMonochrome
+ 1
+
+
+ True
+
+
+ pmserverApk\res\drawable-anydpi-v21\
+ splash_image_def.xml
+ AndroidSplashImageDefV21
+ 1
+
+
+ True
+
+
+ pmserverApk\library\lib\armeabi\
+ libpmserverApk.so
+ AndroidLibnativeArmeabiFile
+ 1
+
+
+ True
+
+
+ pmserverApk\res\values-v31\
+ styles.xml
+ AndroidSplashStylesV31
+ 1
+
+
+ True
+
+
+ pmserverApk\res\values\
+ colors.xml
+ Android_Colors
+ 1
+
+
+ True
+
+
+ pmserverApk\res\drawable\
+ splash_image_def.xml
+ AndroidSplashImageDef
+ 1
+
+
+ True
+
+
+ pmserverApk\res\drawable-hdpi\
+ ic_notification.png
+ Android_NotificationIcon36
+ 1
+
+
+ True
+
+
+ pmserverApk\res\drawable-xxxhdpi\
+ ic_notification.png
+ Android_NotificationIcon96
+ 1
+
+
+ True
+
+
+ pmserverApk\library\lib\mips\
+ libpmserverApk.so
+ AndroidLibnativeMipsFile
1
@@ -177,6 +224,42 @@
True
+
+ pmserverApk\res\drawable\
+ splash_vector.xml
+ Android_VectorizedSplash
+ 1
+
+
+ True
+
+
+ pmserverApk\library\lib\armeabi-v7a\
+ libpmserverApk.so
+ AndroidLibnativeArmeabiv7aFile
+ 1
+
+
+ True
+
+
+ pmserverApk\res\drawable-mdpi\
+ ic_notification.png
+ Android_NotificationIcon24
+ 1
+
+
+ True
+
+
+ pmserverApk\res\drawable-ldpi\
+ ic_launcher.png
+ Android_LauncherIcon36
+ 1
+
+
+ True
+
pmserverApk\res\drawable-xlarge\
splash_image.png
@@ -195,25 +278,7 @@
True
-
- pmserverApk\
- AndroidManifest.xml
- ProjectAndroidManifest
- 1
-
-
- True
-
-
- pmserverApk\res\drawable\
- splash_vector.xml
- Android_VectorizedSplash
- 1
-
-
- True
-
-
+
pmserverApk\res\values\
styles.xml
AndroidSplashStyles
@@ -222,70 +287,6 @@
True
-
- pmserverApk\res\drawable-xhdpi\
- ic_notification.png
- Android_NotificationIcon48
- 1
-
-
- True
-
-
- pmserverApk\res\values-v21\
- styles.xml
- AndroidSplashStylesV21
- 1
-
-
- True
-
-
- pmserverApk\library\lib\armeabi-v7a\
- libpmserverApk.so
- ProjectOutput
- 1
-
-
- True
- True
-
-
- pmserverApk\res\drawable\
- ic_launcher_foreground.xml
- Android_AdaptiveIconForeground
- 1
-
-
- True
-
-
- pmserverApk\library\lib\armeabi\
- libpmserverApk.so
- AndroidLibnativeArmeabiFile
- 1
-
-
- True
-
-
- pmserverApk\library\lib\mips\
- libpmserverApk.so
- AndroidLibnativeMipsFile
- 1
-
-
- True
-
-
- pmserverApk\res\drawable-mdpi\
- ic_notification.png
- Android_NotificationIcon24
- 1
-
-
- True
-
pmserverApk\res\drawable-small\
splash_image.png
@@ -295,7 +296,71 @@
True
-
+
+ pmserverApk\res\drawable-anydpi-v24\
+ ic_notification.xml
+ Android_VectorizedNotificationIcon
+ 1
+
+
+ True
+
+
+ pmserverApk\res\values\
+ strings.xml
+ Android_Strings
+ 1
+
+
+ True
+
+
+ pmserverApk\res\values-v21\
+ styles.xml
+ AndroidSplashStylesV21
+ 1
+
+
+ True
+
+
+ pmserverApk\library\lib\arm64-v8a\
+ libpmserverApk.so
+ ProjectOutput
+ 1
+
+
+ True
+ True
+
+
+ pmserverApk\res\drawable-xxhdpi\
+ ic_notification.png
+ Android_NotificationIcon72
+ 1
+
+
+ True
+
+
+ pmserverApk\res\drawable\
+ ic_launcher_foreground.xml
+ Android_AdaptiveIconForeground
+ 1
+
+
+ True
+
+
+ pmserverApk\res\drawable\
+ ic_launcher_background.xml
+ Android_AdaptiveIconBackground
+ 1
+
+
+ True
+
+
pmserverApk\res\drawable-anydpi-v33\
ic_launcher.xml
Android_AdaptiveIconV33
@@ -304,72 +369,16 @@
True
-
- pmserverApk\res\drawable-ldpi\
- ic_launcher.png
- Android_LauncherIcon36
- 1
-
-
- True
-
-
- pmserverApk\res\drawable-hdpi\
- ic_notification.png
- Android_NotificationIcon36
- 1
-
-
- True
-
-
- pmserverApk\classes\
- pmserverApk.classes
- AndroidClasses
- 64
-
-
- True
-
-
- pmserverApk\res\drawable-anydpi-v26\
- ic_launcher.xml
- Android_AdaptiveIcon
- 1
-
-
- True
-
-
- pmserverApk\res\values-night-v21\
- colors.xml
- Android_ColorsDark
- 1
-
-
- True
-
-
- pmserverApk\res\drawable-xxxhdpi\
- ic_notification.png
- Android_NotificationIcon96
- 1
-
-
- True
-
-
- pmserverApk\res\drawable-night-anydpi-v21\
- splash_vector.xml
- Android_VectorizedSplashDark
+
+ pmserverApk\res\drawable-normal\
+ splash_image.png
+ Android_SplashImage470
1
True
-
-