diff --git a/android-client/PLAN.md b/android-client/PLAN.md index afbb162..7a3fca8 100644 --- a/android-client/PLAN.md +++ b/android-client/PLAN.md @@ -470,9 +470,35 @@ Deux frottements rencontrés en chemin, tous deux corrigés : rangé avec le coffre, pas le champ. Changer de conteneur demande donc un *Sync* explicite au moins une fois. -**Reste à faire** : le PUT (§4 seulement — la lecture n'écrit rien), la même -bascule côté poste Windows en remplacement de WebDAV, et une purge périodique de -l'historique — sans quoi le dépôt grossit +### Le poste publie aussi — vérifié le 2026-08-17 + +Les deux bouts parlent Gitea, et le trajet complet a tourné : le poste pousse +(`sync from test`, 2ᵉ commit dans `pm_sync`), le téléphone lit l''instantané +publié. La preuve tenait dans une entrée : *gitea token read*, créée sur le +poste, est apparue sur le téléphone sans jamais passer par `sync.php` ni WebDAV. + +Côté poste, tout est confiné à deux endroits : le pont ([UMainForm.pas](../delphi-backend/UMainForm.pas)) +change l''en-tête et le type de contenu, et [app.sync.js](../js/app.sync.js) lit +et construit l''enveloppe JSON. Le `sha` remplace l''ETag partout, et le **409** +de Gitea est traité comme le **412** de WebDAV — on rejoue pull→fusion→push. + +Trois détails qui coûtent une soirée si on les redécouvre : + +- `sha` **omis** et non vide au premier envoi : Gitea lit sa présence comme + « remplace cette version précise ». +- `branch` omis aussi, pour prendre la branche par défaut du dépôt plutôt qu''un + nom devine. +- le jeton du poste doit être en **`write:repository`** ; celui du téléphone + reste en lecture. + +**Piège rencontré, sans rapport avec la sync** : `applySettingsTab` associe les +sections de réglages aux onglets **par le texte de leur intitulé**. Renommer +« Sync (WebDAV) » a fait retomber la section sur `general` — pas perdue, mais +sous le mauvais onglet, ce qui est pire qu''absente. + +**Reste à faire** : le PUT depuis le téléphone (§4 seulement — la lecture +n''écrit rien), retirer WebDAV le jour où il n''a plus d''usage, et une purge +périodique de l''historique — sans quoi le dépôt grossit d'un instantané complet à chaque synchronisation, pièces jointes comprises. ## Ordre proposé