Synchroniser une base dans les deux sens
La règle cellule par cellule, les quatre politiques de conflit à choisir, la file « Me demander », et ce que la synchro ne garantit pas.
Sur cette page
Sections de l’aide
Dans les deux sens, Filarr et la base externe peuvent changer la même ligne. La synchro compare chaque cellule avec la dernière valeur sur laquelle les deux côtés étaient d'accord, et décide.
La synchro planifiée est offerte à partir de Solo. Il faut une clé qui peut écrire dans la source (voir Connecteurs de bases externes).
La règle, cellule par cellule
| la source a changé ? | Filarr a changé ? | ce qui se passe |
|---|---|---|
| non | non | rien |
| oui | non | Filarr prend la valeur de la source |
| non | oui | la source prend la valeur de Filarr |
| oui, vers la même valeur | oui | rien ; la référence avance |
| oui | oui, vers des valeurs différentes | un conflit : la politique de la colonne décide |
« Filarr a changé » veut dire que la cellule elle-même a été écrite depuis, pas que la ligne a été touchée : un appareil qui revient hors ligne avec une vieille modification n'est jamais perdu en silence.
Les quatre politiques
À l'étape Sens et fréquence, sous « Quand la même cellule a changé des deux côtés depuis le dernier passage », vous en choisissez une pour toute la synchro, et au besoin une autre par colonne (Une politique par colonne). Aucune n'est cochée d'office : l'écran ne vous laisse pas continuer tant que vous n'avez pas choisi.
| politique | en cas de conflit | exemple |
|---|---|---|
| La source gagne | Filarr prend la valeur de la source ; celle de Filarr va au journal | la ville d'un client, tenue par la boutique |
| Filarr gagne | la source prend la valeur de Filarr ; celle de la source va au journal | une note interne que vous écrivez dans Filarr |
| Le changement le plus récent gagne | celle qui a changé en dernier gagne | une colonne que les deux côtés modifient rarement en même temps |
| Me demander | rien n'est écrit ; la cellule attend votre décision | un statut qui compte |
« Le changement le plus récent gagne » demande un repère de changement qui soit une date. Limite : le repère date la LIGNE, pas la cellule (une autre colonne changée plus tard dans la source la fait gagner aussi), et il compare les horloges de deux machines.
La file « Me demander »
Un conflit sur une colonne « Me demander » entre dans une file : Filarr garde sa valeur, la source garde la sienne, et le reste de la ligne et de la base continue de se synchroniser. La base l'annonce en tête : « 3 conflits à trancher ».
Le panneau des conflits liste chacun (ligne, colonne, valeur de la source, valeur de Filarr). Pour chacun : Garder la valeur de Filarr ou Prendre celle de la source. Ou tout d'un coup : Tout trancher pour Filarr, Tout trancher pour la source. La décision part, chiffrée, vers l'exécutant, et déclenche un passage.
- Une décision vaut pour les valeurs que vous avez vues. Si un côté a changé depuis : « La valeur a changé depuis votre décision : ce conflit est à trancher de nouveau. »
- Deux personnes tranchent le même conflit : la première décision reçue s'applique ; l'autre lit « Déjà tranché par … le … ».
- File pleine : « N conflits attendent votre décision, et M autres attendent une place dans la file. Ces cellules ne se synchronisent pas en attendant. »
- Changer la politique d'une colonne qui a des conflits en attente vous demande, sans rien choisir pour vous : Trancher les conflits en attente avec la nouvelle règle, ou Les garder à trancher à la main.
On tranche depuis le bureau ou le web. Une base synchronisée est rangée au stockage des grandes bases, que l'appli mobile actuelle n'ouvre pas encore : le téléphone ne montre ni la base ni ses conflits.
Les valeurs perdues
Chaque valeur perdue (un conflit, une valeur remplacée, une décision) est gardée au journal de la synchro. L'écran qui montre ce journal et permet de Rétablir une valeur n'est pas encore dans l'application. Pour une colonne qui compte, préférez Me demander : rien n'y est remplacé sans votre décision.
Les lignes supprimées d'un côté, modifiées de l'autre
Un choix à part, lui aussi sans réglage d'office : La suppression gagne, La modification gagne (la ligne reste), ou Me demander. Dans la file, une telle ligne se tranche par Garder la ligne ou La supprimer.
Ce que la synchro ne garantit pas
- En cas de conflit, un côté perd (au journal) ou la cellule attend : c'est votre choix.
- Pendant qu'un conflit attend, les logiciels qui lisent la source voient sa valeur à elle.
- Airtable, Google Sheets et Notion ne savent pas écrire « seulement si la valeur n'a pas changé » : une fenêtre de moins d'une seconde subsiste, où un changement fait à cet instant dans la source peut être écrasé (et gardé au journal). D1, PostgreSQL, MySQL et Supabase n'ont pas cette fenêtre.
- Une source qui arrondit ou reformate une valeur (une date, un nombre) : la synchro relit et reprend la valeur de la source ; une colonne qui change ainsi à chaque passage cesse de partir, et l'état le dit.
Bonnes pratiques
- Une clé de ligne stable, jamais réutilisée.
- Un repère tenu par la base elle-même (un déclencheur qui met
maj_leà jour à chaque modification). - Une clé d'accès limitée aux tables utiles.
Pour aller plus loin
- Alimenter une base depuis une base externe
- La règle en détail, avec ses garanties : github.com/filarr-work/filarr-gate.