diff --git a/android-client/PLAN.md b/android-client/PLAN.md index af61732..e9b6b94 100644 --- a/android-client/PLAN.md +++ b/android-client/PLAN.md @@ -724,7 +724,33 @@ plancher de ce format — le conteneur est monolithique, il n'y a pas de Le tirage préalable, lui, a disparu : il coûtait 3,2 s et ne servait qu'à s'assurer de modifier la dernière version publiée, ce que le sha prouve -gratuitement. **Conséquence : le chemin 409 est devenu porteur.** C'est lui, +gratuitement. Avec la clé retenue, l'enregistrement est passé de 5–7 s à ~2,8 s. + +#### À REPRENDRE : les 2,7 s qui restent + +Elles sont entièrement l'envoi. Et il part **deux fois encodé** : l'API de +contenus de Gitea exige du base64 dans du JSON, alors que le conteneur est déjà +du base64 — 267 700 caractères deviennent ~357 Ko sur le réseau, à ~130 Ko/s. + +Le poids vient d'une seule chose : **une pièce jointe de 116 Ko**, soit ~155 Ko +dans le JSON en clair sur ~200 Ko de contenu — **environ 78 % de ce qui voyage +à chaque écriture**, pour une image que le téléphone ne sait même pas ouvrir. +Les onze entrées pèsent le reste. + +Trois voies, par coût croissant : + +1. **Sortir la pièce jointe du coffre synchronisé** (depuis le poste). Aucune + ligne de code, l'enregistrement tombe sous la seconde — et ça vérifie le + diagnostic ci-dessus. +2. **Publier en arrière-plan** : l'entrée apparaît aussitôt, l'envoi continue + derrière. Ne rend rien plus rapide, supprime l'attente. Contrepartie réelle : + aujourd'hui « enregistré » veut dire « publié », et fermer l'application + pendant l'envoi perdrait l'entrée. À faire en écrivant le cache local AVANT + l'envoi, ce qui met le cache en avance sur le distant — la situation même + contre laquelle le sha protège, donc à traiter avec soin. +3. **Comprimer avant de chiffrer** : ~30 %, mais il faut changer le format des + deux côtés, poste compris. Disproportionné. + **Conséquence : le chemin 409 est devenu porteur.** C'est lui, désormais, qui garantit qu'un enregistrement n'écrase pas un autre appareil, et il n'a toujours jamais tourné. Le provoquer : synchroniser depuis le poste, puis enregistrer depuis le téléphone sans synchroniser d'abord.