Aller au contenu

Synchronisation

Quand vous travaillez hors ligne, Scripvio enregistre les changements dans une file d’attente locale (SQLite sur l’appareil). Dès que le réseau revient, l’application vide automatiquement cette file vers le serveur — sans action manuelle dans la plupart des cas.

Mode hors ligne · FAQ hors ligne


sequenceDiagram
participant A as App
participant L as File locale
participant S as Serveur
Note over A: Perte réseau
A->>L: Notes, journal, suivi en file
Note over A: Réseau détecté
A->>A: Bandeau Synchronisation…
A->>S: flushOfflineQueue (notes)
A->>S: flushOfflineQueue (journal)
A->>S: flushOfflineQueue (suivi)
S-->>A: IDs serveur, ACK
A->>L: File vidée ou réduite
ÉvénementComportement
Modification en localCompteur file +1 — bandeau Des modifications attendent… si en ligne sans sync
Retour réseauBandeau Synchronisation avec le serveur… puis envoi
Fin réussieBandeau disparaît (file = 0)
Échec partiel / totalÉchec de la synchronisation… — file conservée, nouvel essai au prochain online

L’app écoute les changements de connectivité (connectivity_plus) en continu.


La file agrège plusieurs types d’opérations en attente :

DomaineExemples d’opérations
NotesCréations (local_…), patches, suppressions
SectionsCréation, mise à jour, réordonnancement
Références noteVersets structurés (local_verse_…)
JournalCréations, modifications, publication en attente
SuiviLectures, prières, méditations créées ou modifiées
Rappels (préférences)Sauvegarde reportée si API indisponible

Un seul bandeau global reflète la somme de ces files (pas un compteur par type dans l’UI).


PrincipeDétail
Flush séquentielNotes → journal → suivi (à chaque reconnexion)
Création avant patchUne note local_… est créée sur le serveur avant les patches qui en dépendent
Échec réseauLes lignes restent en file (treatDioFailureAsDeferredSync : timeout, 5xx, pas de réseau)
Annulation requêteNe met pas en file par défaut

Vous n’avez pas à gérer l’ordre manuellement ; l’app et le serveur gèrent les dépendances (ex. accusé de réception des modifications).


EffetOù vous le voyez
local_… → id serveurListes Créer, éditeurs
Publication en attente appliquéeEntrée apparaît en Bibliothèque après refresh
Suivi dashboardRafraîchi (graphique, calendrier)
Références en attenteBadges « en attente » retirés

Selon vos Notifications compte :

  • Push : peut signaler fin de sync ou échec (selon configuration serveur / Firebase) ;
  • E-mail : récapitulatif possible après sync (évolution produit).

Les rappels personnels Suivi sont locaux — indépendants de cette sync contenu.

Notifications


Action hors ligneMessage utilisateurAprès sync
Publier une notePublication mise en attente (hors ligne).Note publiée en Bibliothèque
Publier journalPublication mise en attente (hors ligne).Entrée journal publiée

Tant que la publication n’est pas confirmée côté serveur, la Bibliothèque peut ne pas afficher le contenu comme publié.


SituationRisque
Même note modifiée sur téléphone A (offline) et tablette B (online)Conflit possible — dernière sync ou règles serveur
Lecture seule sur B pendant travail sur AB voit l’ancienne version jusqu’à sync A

SymptômeCause probableActions
Bandeau Échec de la synchronisation…API 5xx, timeout, réseau instableRester en ligne ; rouvrir l’app
File qui ne descend pasErreur récurrente sur un itemNoter le message ; support
Données toujours visibles localementNormalRien n’est « perdu » sur l’appareil tant que vous ne vous déconnectez pas
Après déconnexion forcée offlineDialogue avertissementConfirmer seulement si vous acceptez la perte locale

Les tooltips éditeur peuvent afficher En attente de synchronisation ou Échec de synchro — toujours enregistré sur cet appareil sur certains versets.


ActionLien avec la sync
Export PDFPropose Synchroniser avant l’export si file non vide
Recherche → Ajouter versetNécessite note/journal déjà sur serveur
Lien Suivi ↔ journalAprès ids serveur stables
Refresh profilPull profil = réseau

À la déconnexion, Scripvio peut effacer le cache et la file locale de cet appareil (surtout si vous confirmez hors ligne avec données non sync).

À la connexion sur un nouvel appareil : téléchargement des données compte + cache initial (event types, etc.).

Profil


IndicateurÉtat « OK »
Bandeau offline/syncAbsent
Note local_…Remplacée par id numérique / UUID serveur
PublicationVisible en Bibliothèque
PDF exportAccepté sans dialogue de sync préalable

Si le bandeau En attente persiste en ligne : laissez l’app au premier plan quelques instants ou rouvrez l’application.


Puis-je synchroniser manuellement ?
Pas de bouton dédié dans l’UI actuelle — la reconnexion et l’ouverture de l’app relancent le flush.

Combien de temps garde-t-on la file ?
Jusqu’à succès, déconnexion (purge), ou réinstallation.

La sync utilise-t-elle beaucoup de données ?
Envoie les changements (JSON), pas tout le catalogue — raisonnable sur mobile.

Sync en arrière-plan iOS/Android ?
Dépend des OS ; rouvrir Scripvio après le réseau est le plus fiable.


SujetLien
Mode hors ligneMode hors ligne
FAQHors ligne et sync
NotesBrouillon et publication
BibliothèqueBrouillons et publiés