# Synchroniser le PC et le téléphone par un dépôt GitHub privé Le PC publie une copie **chiffrée** de votre coffre dans un dépôt GitHub **privé** ; le téléphone la reprend. Contrairement au WebDAV local (`WEBDAV-LOCAL.md`), la synchro marche **de partout**, en 4G comme sur n'importe quel Wi-Fi, PC éteint. > **Ce qui est sur GitHub** : un fichier `data.json` illisible sans le *mot de > passe de synchro*, qui ne quitte jamais vos appareils. > **Ce mot de passe est la seule protection de cette copie** : choisissez-le > fort (5 mots au hasard, ou 16 caractères tirés au hasard). Il faut un compte GitHub (gratuit) : . --- ## 1. Créer le dépôt privé 1. Allez sur . 2. **Repository name** : un nom neutre, par exemple `notes` (évitez `vault`, `passwords`…). 3. Cochez **Private**. **Important** : l'application **refuse** un dépôt public — chaque synchro y reste dans l'historique, lisible par tous. 4. **Create repository**. Pas besoin de README. Notez son adresse, par exemple `https://github.com/moi/notes`. ## 2. Créer le jeton d'accès Le jeton permet à l'application d'écrire **dans ce dépôt-là seulement**. 1. Allez sur (ou : photo de profil → **Settings** → **Developer settings** → **Personal access tokens** → **Fine-grained tokens** → **Generate new token**). 2. **Token name** : `Password Manager`. 3. **Expiration** : la durée de votre choix. À l'expiration, la synchro s'arrête (erreur 401) et il faudra en créer un nouveau (voir plus bas). 4. **Repository access** : **Only select repositories** → choisissez **votre dépôt** (`notes`). N'accordez pas l'accès à tous vos dépôts. 5. **Permissions** → **Repository permissions** → **Contents** : **Read and write**. (GitHub ajoute *Metadata : Read-only* tout seul.) Rien d'autre. 6. **Generate token**, puis **copiez-le tout de suite** (`github_pat_…`) : GitHub ne le montre qu'une fois. ## 3. Configurer le PC Password Manager → **Settings → Sync** : | Champ | Valeur | |---|---| | Enable sync | coché | | URL | l'adresse du dépôt : `https://github.com/moi/notes` | | Username | laisser vide (ignoré pour GitHub) | | Password / token | le jeton `github_pat_…` | 1. **Test connection** → *Connection OK · snapshot not created yet*. 2. **Set sync password** → choisissez le **mot de passe de synchro** (le même sur tous vos appareils ; différent du mot de passe maître). 3. **Sync now** → un fichier `data.json` apparaît dans le dépôt, avec un commit *update from desktop*. ## 4. Configurer le téléphone 1. Installez `pmserverApk.apk` (autorisez l'installation depuis cette source quand Android le demande). 2. Sur le PC : **Settings → Sync → QR for phone** (le QR reste 60 secondes). 3. Sur le téléphone : **Settings → Scan the QR shown on the PC**. L'adresse et le jeton se remplissent. 4. Tapez le **mot de passe de synchro** (il n'est **jamais** dans le QR), puis **Save**. Le coffre se télécharge. Sans QR, à la main : URL `https://github.com/moi/notes`, Token `github_pat_…`. ## 5. Au quotidien - **PC** : **Sync now** après vos modifications. - **Téléphone** : à l'ouverture, il vérifie en arrière-plan. Si le PC a publié du nouveau, le bouton Sync s'allume ; touchez-le pour récupérer. Une modification faite sur le téléphone est publiée aussitôt. - Chaque synchro est un **commit** : c'est normal de voir l'historique du dépôt grandir. ## Quand le jeton expire La synchro échoue en **401**. Créez un nouveau jeton (étape 2), collez-le sur le PC (**Password / token**), puis refaites **QR for phone** et le scan sur le téléphone. Le mot de passe de synchro, lui, ne change pas. --- ## En cas de problème | Message | Cause probable | |---|---| | *This repository is PUBLIC - make it private…* | Le dépôt est public. Sur GitHub : dépôt → **Settings** → **Danger Zone** → **Change visibility** → **Private**. | | *Auth failed (401)* | Jeton faux, mal copié ou expiré. | | *Auth failed (403)* | Le jeton n'a pas **Contents : Read and write**, ou n'a pas accès à ce dépôt. | | *404* / *Nothing to download* | Le PC n'a pas encore fait **Sync now** — ou bien le jeton ne voit pas ce dépôt (GitHub répond 404 plutôt que de révéler un dépôt privé). Vérifiez l'étape 2, point 4. | | *Network failure*, *HTTP 0* | Pas de réseau. L'application réessaie trois fois ; relancez la synchro. | | Le coffre ne s'ouvre pas sur le téléphone | Le mot de passe de synchro n'est pas le même que sur le PC. | **Limite** : GitHub ne rend plus un fichier de plus de **1 Mo** par cette voie. Un coffre chiffré fait environ 250 Ko ; seules de très nombreuses icônes personnalisées pourraient s'en approcher. **GitLab n'est pas pris en charge.** Gitea (auto-hébergé) fonctionne de la même façon : adresse du dépôt, jeton avec le droit *write:repository*.