Skip to content

Commit 17e986b

Browse files
authored
Revise README for data synchronization clarity
Updated the README to clarify the synchronization process, including detailed steps for upload and download operations. Removed redundant sections and improved overall structure.
1 parent 172fe30 commit 17e986b

File tree

1 file changed

+49
-41
lines changed

1 file changed

+49
-41
lines changed

src/core/usecases/synchronizeData/README.md

Lines changed: 49 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,63 @@
22

33
Ce module gère la synchronisation des données entre le client et le serveur via deux opérations principales :
44

5-
- **download** : Téléchargement des données du serveur vers le client.
65
- **upload** : Envoi des données locales du client vers le serveur.
6+
- **download** : Téléchargement des données du serveur vers le client.
77

88
Chaque étape de la synchronisation est suivie par des actions Redux pour permettre le suivi de la progression et la gestion des états.
99

10+
Dans l'ordre:
11+
1. **upload**
12+
2. **download**
13+
14+
(**upload** appel la fonction **download** quand **upload** est bien terminée)
15+
16+
---
17+
18+
### 1. Envoi (`upload`)
19+
20+
#### a. Initialisation
21+
22+
- Vérifie que la synchronisation n’est pas déjà en cours.
23+
- Déclenche l’action `runningUpload`.
24+
- Initialise le stockage local pour la synchronisation.
25+
26+
#### b. Envoi des interrogations
27+
28+
- Récupère toutes les interrogations locales.
29+
- Pour chaque interrogation :
30+
- Tente de l’envoyer via l’API.
31+
- **Gestion d’erreur** :
32+
- Si le serveur répond 423, considère comme succès.
33+
- Si le serveur répond 400, 403, 404 ou 500 :
34+
- Tente de l’envoyer dans une zone temporaire.
35+
- Marque l’interrogation comme envoyée en zone temporaire.
36+
- Supprime le paradata associé.
37+
- Si l’envoi en zone temporaire échoue, log l’erreur et arrête la synchronisation.
38+
- Pour toute autre erreur, log et arrête la synchronisation.
39+
- Supprime l’interrogation locale après envoi (succès ou zone temporaire).
40+
- Déclenche l’action de progression.
41+
42+
#### c. Envoi des paradata (si la télémétrie n’est pas désactivée)
43+
44+
- Récupère tous les paradata locaux non supprimés.
45+
- Pour chaque paradata :
46+
- Tente de l’envoyer via l’API.
47+
- Supprime le paradata local après envoi.
48+
- Déclenche l’action de progression.
49+
- **Gestion d’erreur** : Log l’erreur en cas d’échec, mais continue la synchronisation.
50+
51+
#### d. Finalisation
52+
53+
- Déclenche l’action `uploadCompleted`.
54+
- lance un téléchargement pour rafraîchir les données locales.
55+
- **Gestion d’erreur globale** : Si une erreur non gérée survient, marque une erreur dans le stockage local et déclenche l’action `uploadError`.
56+
1057
---
1158

1259
## Fonctionnement étape par étape
1360

14-
### 1. Téléchargement (`download`)
61+
### 2. Téléchargement (`download`)
1562

1663
#### a. Initialisation
1764

@@ -57,46 +104,7 @@ Chaque étape de la synchronisation est suivie par des actions Redux pour permet
57104
- Déclenche l’action `downloadCompleted`.
58105
- **Gestion d’erreur globale** : Si une erreur non gérée survient, log l’erreur, marque une erreur dans le stockage local, et déclenche l’action `downloadFailed`.
59106

60-
---
61-
62-
### 2. Envoi (`upload`)
63-
64-
#### a. Initialisation
65-
66-
- Vérifie que la synchronisation n’est pas déjà en cours.
67-
- Déclenche l’action `runningUpload`.
68-
- Initialise le stockage local pour la synchronisation.
69-
70-
#### b. Envoi des interrogations
71-
72-
- Récupère toutes les interrogations locales.
73-
- Pour chaque interrogation :
74-
- Tente de l’envoyer via l’API.
75-
- **Gestion d’erreur** :
76-
- Si le serveur répond 423, considère comme succès.
77-
- Si le serveur répond 400, 403, 404 ou 500 :
78-
- Tente de l’envoyer dans une zone temporaire.
79-
- Marque l’interrogation comme envoyée en zone temporaire.
80-
- Supprime le paradata associé.
81-
- Si l’envoi en zone temporaire échoue, log l’erreur et arrête la synchronisation.
82-
- Pour toute autre erreur, log et arrête la synchronisation.
83-
- Supprime l’interrogation locale après envoi (succès ou zone temporaire).
84-
- Déclenche l’action de progression.
85-
86-
#### c. Envoi des paradata (si la télémétrie n’est pas désactivée)
87-
88-
- Récupère tous les paradata locaux non supprimés.
89-
- Pour chaque paradata :
90-
- Tente de l’envoyer via l’API.
91-
- Supprime le paradata local après envoi.
92-
- Déclenche l’action de progression.
93-
- **Gestion d’erreur** : Log l’erreur en cas d’échec, mais continue la synchronisation.
94-
95-
#### d. Finalisation
96107

97-
- Déclenche l’action `uploadCompleted`.
98-
- Relance un téléchargement pour rafraîchir les données locales.
99-
- **Gestion d’erreur globale** : Si une erreur non gérée survient, marque une erreur dans le stockage local et déclenche l’action `uploadError`.
100108

101109
---
102110

0 commit comments

Comments
 (0)