Partager entre vos appareils¶
En bref¶
Chacun de vos appareils garde toutes ses données dans ses propres fichiers, et fonctionne sans les autres. Ce qui doit voyager entre eux passe par un dossier que transporte une application de synchronisation que vous utilisez déjà (Nextcloud, Dropbox, Syncthing, Google Drive, OneDrive, ou une autre), scellé d’abord sur votre appareil : le dossier et son serveur ne peuvent rien lire, et rien changer sans que cela se voie. Aucun serveur à nous, et rien ne parvient au développeur. Rien de ce qui arrive à ce dossier ne peut retirer des données à vos appareils, et ce qu’un appareil ne peut pas savoir, il le dit.
Comment cela marche¶
- Vos données sont sur vos appareils ; le dossier ne fait que passer des messages entre eux. Chaque appareil garde sa propre copie, complète. Le dossier partagé contient des changements scellés, envoyés d’un appareil aux autres. Un appareil qui perd le dossier, ou le trouve abîmé, garde tout ce qu’il avait.
- Un fichier par appareil, écrit par lui seul. Chaque appareil écrit ses changements à la fin de son propre fichier dans le dossier, une ligne scellée par changement, et ne touche jamais aux fichiers des autres. Une application de synchronisation fait des « copies en conflit » quand deux appareils changent le même fichier. Ici, cela n’arrive jamais : elle n’a donc jamais à choisir à votre place.
- Des changements, pas des copies. Chaque minute, Sioul compare vos fichiers à ce qu’ils contenaient la dernière fois qu’il les a regardés, et n’envoie que ce qui a changé, une entrée à la fois : un réglage, une ligne de temps, une prise, un expéditeur, une note. Chaque appareil lit les nouvelles lignes des autres et les applique.
- Le changement le plus récent l’emporte, entrée par entrée. Un réglage changé sur deux appareils garde le changement le plus récent. Le temps noté sur chaque appareil reste sur les deux. Une note changée sur deux appareils garde les deux versions, l’une sous un nom qui le dit. Une fois que tous vos appareils ont cette version ou une plus récente (plus bas), une ligne de budget, une séance de temps ou un site épinglé changés sur deux appareils restent un seul, et deux lignes pareilles faites sur un appareil restent deux : chacune a son propre identifiant, donné quand elle est faite, ou écrit en elle une fois, quand vos appareils prennent la forme nouvelle. Une liste que vous changez sur une page (mots, jours de congé, heures de travail, qui peut vous joindre, filtres de courriel, repas et siestes) change de ce que vous y avez fait, sur la liste telle qu’elle est à ce moment-là : un mot ou un jour de congé ajouté sur un autre appareil pendant que la page était ouverte reste.
- Ce que l’application de synchronisation doit faire : très peu. Elle doit transporter les nouveaux fichiers, et les fichiers qui grandissent, tôt ou tard et dans n’importe quel ordre. Elle n’a besoin de rien effacer, renommer ni verrouiller. C’est pourquoi n’importe quelle application de synchronisation convient. Une application lente, comme celle d’un téléphone qui regarde toutes les demi-heures, fait arriver les changements en retard, jamais faux.
- Ce qu’un appareil ne peut pas savoir, il le dit. Chaque appareil dit dans le dossier où il en est : quand il a démarré, quand il s’est fermé proprement, s’il est utilisé, et quand il a partagé pour la dernière fois. Chacun sait jusqu’où il a lu les autres. Un appareil fermé proprement a envoyé tout ce qu’il avait noté ; un appareil utilisé est connu tant que ses nouvelles continuent d’arriver. Si quelque chose a pu se passer sur un appareil dont les nouvelles ne sont pas arrivées (une prise notée sur le téléphone pendant qu’il était utilisé, que son application de synchronisation n’a pas encore apportée), Sioul dit qu’il ne sait pas plutôt que de deviner, et nomme cet appareil. La prise est rappelée avec « vérifiez d’abord », jamais comme « pas prise » (Santé).
Quand l’application de synchronisation est en retard¶
Les applications de synchronisation transportent les fichiers à leur rythme, et Sioul ne peut presser la plupart d’entre elles. Le client Nextcloud d’un ordinateur envoie un changement en quelques secondes ; l’application d’un téléphone peut attendre son prochain examen, une demi-heure ou plus, et laisser certains fichiers en arrière plus longtemps encore : le 6 octobre 2026, l’eDrive de Murena a laissé des heures sur le serveur les changements d’un ordinateur, tout en examinant le dossier toutes les quelques minutes. Tant qu’un changement n’est pas arrivé, l’autre appareil l’ignore : un « Ne pas déranger » activé, une prise notée, l’ordinateur encore ouvert ou non. Un appareil qui ne peut pas savoir le dit (pour les prises : « vérifiez avant de la prendre ») ; il ne devine jamais.
WebDAV est le seul protocole pour lequel Sioul prend les choses en main. Quand le dossier partagé est sur un serveur Nextcloud où Sioul a déjà un compte (celui de Murena compris), il lit aussi lui-même les fichiers des autres appareils sur le serveur, en secours, et garde la copie la plus récente : un téléphone suit alors en une minute environ, quoi que fasse son application de synchronisation. Avec Nextcloud, une application de synchronisation devient même facultative : Sioul peut tenir le dossier à jour lui-même, en envoyant aussi bien qu’en allant chercher, pour qu’un téléphone n’ait besoin d’aucune autre application (la mise en place). Avec toute autre application (Syncthing, Dropbox, Google Drive…), les changements arrivent quand elle les apporte. C’est pourquoi Nextcloud est le premier choix : où en trouver un.
Envoyé tout de suite¶
Quelques secondes après que vous enregistrez quoi que ce soit qui voyage (une prise notée, un réglage, un médicament, un projet, un budget), Sioul échange, sans attendre la minute. Et quand le dossier est sur votre Nextcloud, Sioul envoie ensuite lui-même là-bas les fichiers de cet appareil, à côté de votre application de synchronisation : vos autres appareils les ont en quelques secondes, même quand celle de cet appareil tarde, et un serveur qui les a perdus peut les recevoir de nouveau (Tout renvoyer, plus bas).
- Seulement les fichiers de cet appareil, jamais ceux d’un autre ; chacun part par-dessus ce que le serveur garde tel que Sioul l’a vu la dernière fois, il ne défait donc jamais une copie plus récente ; les enregistrements de cet appareil ne partent jamais plus courts qu’ils n’étaient.
- Votre application de synchronisation continue comme avant. Quand elle envoie de nouveau le même fichier, rien ne change : Sioul l’y trouve tel qu’il est ici et n’envoie rien deux fois. Sioul donne à chaque fichier sa date et sa somme de contrôle, pour que le client de Nextcloud reconnaisse le même fichier sans le télécharger.
- Des petits fichiers, sur une connexion lente aussi. Chaque changement envoie un petit fichier (quelques dizaines de kilo-octets au plus) : un partage de connexion du téléphone ou ses données mobiles le portent, et un ordinateur qui écrit chaque minute envoie environ un demi-mégaoctet par heure. Un gros fichier, de temps en temps, reçoit le temps que demande sa taille ; celui qui ne passe pas est dit dans le panneau (quel fichier, combien de temps il a essayé), et réessayé plus tard, jamais plus tôt : une minute, puis deux, cinq, un quart d’heure, jusqu’à une heure. Sur une connexion facturée au volume, ou mesurée lente, les gros fichiers partent au plus toutes les dix minutes.
- Un texto à envoyer part en premier. Un texto écrit sur un ordinateur voyage dans un petit fichier à lui, envoyé en premier et seul, pour qu’il atteigne votre téléphone dans son quart d’heure même pendant qu’un gros fichier est encore en route.
- Il reste un moment : une application de synchronisation qui regarde le serveur dans la seconde entre un changement ici et l’envoi de Sioul. Le client de Nextcloud garde alors votre fichier plus récent à côté, en « copie en conflit » sur cet ordinateur (jamais lue ; supprimez-la quand vous voulez), et Sioul recommence son fichier avec tout ce qu’il tient. Rien n’est perdu, et les autres appareils ne tiennent jamais une prise pour connue à tort : au plus, ils disent une minute qu’ils ne savent pas.
Quand quelque chose tourne mal dans le dossier¶
Rien de ce qui arrive dans le dossier ne peut vous retirer vos données. Sioul traite chaque surprise comme quelque chose qu’il ne sait pas :
- Un fichier coupé, manquant, abîmé ou dans le désordre (une application de synchronisation qui a remis une copie plus ancienne, un défaut du disque) : ce qu’il contient compte comme inconnu, et c’est dit. Ce n’est jamais lu comme « retiré ».
- Un fichier de réglages trouvé vide ou à moitié écrit sur cet appareil (un plantage, un disque plein) n’est jamais lu comme « tout effacé ». Il attend dix minutes, et rien n’en est retiré ailleurs entre-temps.
- Un dossier soudain vide, disparu ou illisible (une carte mémoire non montée, un accès retiré) : rien n’en est retiré sur vos autres appareils tant que vous ne le dites pas.
- Beaucoup de fichiers effacés d’un coup d’un dossier toujours là : vos autres appareils les gardent deux semaines, puis ils en partent d’eux-mêmes, à moins que vous ne les remettiez (Notes et papiers).
- Une copie plus ancienne remise à la main (une sauvegarde restaurée avec ses anciennes dates) ne défait pas les changements de vos autres appareils.
- Un appareil restauré d’une sauvegarde, ou qui a perdu sa mémoire, reprend là où en est le dossier et rattrape le reste : ce qu’il avait noté après la sauvegarde revient.
- Avant qu’un changement d’un autre appareil remplace ou retire un fichier ici, le fichier tel qu’il était est gardé sur cet appareil, pour le remettre au besoin (plus bas).
- Le dossier de partage parti, ou son sceau (un disque non monté, une application de synchronisation qui a déplacé ou refait son dossier) : rien n’est écrit jusqu’à son retour, et le panneau le dit. Sioul ne refait jamais le dossier, vide, à côté du vrai.
- Le dossier scellé avec une autre phrase de passe que celle de cet appareil (deux appareils qui ont chacun mis en place le dossier avant que le sceau de l’autre arrive) : cet appareil n’y écrit rien, et le dit ; reprenez le partage sur lui avec la phrase de passe de vos autres appareils, et ils se retrouvent.
- Deux appareils sous un même nom (un disque ou les données d’un téléphone copiés sur un autre) : chacun trouve les lignes de l’autre dans son propre fichier, et le panneau le dit ; arrêtez le partage sur l’un des deux et reprenez-le là, ce qui lui donne un nom à lui.
- Une liste tenue par un autre programme dans un autre codage (un texte que Sioul ne sait pas lire) : laissée telle quelle, c’est dit, et rien n’en est retiré ailleurs.
- Un brouillon envoyé sur un appareil pendant qu’un autre le modifiait, aucun des deux ne le sachant encore : il reste envoyé partout, quel que soit le dernier ; la modification faite entre-temps est gardée parmi les versions précédentes de cet appareil.
Ce que cela protège, et ce que cela ne peut pas cacher¶
- Scellé sur votre appareil. Chaque changement est chiffré avant d’être écrit dans le dossier, avec XChaCha20-Poly1305, un chiffrement qui détecte aussi toute modification de ce qu’il a scellé. Les notes et les papiers sont compressés, puis scellés en morceaux de 1 Mio.
- Une phrase de passe. La clé est tirée d’une phrase de passe que vous choisissez, par Argon2id, qui est volontairement lent et coûteux à essayer (64 Mio de mémoire et trois passes pour chaque essai). Vous la tapez une fois sur chaque appareil, qui garde la clé tirée d’elle dans son trousseau (sur un téléphone, derrière le KeyStore d’Android) ; la phrase elle-même n’est gardée nulle part ni envoyée nulle part. Une phrase fausse est signalée tout de suite. Il lui faut au moins 12 caractères : quelques mots que vous n’oublierez pas.
- Ce que le dossier et son serveur peuvent voir : quel appareil a écrit (un identifiant tiré au hasard, ni votre nom ni celui de l’appareil), quand, et combien. Pour les notes et les papiers, la taille de chaque fichier scellé : un document très répandu, comme un formulaire public, pourrait se reconnaître à sa taille. Ils peuvent aussi voir quand un changement reprend un contenu déjà scellé là (un fichier remis tel qu’il était).
- Ce qu’ils ne voient jamais : ce que sont les changements. Ni le nom des choses (adresses, noms de fichiers, réglages), ni leur contenu.
- Une falsification se voit. Chaque ligne est liée à l’appareil qui l’a écrite, à sa place dans le fichier de cet appareil, et à son heure. Une ligne modifiée, déplacée dans le fichier d’un autre appareil, ou remise dans un autre ordre ne s’ouvre pas. Chaque morceau d’un fichier scellé est lié à son fichier et à sa place : on ne peut ni échanger, ni couper, ni ajouter de morceaux. Ce qui ne s’ouvre pas est mis de côté comme abîmé, et c’est dit. Cela n’efface jamais rien.
- Quelqu’un qui obtient le dossier mais pas la phrase de passe (un compte cloud piraté, un hébergeur curieux) ne peut rien lire et rien falsifier. Il peut effacer ou abîmer des fichiers : Sioul le remarque, le dit, et vos appareils ne perdent rien (plus haut).
- Quelqu’un qui a la phrase de passe, ou un de vos appareils déverrouillé, peut lire et envoyer des changements comme n’importe lequel de vos appareils. Même alors, un changement venu du dossier n’est écrit qu’à sa place : jamais à travers un lien, jamais hors de votre dossier de notes, jamais dans les fichiers de Sioul lui-même, jamais en clair dans le dossier de partage.
- Les mots de passe ne voyagent jamais. Les comptes arrivent sur un autre appareil sans leurs mots de passe : chaque appareil les demande une fois, et les garde dans son propre trousseau, ou les prend dans Bitwarden.
- Pas encore caché : les tailles et les heures ci-dessus, et une petite note que chaque appareil laisse dans le dossier, non scellée : quand il a échangé pour la dernière fois, et jusqu’où il a lu les autres.
Une phrase de passe perdue ne se retrouve pas
Personne ne peut la retrouver pour vous : elle n’est jamais envoyée nulle part. Si elle est perdue, arrêtez le partage sur chaque appareil et recommencez avec un nouveau dossier. Rien n’est perdu sur vos appareils.
Ce qui voyage, et comment¶
| Quoi | Comment cela rejoint vos autres appareils |
|---|---|
| Courriels, contacts, événements et tâches, avec ce que Sioul écrit dans vos tâches (étapes, attentes, liens, types) | par leurs propres serveurs, comme avec n’importe quel programme |
| Votre dossier de notes : notes, projets, budgets, papiers, lettres scannées, images et mémos vocaux | par la synchronisation du dossier lui-même ; ou, quand aucune synchronisation ne le transporte (celui d’un téléphone), par le partage, scellé, une fois que vous les allumez |
| Ce que Sioul garde sur cet appareil seul : vos réglages et vos comptes (sans les mots de passe), qui peut vous joindre, les liens entre les choses, le temps passé, les brouillons, les factures, les médicaments et les prises, les listes gardées sur cet appareil seulement, l’endroit où le Porche a été fermé | par le partage, scellé |
Jamais partagé : ce que chaque appareil choisit de partager, l’endroit où sont les choses sur chaque appareil (chacun garde ses propres dossiers), la façon dont le texte se lit sur cet écran, la disposition des pages, les notifications du navigateur de cet appareil, les caches, et vos propres clés OpenPGP (copiez-les à la main). Les mots de passe restent dans le trousseau de chaque appareil.
La mise en place¶
Pas encore de cloud ? Sioul est testé avec Nextcloud : où trouver un Nextcloud.
Sur le premier appareil :
- Ouvrez Paramètres ▸ Votre dossier et le partage, et trouvez Entre vos appareils.
- Dossier : choisissez un dossier à l’intérieur de celui que votre synchronisation transporte, par exemple un nouveau dossier
Siouldans votre dossier Nextcloud. - Phrase de passe, puis Encore une fois : quelques mots que vous n’oublierez pas, au moins 12 caractères.
- Partager.
Sur l’autre appareil, choisissez le même dossier (là où votre synchronisation le place sur cet appareil). Sioul voit qu’un autre appareil partage par ce dossier, et demande la phrase de passe choisie là-bas. Puis Partager.
Avec un compte Nextcloud dans Sioul (celui de Murena compris), un appareil n’a besoin d’aucune application de synchronisation : choisissez Sioul le tient à jour avec votre Nextcloud, le compte, et la place du dossier parmi vos fichiers là-bas (Documents/Sioul), puis la phrase de passe : tapée deux fois quand le dossier est nouveau là-bas, une fois quand un autre appareil partage déjà par lui. Sioul garde sa propre copie du dossier sur cet appareil, et envoie et va chercher les fichiers lui-même ; les appareils qui utilisent une application de synchronisation sur le même dossier partagent avec lui comme avant (pourquoi).
Un nouvel appareil, par la connexion de votre Nextcloud¶
Un téléphone ou un ordinateur où rien n’est encore réglé rejoint vos autres appareils par votre Nextcloud seul, celui de Murena compris : aucune application de synchronisation, aucun compte à ajouter d’abord, aucun mot de passe tapé dans Sioul.
- Ouvrez Sioul sur le nouvel appareil. À son premier démarrage, le Porche propose Rejoindre vos autres appareils : Se connecter à Murena, Se connecter à un autre Nextcloud (son adresse, par exemple
cloud.example.org) ou J’utilise une application de synchronisation. Paramètres ▸ Votre dossier et le partage propose la même chose, au-dessus des deux façons. - La page de connexion de votre Nextcloud s’ouvre dans votre navigateur. Connectez-vous-y comme sur son site, sa seconde étape comprise, et donnez l’accès à « Sioul (Android) » (ou au système sur lequel il tourne). Revenez dans Sioul : il l’attend, vingt minutes au plus ; Annuler l’arrête.
- Sioul cherche votre dossier de partage là-bas :
Documents/Sioul,Sioul, puis les dossiers deDocuments. Il dit où il l’a trouvé ; ailleurs, choisissez Une autre place et tapez sa place. Trouvé nulle part, chaque place regardée, vous pouvez commencer à partager là-bas, comme sur un premier appareil. Quand Sioul n’a pas pu tout parcourir (un serveur lent, une erreur), il le dit, avec Chercher de nouveau, et ne propose alors jamais de nouveau partage. - Tapez la phrase de passe choisie sur vos autres appareils, une fois (deux pour un nouveau partage), et choisissez Rejoindre.
- Un premier échange a lieu tout de suite. Sioul dit alors avec qui cet appareil partage maintenant, et ce qui est venu : vos réglages, vos comptes, vos heures. Vos contacts et agendas sur ce Nextcloud utilisent la connexion, par votre compte de ce serveur venu avec vos réglages, ou un compte fait d’après la connexion quand il n’y en a pas ; décidé une fois tous les réglages de vos autres appareils arrivés, un peu plus tard sur un premier échange lent, pour qu’aucun second compte ne soit fait à côté du vôtre. Reste à vous connecter sur cet appareil liste les comptes dont les mots de passe ne voyagent jamais : le courriel, surtout ; donnez à chacun son mot de passe dans Comptes.
Ensuite, Sioul tient à jour sa propre copie du dossier avec votre Nextcloud lui-même, comme avec Sioul le tient à jour avec votre Nextcloud.
Ce que la connexion laisse : un mot de passe d’application à lui, fait par votre Nextcloud pour Sioul, gardé dans le trousseau de cet appareil, jamais dans un fichier ; votre Nextcloud le liste parmi ses appareils et sessions (Paramètres ▸ Sécurité là-bas), où vous pouvez le révoquer. Votre propre mot de passe ne parvient jamais à Sioul. Sioul n’envoie ce mot de passe d’application qu’à ce serveur, en HTTPS, et refuse une connexion dont la réponse nomme un autre serveur. Annuler après la connexion le rend au serveur ; Arrêter le partage aussi, sauf si vos contacts et agendas l’utilisent.
Sur un ordinateur qui partage, Ajouter un appareil (dans le même panneau) dit ce dont le nouvel appareil a besoin : le serveur où se connecter et la place du dossier là-bas, ou, pour le dossier d’une autre application de synchronisation, ce même dossier sur le nouvel appareil ; puis la phrase de passe, celle que vous avez choisie, que Sioul ne montre jamais.
Un nouveau téléphone à la place d’un ancien¶
Un téléphone qui partage à côté d’un autre téléphone silencieux depuis un jour ou plus, comme ce téléphone le voit, demande une fois : « Ce téléphone remplace-t-il GS290, silencieux depuis sam. 10 oct. 21:40 ? » Oui, il le remplace : son entrée scellée le dit, et chaque appareil compte alors l’ancien téléphone comme oublié : il ne retient plus les rappels de vos prises, et un ordinateur rappelle de nouveau une prise sans réserve dès que le nouveau téléphone a dit avoir lu son ouverture. Si l’ancien téléphone partage un jour encore, il compte à nouveau de lui-même. Rien de ce qu’il a dit n’est perdu : ses derniers enregistrements, ses SMS et leurs images restent ; ses enregistrements plus anciens, que les derniers reprennent, et ses versions remplacées depuis quittent le dossier de partage, retirés par vos autres appareils. Non, c’est un second téléphone : rien ne change. Sur un téléphone qui vient de rejoindre, la question vient un jour après qu’il a rejoint ; en attendant, l’ordinateur propose L’oublier maintenant (plus bas). Dit d’un téléphone encore utilisé, Oui laisserait vos prises sans la parole de ce téléphone : tous deux pourraient alors vous rappeler la même prise.
Sur un ordinateur, un téléphone silencieux depuis un jour ou plus peut être oublié tout de suite : L’oublier maintenant, sous sa ligne, dit d’abord ce que cela change. Sans cela, un téléphone qui ne partagera plus jamais (perdu, cassé) retient les rappels des prises une semaine : chacun vient avec « vérifiez d’abord », quelques minutes en retard. Il garde aussi six mois dans le dossier de partage les enregistrements plus anciens de vos appareils : chaque appareil qu’il lit les garde jusqu’à ce qu’il les ait lus. Oublié sur un appareil, il ne retient plus les enregistrements de cet appareil, et cet appareil retire du dossier les anciens enregistrements du vieux téléphone lui-même ; dit remplacé par un nouveau téléphone, sur tous les appareils à la fois.
Retirer les fichiers d’un appareil¶
Un appareil qui a quitté le partage, que vous avez oublié, ou qu’un nouveau téléphone remplace, garde ses derniers enregistrements dans le dossier de partage : son dernier mot sur chaque chose, ses SMS avec. Sous Appareils qui ne comptent plus, chacun qui y tient encore des fichiers a Retirer ses fichiers… ; un appareil qui compte encore a L’oublier et retirer ses fichiers… sur sa ligne. Avant que vous appuyiez, Sioul dit en clair ce qui part, avec la place libérée (ses enregistrements, les petits fichiers qu’il y tenait, les copies scellées des notes et papiers qu’il a changés en dernier et qu’aucun autre appareil ne nomme), et ce qui reste : ce que chacun de vos appareils a déjà lu de lui reste sur cet appareil, et les images et vidéos des SMS que nomme le journal d’un autre téléphone restent dans le dossier. Un appareil qui arrive plus tard ne reçoit aucun de ses enregistrements, sauf si ceux d’un autre appareil les portent, comme les SMS qu’un nouveau téléphone a restaurés. Ses quelques petits fichiers dont vos autres appareils peuvent encore avoir besoin (ce qu’il a dit de lui en dernier, jusqu’où il a lu) restent aussi, quelques centaines d’octets. Les notes effacées d’un coup et encore gardées gardent leurs copies scellées : Les remettre fonctionne toujours. S’il compte encore, il est d’abord oublié, pour vos prises aussi ; s’il a donné signe de vie depuis moins d’un jour, Sioul dit d’abord qu’il sert peut-être en ce moment, et vos prises gardent leur doute pour lui jusqu’à ce qu’il dise quoi que ce soit de plus récent. S’il sert encore malgré tout, il partage de nouveau de lui-même.
La première fois, une copie de ce qu’avait cet appareil est gardée de côté, au cas où. Puis les réglages de l’autre appareil arrivent, et ce que seul celui-ci avait part vers l’autre : deux appareils réglés chacun de leur côté finissent avec les réglages du premier et les listes des deux.
Ensuite, les changements s’échangent quelques secondes après que quelque chose qui voyage est enregistré ici, chaque minute, et quand vous choisissez Tout actualiser ou Échanger maintenant. Le panneau dit par quel dossier vous partagez, avec combien d’autres appareils, et quand ils ont donné des nouvelles pour la dernière fois. Sous Vos autres appareils, il liste chacun d’eux : utilisé en ce moment, ou fermé à 22:14, quand il a partagé pour la dernière fois, et le Sioul qu’il fait tourner (« Sioul 0.0.3 (eff8661abcde). » ; un plus ancien que celui de cet appareil est dit, pour que vous le mettiez à jour quand vous voulez) ; celui que vous avez dit éteint, avec Le compter de nouveau ; celui qui est silencieux depuis une semaine, avec Oublier cet appareil ; sur un ordinateur, un téléphone silencieux depuis un jour, avec L’oublier maintenant (un nouveau téléphone) ; chacun, avec L’oublier et retirer ses fichiers…. Sous Appareils qui ne comptent plus, ceux qui ont quitté le partage, que vous avez oubliés ou qu’un nouveau téléphone remplace, tant que leurs fichiers sont encore dans le dossier, chacun avec Retirer ses fichiers… (plus bas). En dessous, celui de cet appareil : « Cet appareil : Sioul 0.0.3 (eff8661abcde). », comme le dit sioul --version. Arrêter le partage demande d’abord, en disant ce qui s’arrête et ce qui reste, puis y met fin sur cet appareil ; chaque appareil garde ses propres fichiers, et les autres continuent de partager entre eux.
Sur un Nextcloud (celui de Murena compris), le panneau dit aussi si Sioul lit le dossier sur le serveur lui-même, à côté de votre application de synchronisation, et quand il l’a fait pour la dernière fois : Aller aussi les chercher sur le serveur, allumé dès que le dossier y est trouvé sous le même sceau (pourquoi). Si Sioul ne le trouve pas, donnez sa place là-bas (comme Documents/Sioul) et choisissez Chercher là. En dessous, Envoyer aussi les changements de cet appareil directement à cloud.example.org, allumé avec lui : Sioul envoie lui-même là-bas les fichiers de cet appareil, juste après chaque changement (pourquoi), et dit quand il l’a fait pour la dernière fois.
Tout renvoyer, tant que vous partagez : chaque fichier de cet appareil que le serveur n’a pas, ou a autrement, est envoyé de nouveau, quoi qu’il ait été envoyé avant ; puis les nouvelles des autres appareils sont cherchées. Pour une application de synchronisation en retard, ou un serveur qui a perdu des fichiers. Il dit ce qu’il a fait, par exemple « 14 fichiers envoyés à cloud.example.org à 10:42. », ou pourquoi rien n’est parti.
Votre dossier de notes voyage par sa propre synchronisation, pas par Sioul, sauf si vous l’allumez plus bas. S’il ne semble pas être dans un dossier synchronisé, le panneau le dit : votre autre appareil ne verrait pas vos notes et vos projets. Déplacés dans un dossier synchronisé (et choisis à nouveau dans Paramètres), ils voyagent aussi ; ou allumez Notes, Projets et argent et Papiers, et Sioul les transporte, scellés.
Des appareils sur des versions différentes de Sioul¶
Vos appareils peuvent avoir un temps des versions différentes de Sioul, comme un téléphone mis à jour après l’ordinateur. Ils continuent de partager : ce qu’ils s’envoient ne change de forme qu’une fois que tous peuvent lire la nouvelle.
- Un appareil sur un Sioul plus ancien retient la forme nouvelle. Cette version de Sioul partage les lignes de budget, les séances de temps, les sites épinglés et les listes de mots sous une forme nouvelle : une ligne ou une séance changée sur deux appareils reste une seule, et deux sites épinglés, ou deux mots ajoutés, sur deux appareils au même moment restent tous les deux. Tant que chaque appareil du partage n’a pas cette version ou une plus récente, tous continuent de partager sous la forme que lit le plus ancien, et le panneau le dit : « L’un de vos appareils a un Sioul plus ancien… », la ligne de l’appareil disant lequel. D’ici là, une séance de temps, vos sites épinglés ou une liste de mots changés sur deux appareils au même moment ne gardent que le dernier changement, comme avant. Une fois cet appareil mis à jour, vos appareils prennent d’eux-mêmes la forme nouvelle, une fois : chacun écrit dans ses propres fichiers un identifiant pour chaque ligne de budget, préréglage, règle de répartition et séance de temps qui n’en a pas (le fichier tel qu’il était est gardé parmi les versions précédentes), et n’envoie que ce que l’ancienne forme avait perdu, comme une deuxième ligne pareille. Un appareil retiré sans Arrêter le partage retient la forme nouvelle jusqu’à ce que vous choisissiez Oublier cet appareil pour lui (proposé une fois qu’il est silencieux depuis une semaine, ou tout de suite pour un appareil connu seulement par ce qu’il a partagé avant), ou pendant 180 jours.
- Un appareil qui a besoin d’un Sioul plus récent. Si vos autres appareils partagent une partie sous une forme plus récente que celle que lit le Sioul de cet appareil, celui-ci le dit une fois dans la ligne d’état (« Cet appareil a besoin d’un Sioul plus récent pour partager « Temps »… ») et, tant que cela dure, dans Paramètres ▸ Votre dossier et le partage. Il lit encore ce qu’il peut. Ce que vous changez ici dans cette partie reste sur cet appareil, et ce qui change sur les autres attend ici. Une fois Sioul mis à jour sur cet appareil, les deux s’appliquent, le changement le plus récent l’emportant : un changement fait ici cède à un changement plus récent fait sur l’autre appareil. Si l’appareil qui partage la forme nouvelle arrête de partager, si vous l’oubliez, ou s’il reste silencieux pendant 180 jours, la partie voyage de nouveau entre vos autres appareils, et ce qui attendait ici de cet appareil est mis de côté. Si cette partie est Santé, cet appareil dit d’ici là qu’il ne partage pas ses prises, après un redémarrage aussi : vos autres appareils disent alors ne pas savoir ce qu’il en est d’une prise à laquelle il a pu répondre, et jamais qu’elle n’a pas été prise.
Ce qui voyage depuis cet appareil¶
Sous Ce qui voyage depuis cet appareil, chaque partie a son interrupteur, dit ce qu’elle transporte, et quand elle a envoyé et reçu un changement pour la dernière fois :
| Partie | Ce qu’elle transporte |
|---|---|
| Réglages et comptes | vos réglages et vos comptes (jamais leurs mots de passe), les liens entre les choses, l’endroit où le Porche a été fermé, les courriels dont vous avez dit qu’ils ne sont pas des paiements, l’interrupteur de « Ne pas déranger » |
| Expéditeurs | qui peut vous joindre (les listes : connus, bloqués, sûrs, neutres, restreints, avec adresses, numéros et fiches), qui peut vous joindre pendant « Ne pas déranger », ce que le bouclier a lu, les clés publiques des autres |
| Appels | les appels filtrés par vos téléphones, refusés ou sonnés, un mois d’entre eux, et ceux marqués Vu : pour que le Porche d’un ordinateur liste ce que votre téléphone a refusé (Les appels) |
| Messages de votre téléphone | les messages qu’ont apportés les notifications de votre téléphone, pour les applications choisies là-bas (ses SMS d’abord), une semaine d’entre eux, et ceux marqués Vu : pour que le Porche d’un ordinateur les montre ; désactivé tant que vous ne l’activez pas, sur le téléphone et sur chaque ordinateur qui doit les montrer (Ce qui vous joint) |
| SMS | les SMS de votre téléphone, tout l’historique avec les médias de ses messages multimédias, lus sur le téléphone et gardés comme une archive qui ne fait que grandir ; les SMS écrits sur un ordinateur pour que le téléphone les envoie, et ce qu’il est advenu de chacun ; scellés, et scellés à nouveau sur chaque appareil ; désactivé tant que vous ne l’activez pas, sur le téléphone et sur chaque ordinateur qui doit les lire ou les écrire (Les SMS) |
| Filtre à indésirables | la table que fait l’apprentissage de votre propre filtre à indésirables sur un ordinateur, pour que chaque appareil juge les courriels pareil, et ce que vous avez dit indésirable ou pas sur chaque appareil ; jamais les courriels dont il a appris, ni ses mots (les réglages des Courriels) |
| Santé | les médicaments, les ordonnances et les prises |
| Temps | le temps noté, la séance en cours, les choix du jour, où vous vous êtes arrêté, travailler tard ou fini pour aujourd’hui |
| Brouillons et factures | les courriels en cours d’écriture, les factures faites |
| Projets et argent | de votre dossier de notes : les projets et leurs routes de courriels, les budgets, les comptes et mouvements bancaires, les contrats |
| Listes gardées ici | les agendas et contacts gardés sur cet appareil seulement |
| Notes | votre dossier de notes : les notes, leurs images, PDF et mémos, les lettres numérisées |
| Papiers | le portefeuille de papiers et ses fichiers |
Chaque appareil choisit pour lui-même : éteindre une partie sur le téléphone ne change rien sur l’ordinateur. Une partie éteinte n’envoie rien et ne retire rien sur vos autres appareils ; rallumée, elle les rejoint comme le ferait un nouvel appareil : ce qu’ils ont arrive d’abord, puis ce que seul celui-ci a part vers eux. Un appareil qui n’a jamais choisi partage ce que Sioul partageait avant que les parties aient leurs interrupteurs : tout sauf les notes et les papiers, et les projets et l’argent si vous les aviez cochés ; jamais les messages de votre téléphone ni les SMS, qui attendent votre choix sur chaque appareil. Avant d’allumer Notes ou Papiers, le panneau dit combien de fichiers voyageraient, et quelle taille ils font en tout.
Les notes et les papiers¶
Allumés, les notes et les papiers voyagent par le même dossier scellé, un fichier à la fois :
- Seulement ce qui a changé : chaque fichier est compressé, scellé à part et envoyé une fois ; une note changée n’envoie que cette note, pas le dossier. Les fichiers de plus de 64 Mo restent sur leur appareil, et le panneau dit lesquels. Sur un téléphone dont l’application de synchronisation n’efface jamais ce qui a été effacé ailleurs (l’eDrive de Murena), chaque fichier scellé qu’elle a apporté reste là-bas dans le dossier de partage : comptez la place de vos notes et de vos papiers deux fois. Sur le serveur, Sioul retire lui-même ce dont il n’a plus besoin, eDrive ou non. Un appareil où Sioul tient lui-même le dossier à jour laisse partir les copies scellées que le serveur n’a plus, sauf celles dont il a encore besoin. Sur un téléphone de ce type, son arrière-plan apporte les nouvelles notes et les nouveaux papiers des autres, pour qu’ils soient là quand vous ouvrez Sioul, hors connexion aussi ; sur les données mobiles ou une connexion lente, un gros fichier toutes les dix minutes au plus. Un enregistrement ou un scan d’un mégaoctet ou plus voyage une fois qu’il n’a pas changé pendant dix minutes, ou une heure après qu’il a commencé à changer : enregistré de nouveau à quelques minutes d’intervalle, seul son dernier enregistrement part.
- Laissé de côté : ce que votre application de synchronisation ou votre éditeur crée à côté de vos fichiers (fichiers cachés, fichiers
~et.tmp, copies en conflit, verrous d’Office), les noms qui ne sont pas du texte, et ce que transportent les autres parties. - Changé sur deux appareils à la fois : les deux versions sont gardées. La plus récente garde le nom ; l’autre est gardée à côté, sous le nom « bail (conflict 2026-10-05 16.05).md », sur chaque appareil, et le panneau le dit pendant un jour. Gardez celle que vous voulez, ou fusionnez-les à la main. La page des notes fait de même quand vous enregistrez une note qui a changé sur un autre appareil pendant qu’elle était ouverte.
- Une copie plus ancienne remise à la main (une sauvegarde restaurée avec ses anciennes dates) ne défait pas les changements de vos autres appareils : la version la plus récente revient, la copie ancienne gardée à côté, et le panneau le dit. Pour envoyer une version plus ancienne, utilisez Remettre, plus bas.
- Retiré : une note effacée sur un appareil part des autres dix minutes plus tard (elle est peut-être en train de revenir), gardée là-bas parmi les versions précédentes, au cas où, comme une copie : sa copie scellée quitte alors le dossier de partage dès que chacun de vos appareils a lu qu’elle était effacée. Sur Android, cette copie prend de la place (vos notes et le stockage propre de Sioul sont séparés) : un grand effacement est donc gardé par parties, sur quelques échanges.
- Beaucoup effacés d’un coup : si beaucoup de fichiers quittent un dossier d’un coup (effacés en nombre, un dossier déplacé dans les notes), vos autres appareils les gardent deux semaines. Le Porche le dit une fois, calmement : combien sont partis, de quels dossiers, quand, et quand ils partent, avec Les remettre (chacun revient à sa place, daté comme il l’était ; un fichier écrit là depuis reste tel qu’il est) et Les retirer maintenant (ces fichiers seuls). Rien n’est à presser : deux semaines après le départ de chacun, ils partent d’eux-mêmes de vos autres appareils, à moins d’être revenus. Paramètres ▸ Votre dossier et le partage le dit tant que cela dure, avec les mêmes boutons.
- Un dossier soudain vide, disparu ou illisible (un disque non monté, un accès retiré), ou remplacé par un lien (Sioul ne suit jamais les liens du dossier de notes) : ce n’est pas un effacement. Rien n’en est retiré sur vos autres appareils, aussi longtemps que cela dure, et rien n’y est écrit ; le panneau le dit, avec Les retirer partout pour quand vous l’avez fait exprès. Éteindre puis rallumer Notes remplit à nouveau le dossier depuis vos autres appareils.
- Des noms qu’un téléphone prend pour un seul : deux notes dont les noms ne diffèrent que par la casse ou par la façon d’écrire un accent (« Bail.md » et « bail.md ») sont un seul fichier sur un téléphone : la seconde attend, et le panneau le dit ; renommez-en une.
- La place : rien n’est écrit sans place pour lui, et un peu plus ; une note qui ne tient pas attend, c’est dit, et vient quand il y a de la place.
- Combien de temps restent les versions remplacées : une version remplacée quitte le dossier de partage, et son serveur, deux semaines plus tard (90 jours tant que l’un de vos appareils utilise Sioul 0.0.5 ou plus ancien, qui compte dessus). Un appareil absent plus de deux semaines ne rattrape que la dernière version de chaque fichier : les versions faites entre-temps ont quitté le dossier. Ce qu’il avait avant est gardé là-bas parmi ses versions précédentes. Un appareil que vous avez oublié, ou qu’un nouveau téléphone remplace, ne retient plus rien : ses versions remplacées depuis quittent le dossier deux semaines plus tard, retirées par un appareil à vous qui partage Notes, Papiers et Filtre à indésirables (et SMS, avec un téléphone parmi vos appareils) ; ses derniers enregistrements restent jusqu’à ce que vous choisissiez Retirer ses fichiers (plus bas). Ce que Sioul retire du serveur va dans la corbeille du serveur ; sur certains serveurs (celui de Murena, d’après ses utilisateurs), cela compte dans votre espace tant que la corbeille n’est pas vidée : dans la page web du serveur, Fichiers ▸ Fichiers supprimés, sélectionnez tout, Supprimer définitivement.
- Pas avec un dossier de notes déjà synchronisé : si une application de synchronisation transporte déjà votre dossier de notes sur cet appareil (Nextcloud, Dropbox, Syncthing), Sioul refuse de le transporter aussi, et dit pourquoi : deux transporteurs déferaient les changements l’un de l’autre. Sur un téléphone, Sioul ne peut pas lire les réglages de l’application de synchronisation : il vous le demande avant d’activer Notes ou Papiers, et tant que vous ne l’avez pas dit, compte comme transporté un dossier de notes dans le même dossier de premier niveau que celui du partage (Documents…), avec un bouton pour dire qu’aucune application ne le transporte. Votre réponse vaut pour ce dossier de notes : déplacez les notes ailleurs, et Sioul demande de nouveau. Déplacez les notes dans un dossier qu’aucune synchronisation ne transporte pour que Sioul les transporte, ou laissez-les à cette synchronisation. Sioul ne reconnaît pas toutes les applications de synchronisation (Google Drive, Insync, rclone, MEGA…) : laissez Notes éteint là où l’une d’elles transporte vos notes.
- Sur Android, les notes et les papiers attendent tant que Sioul n’a pas l’accès d’Android à tous vos fichiers (sans lui, Sioul ne verrait que les fichiers qu’il a créés).
Remettre une version précédente¶
Avant qu’un changement venu d’un autre appareil soit écrit dans un fichier ici, ou le retire, Sioul garde le fichier tel qu’il était, sur cet appareil seulement : les 20 dernières versions de chaque fichier, et toutes celles des 30 derniers jours ; pour un fichier effacé depuis, celles des 30 derniers jours ; jamais plus d’un gigaoctet en tout, les plus anciennes partant d’abord. Vos versions d’événements, de tâches et de contacts mises de côté quand ils ont changé ici et sur leur serveur aussi sont gardées comme celles d’un fichier : les 20 dernières, et toutes celles des 30 derniers jours, que l’élément soit encore sur son serveur ou non. Elles ne sont jamais partagées. Une note ou un papier dont la version est encore dans le dossier de partage est gardé comme un renvoi vers elle, pendant 12 jours, plutôt que copié (le dossier garde une version remplacée deux semaines) ; celle qui n’y est plus est copiée. Une note qu’un autre appareil a effacée est gardée comme une copie, déplacée ici, ce qui ne prend aucune place ; sur Android, où elle ne peut pas être déplacée, elle est copiée, par parties sur quelques échanges.
Dans Paramètres ▸ Votre dossier et le partage, Voir les versions précédentes les liste : chaque partie, ses fichiers (le dernier changé d’abord ; tapez une partie d’un nom pour en trouver de plus anciens), et sous un fichier ses versions, avec leur date et leur taille. Remettre dit d’abord ce que cela changerait, puis remet cette version :
- une note, un papier, un brouillon reviennent entiers ; le fichier tel qu’il était juste avant est gardé dans la liste lui aussi : remettre peut se défaire de la même façon ;
- un événement, une tâche ou un contact modifié ici et sur son serveur entre deux synchronisations : la version du serveur a été gardée, et la vôtre est listée ici, sous Vos agendas et contacts, nommée par son titre, sur un téléphone aussi ; remise, elle part vers son serveur par-dessus la version du serveur ;
- un fichier de réglages ou de listes (vos réglages, les prises, le temps noté) revient entrée par entrée : chaque réglage ou marque que la version contenait est remis tel qu’il était, ceux retirés depuis reviennent, et ceux ajoutés depuis restent. Remettre ne retire jamais, sur aucun appareil, ce qui a été ajouté après cette version : une prise notée ce matin reste notée.
L’échange suivant envoie ce qui a été remis à vos autres appareils, comme un changement que vous venez de faire.
Sur un téléphone¶
Sioul pour Android partage de la même façon, par le dossier que l’application de synchronisation de votre téléphone garde sur le téléphone : l’eDrive de Murena, Syncthing, FolderSync, Autosync, l’application de Nextcloud, ou toute application qui garde un dossier du téléphone en accord avec votre cloud (Nextcloud, Dropbox, Google Drive, OneDrive…). Sioul lit le dossier ; il demande seulement que les nouveaux fichiers, et les fichiers qui grandissent, arrivent un jour de l’autre côté.
- Aucune application de synchronisation : un nouveau téléphone rejoint par la connexion de Murena, ou d’un autre Nextcloud, depuis Rejoindre vos autres appareils sur son Porche (un nouvel appareil) ; avec votre compte Nextcloud déjà dans Sioul, choisissez Sioul le tient à jour avec votre Nextcloud quand vous commencez à partager sur le téléphone. Sioul envoie et va chercher alors les fichiers lui-même, et le téléphone n’a besoin ni d’eDrive ni d’une autre application de synchronisation pour le partage (la mise en place).
- Où : certaines applications de synchronisation ne transportent que quelques dossiers. L’eDrive de Murena transporte le dossier Documents de votre cloud (avec Pictures, Music…), pas le reste : partagez par un dossier dans Documents, comme
Documents/Sioul. Sioul en propose un là quand votre dossier synchronisé a un dossier Documents, et le dit quand celui choisi est en dehors. - Sur le téléphone : Paramètres ▸ Votre dossier et le partage, Autoriser l’accès aux fichiers (l’interrupteur d’Android), puis Choisir… le dossier, votre phrase de passe, Partager.
- Les comptes arrivent sans leurs mots de passe : chacun demande le sien une fois, tapé ou depuis Bitwarden.
- Vos notes, vos projets et vos papiers : le téléphone garde son propre dossier de notes, qu’aucune synchronisation ne transporte. Allumez Notes, Projets et argent et Papiers dans le même panneau, sur le téléphone et sur chaque appareil dont le dossier de notes n’est transporté par aucune synchronisation : ils voyagent alors scellés avec le reste, une note à la fois. Sur un ordinateur dont une application de synchronisation transporte déjà le dossier de notes, ils restent éteints : les notes de cet ordinateur n’arrivent sur le téléphone que depuis un dossier qu’aucune synchronisation ne transporte, avec Notes allumé là aussi.
- Le rythme de l’application de synchronisation : celle d’un téléphone n’apporte souvent les changements du cloud que toutes les demi-heures. Quand le dossier est trouvé sur votre Nextcloud, Sioul y lit lui-même les nouvelles de vos autres appareils, chaque minute tant qu’il est ouvert et dès que vous y revenez, et laisse l’application de synchronisation à son rythme. Une note ou un papier changé sur un autre appareil arrive de la même façon : Sioul va l’y chercher dès qu’il en a connaissance, et l’écrit en une minute tant qu’il est ouvert. Sinon, quand l’application offre un moyen de le lui demander (l’eDrive de Murena le fait), Sioul lui demande de regarder tout de suite : après que vous avez noté quelque chose, quand vous revenez dans Sioul, et toutes les cinq minutes tant qu’il est ouvert, pour que ce que vos autres appareils ont noté arrive en une minute. Sans l’un ni l’autre, cela arrive au rythme de l’application, et les prises disent ce que Sioul ne peut pas savoir entre-temps. Ce que le téléphone note part dans l’autre sens tout de suite quand le dossier est trouvé sur votre Nextcloud : Sioul l’y envoie lui-même (envoyé tout de suite).
- Sioul fermé : Sioul garde vos appareils à jour en arrière-plan, avec une notification discrète. Toutes les quelques minutes (toutes les deux minutes quand Sioul tourne sur l’un de vos autres appareils, toutes les quinze pendant votre sommeil ; la nuit, un ordinateur resté allumé sans personne devant ne compte pas, sauf si une prise est due et pas encore notée), il lit lui-même les nouvelles de vos autres appareils sur votre Nextcloud, quand le dossier y est trouvé, sans rien demander à l’application de synchronisation, pour que le téléphone dorme entre deux regards ; sinon, il lui demande de regarder. Il lit aussi ce qu’elle apporte dès que c’est écrit : « Ne pas déranger » activé sur votre ordinateur suit en quelques minutes (Ne pas déranger sur tous vos appareils). Désactivé, les changements arrivent quand vous ouvrez Sioul.
- Les prises quand Sioul n’est pas à l’écran : chaque prise à venir est confiée d’avance au réveil d’Android. À son heure, Sioul lit d’abord les nouvelles de vos autres appareils : sur votre Nextcloud lui-même quand le dossier y est trouvé ; sinon, ou quand cela n’aboutit pas en quelques secondes, auprès de l’application de synchronisation, à qui il laisse vingt secondes pour les apporter. Puis il vous la rappelle, ou non si un autre appareil l’a notée prise, ou avec « vérifiez d’abord » s’il ne peut pas savoir : hors ligne, sans nouvelles lues depuis l’heure de la prise, c’est le cas même pour un appareil connu fermé.
- Les fichiers gardés en ligne seulement : si votre application de synchronisation garde les fichiers sur le serveur jusqu’à ce que vous les ouvriez (OneDrive, Google Drive, iCloud, les « fichiers virtuels » de Nextcloud), réglez le dossier de partage pour qu’il reste toujours sur cet appareil.
- Ce qui n’est jamais nécessaire : les effacements (l’eDrive n’efface jamais d’un côté ce qui a été effacé de l’autre : les anciens fichiers que Sioul retire restent, et ne sont pas relus) ; et rien de ce qu’elle met de côté, comme les copies en conflit, n’est lu.
Certaines choses, un appareil à la fois¶
- Les médicaments ne sont rappelés que par l’appareil que vous utilisez, pour qu’une prise ne soit pas rappelée deux fois. Une prise notée part tout de suite vers les autres.
- La notification regroupée des sites vient sur l’appareil où vous êtes.
- Les factures sont numérotées sur un seul appareil, pour qu’un numéro ne soit jamais donné deux fois. Un autre appareil dit où elles se font, et propose Faire les factures sur cet appareil. Un appareil qui les numérote et dont on n’a pas de nouvelles (sa synchronisation arrêtée, ou en retard sur un téléphone) les garde, jusqu’à ce qu’on en ait, qu’il ferme Sioul, ou qu’une journée passe sans nouvelles de lui. Voir Le temps et les factures.
Pas encore là¶
Des tailles arrondies par paliers, et les notes des appareils scellées aussi, pour que le dossier en dise encore moins ; un serveur de base de données au lieu d’un dossier, pour qui en préfère un ; les brouillons dans le dossier Brouillons de votre serveur de courriel, pour que d’autres programmes de courriel les voient ; les téléphones autres qu’Android. Le format est simple et documenté (les notes de conception, en anglais), pour qu’ils puissent venir.
Côté technique¶
- Les enregistrements sont scellés avec XChaCha20-Poly1305 (RustCrypto), un nonce aléatoire de 192 bits chacun. Les données associées lient chaque enregistrement à son appareil, à son tour, à sa place dans le fichier et à son horloge : un enregistrement déplacé, remis dans un autre ordre ou copié dans le fichier d’un autre appareil ne s’ouvre pas.
- La clé : Argon2id v1.3, 64 Mio, 3 passes, 1 voie, un sel aléatoire de 16 octets, et une valeur de contrôle scellée sous la clé, le tout dans le
seal.tomldu dossier. Un sceau qui demande plus de 1 Gio ou 16 passes est refusé, pour qu’un dossier falsifié ne puisse pas faire dépenser à un appareil une mémoire sans limite. Le trousseau de chaque appareil garde la clé de 256 bits ; la phrase de passe, d’au moins 12 caractères, n’est gardée nulle part. - Les notes et les papiers : HKDF-SHA-256 en tire une clé de scellement et une clé de nommage. Un fichier est compressé en gzip, puis scellé en morceaux de 1 Mio, chacun lié au nom du fichier, à son rang et au fait qu’il soit le dernier, pour qu’on ne puisse ni échanger, ni couper, ni ajouter de morceaux. Les noms sont un HMAC-SHA-256 de l’empreinte du contenu, pour que deux fichiers égaux dans deux dossiers ne puissent pas être rapprochés. Un fichier doit s’ouvrir en entier et correspondre à son enregistrement avant de remplacer quoi que ce soit, et l’ouverture s’arrête à 64 Mio, quelle que soit la taille compressée annoncée.
- L’ordre : une horloge logique hybride, le changement le plus récent l’emportant entrée par entrée.
- L’écriture depuis le dossier ne passe jamais par un lien, ni hors du dossier propre à la partie, ni en clair dans le dossier de partage, ni dans l’état propre à Sioul.
- Depuis un serveur Nextcloud : WebDAV en HTTPS seulement, jamais redirigé, avec le mot de passe de ce compte pris dans le trousseau pour chaque requête ; un dossier n’y est lu que si son
seal.tomlest celui de ce dossier, octet pour octet. - Vers un serveur Nextcloud : les fichiers de cet appareil seulement, chacun par un
PUTavecIf-Matchson ETag tel que vu la dernière fois (If-None-Match: *là où il n’y en avait pas),X-OC-MtimeetOC-Checksum: SHA1:…; refusé (412), la copie du serveur est regardée et tenue pour envoyée quand elle est la même (taille et somme de contrôle, sinon ses octets). Un fichier d’enregistrements ne part jamais plus court. - La version : la version et le commit de chaque appareil, dans son entrée scellée, et scellés dans la première ligne de chaque lot de ses enregistrements ; le serveur ne les apprend jamais.
- Non scellé : la petite note de chaque appareil (quand il a échangé pour la dernière fois, jusqu’où il a lu les autres), les tailles et les heures. Les tailles arrondies par paliers ne sont pas encore faites.
- Le format : les notes de conception (en anglais).