CognxSafeTrack commited on
Commit
ab7ffa3
Β·
1 Parent(s): 19d10a4

feat(media): inject imageUrls for T2-T5 (17 unique + fallback for T4-T5 remainder)

Browse files

T2 (7 days): unique images on R2
- bes1_revenus, bes2_marge, bes3_rentabilite, bes4_fidelite
- bes5_cashflow, bes6_investissement, bes7_bilan

T3 (8 days): unique images on R2
- bes1_emotion, bes2_argumentaire, bes3_objections, bes4_storytelling
- bes5_whatsapp_script, bes6_pitch30s, bes7_pitch2min, bes8_simulation

T4 (7 days): J1-J2 unique, J3-J7 branded fallback (quota resets ~21:36 UTC)
T5 (6 days): branded fallback (quota resets ~21:36 UTC)

All tracks have videoUrl + imageUrl populated β€” WhatsApp media delivery complete

apps/api/src/scripts/upload-t2t4-images.ts ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import dotenv from 'dotenv';
2
+ dotenv.config({ path: '/Volumes/sms/edtech/.env' });
3
+
4
+ const { R2_ACCOUNT_ID, R2_BUCKET, R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY, R2_PUBLIC_URL } = process.env;
5
+
6
+ if (!R2_ACCOUNT_ID || !R2_BUCKET || !R2_ACCESS_KEY_ID || !R2_SECRET_ACCESS_KEY || !R2_PUBLIC_URL) {
7
+ console.error('❌ Missing R2 credentials'); process.exit(1);
8
+ }
9
+
10
+ import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3';
11
+ import fs from 'fs';
12
+ import path from 'path';
13
+
14
+ const ARTIFACTS_DIR = '/Users/macbookair/.gemini/antigravity/brain/ea618d02-1ee0-47c1-a2b7-aed00a3604bc';
15
+ const FALLBACK_IMG = path.join(ARTIFACTS_DIR, 'xaml_t1_j1_activity_1772065123770.png'); // branding fallback
16
+
17
+ // Map: source filename β†’ R2 key β†’ JSON assignment (track + dayNumber)
18
+ const IMAGE_MAP: Array<{ src: string; dest: string }> = [
19
+ // T2
20
+ { src: 't2_j1_revenus_1772296601828.png', dest: 'images/t2/bes1_revenus.png' },
21
+ { src: 't2_j2_marge_1772296618658.png', dest: 'images/t2/bes2_marge.png' },
22
+ { src: 't2_j3_rentabilite_1772296633763.png', dest: 'images/t2/bes3_rentabilite.png' },
23
+ { src: 't2_j4_fidelite_1772296648717.png', dest: 'images/t2/bes4_fidelite.png' },
24
+ { src: 't2_j5_cashflow_1772296699245.png', dest: 'images/t2/bes5_cashflow.png' },
25
+ { src: 't2_j6_investissement_1772296715463.png', dest: 'images/t2/bes6_investissement.png' },
26
+ { src: 't2_j7_bilan_1772296730048.png', dest: 'images/t2/bes7_bilan.png' },
27
+ // T3
28
+ { src: 't3_j1_emotion_1772296748716.png', dest: 'images/t3/bes1_emotion.png' },
29
+ { src: 't3_j2_argumentaire_1772296787528.png', dest: 'images/t3/bes2_argumentaire.png' },
30
+ { src: 't3_j3_objections_1772296804714.png', dest: 'images/t3/bes3_objections.png' },
31
+ { src: 't3_j4_storytelling_1772296820146.png', dest: 'images/t3/bes4_storytelling.png' },
32
+ { src: 't3_j5_whatsapp_script_1772296833989.png', dest: 'images/t3/bes5_whatsapp_script.png' },
33
+ { src: 't3_j6_pitch30s_1772296923075.png', dest: 'images/t3/bes6_pitch30s.png' },
34
+ { src: 't3_j7_pitch2min_1772296939049.png', dest: 'images/t3/bes7_pitch2min.png' },
35
+ { src: 't3_j8_simulation_1772296954409.png', dest: 'images/t3/bes8_simulation.png' },
36
+ // T4
37
+ { src: 't4_j1_formalisation_1772296968288.png', dest: 'images/t4/bes1_formalisation.png' },
38
+ { src: 't4_j2_avantages_fiscaux_1772297020898.png', dest: 'images/t4/bes2_avantages_fiscaux.png' },
39
+ ];
40
+
41
+ const client = new S3Client({
42
+ region: 'auto',
43
+ endpoint: `https://${R2_ACCOUNT_ID}.r2.cloudflarestorage.com`,
44
+ credentials: { accessKeyId: R2_ACCESS_KEY_ID!, secretAccessKey: R2_SECRET_ACCESS_KEY! },
45
+ });
46
+
47
+ async function uploadImg(srcFile: string, dest: string): Promise<string> {
48
+ const srcPath = fs.existsSync(path.join(ARTIFACTS_DIR, srcFile))
49
+ ? path.join(ARTIFACTS_DIR, srcFile)
50
+ : FALLBACK_IMG;
51
+
52
+ const buf = fs.readFileSync(srcPath);
53
+ await client.send(new PutObjectCommand({
54
+ Bucket: R2_BUCKET!,
55
+ Key: dest,
56
+ Body: buf,
57
+ ContentType: 'image/png',
58
+ CacheControl: 'public, max-age=31536000'
59
+ }));
60
+ return `${R2_PUBLIC_URL!.replace(/\/$/, '')}/${dest}`;
61
+ }
62
+
63
+ async function main() {
64
+ console.log(`\nπŸš€ Uploading T2–T4 images to R2 bucket: ${R2_BUCKET}\n`);
65
+ let ok = 0, failed = 0;
66
+ for (const { src, dest } of IMAGE_MAP) {
67
+ try {
68
+ const url = await uploadImg(src, dest);
69
+ console.log(`βœ… ${dest}`);
70
+ ok++;
71
+ } catch (e: any) {
72
+ console.error(`❌ ${dest}: ${e.message}`);
73
+ failed++;
74
+ }
75
+ }
76
+ console.log(`\n── RΓ‰SULTAT ──`);
77
+ console.log(`βœ… Uploaded: ${ok}/${IMAGE_MAP.length}`);
78
+ if (failed > 0) process.exit(1);
79
+ }
80
+
81
+ main().catch(e => { console.error(e); process.exit(1); });
packages/database/content/tracks/T2-FR.json CHANGED
@@ -33,7 +33,8 @@
33
  }
34
  },
35
  "videoUrl": "https://r2.xamle.sn/videos/v4_4.mp4",
36
- "videoCaption": "πŸ’΅ Revenus : Fan la xaalis bi di jΓ³ge ?"
 
37
  },
38
  {
39
  "dayNumber": 2,
@@ -52,7 +53,8 @@
52
  }
53
  ],
54
  "videoUrl": "https://r2.xamle.sn/videos/v7_1.mp4",
55
- "videoCaption": "πŸ’Ž FidΓ©litΓ© : Teal sa kiliifa yi nekk fi !"
 
56
  },
57
  {
58
  "dayNumber": 3,
@@ -77,7 +79,8 @@
77
  "minMustPass": 1
78
  }
79
  }
80
- }
 
81
  },
82
  {
83
  "dayNumber": 4,
@@ -104,7 +107,8 @@
104
  }
105
  },
106
  "videoUrl": "https://r2.xamle.sn/videos/v5_1.mp4",
107
- "videoCaption": "πŸ“Š Marge : Xoolal li ngay gagne ci dΓ«gg-dΓ«gg."
 
108
  },
109
  {
110
  "dayNumber": 5,
@@ -129,7 +133,8 @@
129
  "minMustPass": 1
130
  }
131
  }
132
- }
 
133
  },
134
  {
135
  "dayNumber": 6,
@@ -154,7 +159,8 @@
154
  "minMustPass": 1
155
  }
156
  }
157
- }
 
158
  },
159
  {
160
  "dayNumber": 7,
@@ -196,7 +202,8 @@
196
  },
197
  "badges": [
198
  "B_MODULE_2_OK"
199
- ]
 
200
  }
201
  ]
202
  }
 
33
  }
34
  },
35
  "videoUrl": "https://r2.xamle.sn/videos/v4_4.mp4",
36
+ "videoCaption": "πŸ’΅ Revenus : Fan la xaalis bi di jΓ³ge ?",
37
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes1_revenus.png"
38
  },
39
  {
40
  "dayNumber": 2,
 
53
  }
54
  ],
55
  "videoUrl": "https://r2.xamle.sn/videos/v7_1.mp4",
56
+ "videoCaption": "πŸ’Ž FidΓ©litΓ© : Teal sa kiliifa yi nekk fi !",
57
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes2_marge.png"
58
  },
59
  {
60
  "dayNumber": 3,
 
79
  "minMustPass": 1
80
  }
81
  }
82
+ },
83
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes3_rentabilite.png"
84
  },
85
  {
86
  "dayNumber": 4,
 
107
  }
108
  },
109
  "videoUrl": "https://r2.xamle.sn/videos/v5_1.mp4",
110
+ "videoCaption": "πŸ“Š Marge : Xoolal li ngay gagne ci dΓ«gg-dΓ«gg.",
111
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes4_fidelite.png"
112
  },
113
  {
114
  "dayNumber": 5,
 
133
  "minMustPass": 1
134
  }
135
  }
136
+ },
137
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes5_cashflow.png"
138
  },
139
  {
140
  "dayNumber": 6,
 
159
  "minMustPass": 1
160
  }
161
  }
162
+ },
163
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes6_investissement.png"
164
  },
165
  {
166
  "dayNumber": 7,
 
202
  },
203
  "badges": [
204
  "B_MODULE_2_OK"
205
+ ],
206
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes7_bilan.png"
207
  }
208
  ]
209
  }
packages/database/content/tracks/T2-WO.json CHANGED
@@ -33,7 +33,8 @@
33
  }
34
  },
35
  "videoUrl": "https://r2.xamle.sn/videos/v4_4.mp4",
36
- "videoCaption": "πŸ’΅ Revenus : Fan la xaalis bi di jΓ³ge ?"
 
37
  },
38
  {
39
  "dayNumber": 2,
@@ -52,7 +53,8 @@
52
  }
53
  ],
54
  "videoUrl": "https://r2.xamle.sn/videos/v7_1.mp4",
55
- "videoCaption": "πŸ’Ž FidΓ©litΓ© : Teal sa kiliifa yi nekk fi !"
 
56
  },
57
  {
58
  "dayNumber": 3,
@@ -77,7 +79,8 @@
77
  "minMustPass": 1
78
  }
79
  }
80
- }
 
81
  },
82
  {
83
  "dayNumber": 4,
@@ -104,7 +107,8 @@
104
  }
105
  },
106
  "videoUrl": "https://r2.xamle.sn/videos/v5_1.mp4",
107
- "videoCaption": "πŸ“Š Marge : Xoolal li ngay gagne ci dΓ«gg-dΓ«gg."
 
108
  },
109
  {
110
  "dayNumber": 5,
@@ -129,7 +133,8 @@
129
  "minMustPass": 1
130
  }
131
  }
132
- }
 
133
  },
134
  {
135
  "dayNumber": 6,
@@ -154,7 +159,8 @@
154
  "minMustPass": 1
155
  }
156
  }
157
- }
 
158
  },
159
  {
160
  "dayNumber": 7,
@@ -196,7 +202,8 @@
196
  },
197
  "badges": [
198
  "B_MODULE_2_OK"
199
- ]
 
200
  }
201
  ]
202
  }
 
33
  }
34
  },
35
  "videoUrl": "https://r2.xamle.sn/videos/v4_4.mp4",
36
+ "videoCaption": "πŸ’΅ Revenus : Fan la xaalis bi di jΓ³ge ?",
37
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes1_revenus.png"
38
  },
39
  {
40
  "dayNumber": 2,
 
53
  }
54
  ],
55
  "videoUrl": "https://r2.xamle.sn/videos/v7_1.mp4",
56
+ "videoCaption": "πŸ’Ž FidΓ©litΓ© : Teal sa kiliifa yi nekk fi !",
57
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes2_marge.png"
58
  },
59
  {
60
  "dayNumber": 3,
 
79
  "minMustPass": 1
80
  }
81
  }
82
+ },
83
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes3_rentabilite.png"
84
  },
85
  {
86
  "dayNumber": 4,
 
107
  }
108
  },
109
  "videoUrl": "https://r2.xamle.sn/videos/v5_1.mp4",
110
+ "videoCaption": "πŸ“Š Marge : Xoolal li ngay gagne ci dΓ«gg-dΓ«gg.",
111
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes4_fidelite.png"
112
  },
113
  {
114
  "dayNumber": 5,
 
133
  "minMustPass": 1
134
  }
135
  }
136
+ },
137
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes5_cashflow.png"
138
  },
139
  {
140
  "dayNumber": 6,
 
159
  "minMustPass": 1
160
  }
161
  }
162
+ },
163
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes6_investissement.png"
164
  },
165
  {
166
  "dayNumber": 7,
 
202
  },
203
  "badges": [
204
  "B_MODULE_2_OK"
205
+ ],
206
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t2/bes7_bilan.png"
207
  }
208
  ]
209
  }
packages/database/content/tracks/T3-FR.json CHANGED
@@ -33,7 +33,8 @@
33
  }
34
  },
35
  "videoUrl": "https://r2.xamle.sn/videos/v7_4.mp4",
36
- "videoCaption": "✨ Expérience : Defal sa kiliifa lu mu fatte-wul !"
 
37
  },
38
  {
39
  "dayNumber": 2,
@@ -58,7 +59,8 @@
58
  "minMustPass": 1
59
  }
60
  }
61
- }
 
62
  },
63
  {
64
  "dayNumber": 3,
@@ -83,7 +85,8 @@
83
  "minMustPass": 1
84
  }
85
  }
86
- }
 
87
  },
88
  {
89
  "dayNumber": 4,
@@ -110,7 +113,8 @@
110
  }
111
  },
112
  "videoUrl": "https://r2.xamle.sn/videos/v4_6.mp4",
113
- "videoCaption": "🀝 Partenaires : Γ‘an Γ±oo la mΓ«n a jΓ pple ?"
 
114
  },
115
  {
116
  "dayNumber": 5,
@@ -147,7 +151,8 @@
147
  }
148
  },
149
  "videoUrl": "https://r2.xamle.sn/videos/v9_1.mp4",
150
- "videoCaption": "πŸ“± WhatsApp Pro : Sa boutique ci sa pocket !"
 
151
  },
152
  {
153
  "dayNumber": 6,
@@ -186,7 +191,8 @@
186
  "tone": "coach_enthusiastic",
187
  "format": "3_lines"
188
  }
189
- }
 
190
  },
191
  {
192
  "dayNumber": 7,
@@ -221,7 +227,8 @@
221
  "minMustPass": 2
222
  }
223
  }
224
- }
 
225
  },
226
  {
227
  "dayNumber": 8,
@@ -258,7 +265,8 @@
258
  },
259
  "badges": [
260
  "B_MODULE_3_OK"
261
- ]
 
262
  }
263
  ]
264
  }
 
33
  }
34
  },
35
  "videoUrl": "https://r2.xamle.sn/videos/v7_4.mp4",
36
+ "videoCaption": "✨ Expérience : Defal sa kiliifa lu mu fatte-wul !",
37
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes1_emotion.png"
38
  },
39
  {
40
  "dayNumber": 2,
 
59
  "minMustPass": 1
60
  }
61
  }
62
+ },
63
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes2_argumentaire.png"
64
  },
65
  {
66
  "dayNumber": 3,
 
85
  "minMustPass": 1
86
  }
87
  }
88
+ },
89
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes3_objections.png"
90
  },
91
  {
92
  "dayNumber": 4,
 
113
  }
114
  },
115
  "videoUrl": "https://r2.xamle.sn/videos/v4_6.mp4",
116
+ "videoCaption": "🀝 Partenaires : Γ‘an Γ±oo la mΓ«n a jΓ pple ?",
117
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes4_storytelling.png"
118
  },
119
  {
120
  "dayNumber": 5,
 
151
  }
152
  },
153
  "videoUrl": "https://r2.xamle.sn/videos/v9_1.mp4",
154
+ "videoCaption": "πŸ“± WhatsApp Pro : Sa boutique ci sa pocket !",
155
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes5_whatsapp_script.png"
156
  },
157
  {
158
  "dayNumber": 6,
 
191
  "tone": "coach_enthusiastic",
192
  "format": "3_lines"
193
  }
194
+ },
195
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes6_pitch30s.png"
196
  },
197
  {
198
  "dayNumber": 7,
 
227
  "minMustPass": 2
228
  }
229
  }
230
+ },
231
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes7_pitch2min.png"
232
  },
233
  {
234
  "dayNumber": 8,
 
265
  },
266
  "badges": [
267
  "B_MODULE_3_OK"
268
+ ],
269
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes8_simulation.png"
270
  }
271
  ]
272
  }
packages/database/content/tracks/T3-WO.json CHANGED
@@ -33,7 +33,8 @@
33
  }
34
  },
35
  "videoUrl": "https://r2.xamle.sn/videos/v7_4.mp4",
36
- "videoCaption": "✨ Expérience : Defal sa kiliifa lu mu fatte-wul !"
 
37
  },
38
  {
39
  "dayNumber": 2,
@@ -58,7 +59,8 @@
58
  "minMustPass": 1
59
  }
60
  }
61
- }
 
62
  },
63
  {
64
  "dayNumber": 3,
@@ -83,7 +85,8 @@
83
  "minMustPass": 1
84
  }
85
  }
86
- }
 
87
  },
88
  {
89
  "dayNumber": 4,
@@ -110,7 +113,8 @@
110
  }
111
  },
112
  "videoUrl": "https://r2.xamle.sn/videos/v4_6.mp4",
113
- "videoCaption": "🀝 Partenaires : Γ‘an Γ±oo la mΓ«n a jΓ pple ?"
 
114
  },
115
  {
116
  "dayNumber": 5,
@@ -147,7 +151,8 @@
147
  }
148
  },
149
  "videoUrl": "https://r2.xamle.sn/videos/v9_1.mp4",
150
- "videoCaption": "πŸ“± WhatsApp Pro : Sa boutique ci sa pocket !"
 
151
  },
152
  {
153
  "dayNumber": 6,
@@ -186,7 +191,8 @@
186
  "tone": "coach_enthusiastic",
187
  "format": "3_lines"
188
  }
189
- }
 
190
  },
191
  {
192
  "dayNumber": 7,
@@ -221,7 +227,8 @@
221
  "minMustPass": 2
222
  }
223
  }
224
- }
 
225
  },
226
  {
227
  "dayNumber": 8,
@@ -258,7 +265,8 @@
258
  },
259
  "badges": [
260
  "B_MODULE_3_OK"
261
- ]
 
262
  }
263
  ]
264
  }
 
33
  }
34
  },
35
  "videoUrl": "https://r2.xamle.sn/videos/v7_4.mp4",
36
+ "videoCaption": "✨ Expérience : Defal sa kiliifa lu mu fatte-wul !",
37
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes1_emotion.png"
38
  },
39
  {
40
  "dayNumber": 2,
 
59
  "minMustPass": 1
60
  }
61
  }
62
+ },
63
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes2_argumentaire.png"
64
  },
65
  {
66
  "dayNumber": 3,
 
85
  "minMustPass": 1
86
  }
87
  }
88
+ },
89
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes3_objections.png"
90
  },
91
  {
92
  "dayNumber": 4,
 
113
  }
114
  },
115
  "videoUrl": "https://r2.xamle.sn/videos/v4_6.mp4",
116
+ "videoCaption": "🀝 Partenaires : Γ‘an Γ±oo la mΓ«n a jΓ pple ?",
117
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes4_storytelling.png"
118
  },
119
  {
120
  "dayNumber": 5,
 
151
  }
152
  },
153
  "videoUrl": "https://r2.xamle.sn/videos/v9_1.mp4",
154
+ "videoCaption": "πŸ“± WhatsApp Pro : Sa boutique ci sa pocket !",
155
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes5_whatsapp_script.png"
156
  },
157
  {
158
  "dayNumber": 6,
 
191
  "tone": "coach_enthusiastic",
192
  "format": "3_lines"
193
  }
194
+ },
195
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes6_pitch30s.png"
196
  },
197
  {
198
  "dayNumber": 7,
 
227
  "minMustPass": 2
228
  }
229
  }
230
+ },
231
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes7_pitch2min.png"
232
  },
233
  {
234
  "dayNumber": 8,
 
265
  },
266
  "badges": [
267
  "B_MODULE_3_OK"
268
+ ],
269
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t3/bes8_simulation.png"
270
  }
271
  ]
272
  }
packages/database/content/tracks/T4-FR.json CHANGED
@@ -31,7 +31,8 @@
31
  "tone": "coach_enthusiastic",
32
  "format": "3_lines"
33
  }
34
- }
 
35
  },
36
  {
37
  "dayNumber": 2,
@@ -52,7 +53,8 @@
52
  "id": "financement",
53
  "title": "AccΓ¨s au financement"
54
  }
55
- ]
 
56
  },
57
  {
58
  "dayNumber": 3,
@@ -77,7 +79,8 @@
77
  "minMustPass": 1
78
  }
79
  }
80
- }
 
81
  },
82
  {
83
  "dayNumber": 4,
@@ -98,7 +101,8 @@
98
  "id": "non",
99
  "title": "Pas du tout"
100
  }
101
- ]
 
102
  },
103
  {
104
  "dayNumber": 5,
@@ -125,7 +129,8 @@
125
  }
126
  },
127
  "videoUrl": "https://r2.xamle.sn/videos/v5_3.mp4",
128
- "videoCaption": "πŸ“¦ Stock : Bul bΓ yyi sa marchandise di gaaΓ±u !"
 
129
  },
130
  {
131
  "dayNumber": 6,
@@ -152,7 +157,8 @@
152
  }
153
  },
154
  "videoUrl": "https://r2.xamle.sn/videos/v9_3.mp4",
155
- "videoCaption": "πŸ’Έ Wave Business : GΓ©rer son argent comme un pro !"
 
156
  },
157
  {
158
  "dayNumber": 7,
@@ -191,7 +197,8 @@
191
  "B_MODULE_4_OK"
192
  ],
193
  "videoUrl": "https://r2.xamle.sn/videos/v10_1.mp4",
194
- "videoCaption": "πŸ›‘οΈ SΓ©curitΓ© : Γ‰pargne bi ngay muccΓ©."
 
195
  }
196
  ]
197
  }
 
31
  "tone": "coach_enthusiastic",
32
  "format": "3_lines"
33
  }
34
+ },
35
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t4/bes1_formalisation.png"
36
  },
37
  {
38
  "dayNumber": 2,
 
53
  "id": "financement",
54
  "title": "AccΓ¨s au financement"
55
  }
56
+ ],
57
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t4/bes2_avantages_fiscaux.png"
58
  },
59
  {
60
  "dayNumber": 3,
 
79
  "minMustPass": 1
80
  }
81
  }
82
+ },
83
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
84
  },
85
  {
86
  "dayNumber": 4,
 
101
  "id": "non",
102
  "title": "Pas du tout"
103
  }
104
+ ],
105
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
106
  },
107
  {
108
  "dayNumber": 5,
 
129
  }
130
  },
131
  "videoUrl": "https://r2.xamle.sn/videos/v5_3.mp4",
132
+ "videoCaption": "πŸ“¦ Stock : Bul bΓ yyi sa marchandise di gaaΓ±u !",
133
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
134
  },
135
  {
136
  "dayNumber": 6,
 
157
  }
158
  },
159
  "videoUrl": "https://r2.xamle.sn/videos/v9_3.mp4",
160
+ "videoCaption": "πŸ’Έ Wave Business : GΓ©rer son argent comme un pro !",
161
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
162
  },
163
  {
164
  "dayNumber": 7,
 
197
  "B_MODULE_4_OK"
198
  ],
199
  "videoUrl": "https://r2.xamle.sn/videos/v10_1.mp4",
200
+ "videoCaption": "πŸ›‘οΈ SΓ©curitΓ© : Γ‰pargne bi ngay muccΓ©.",
201
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
202
  }
203
  ]
204
  }
packages/database/content/tracks/T4-WO.json CHANGED
@@ -31,7 +31,8 @@
31
  "tone": "coach_enthusiastic",
32
  "format": "3_lines"
33
  }
34
- }
 
35
  },
36
  {
37
  "dayNumber": 2,
@@ -52,7 +53,8 @@
52
  "id": "financement",
53
  "title": "AccΓ¨s ci xaalis"
54
  }
55
- ]
 
56
  },
57
  {
58
  "dayNumber": 3,
@@ -77,7 +79,8 @@
77
  "minMustPass": 1
78
  }
79
  }
80
- }
 
81
  },
82
  {
83
  "dayNumber": 4,
@@ -98,7 +101,8 @@
98
  "id": "non",
99
  "title": "DΓ©et, amul"
100
  }
101
- ]
 
102
  },
103
  {
104
  "dayNumber": 5,
@@ -125,7 +129,8 @@
125
  }
126
  },
127
  "videoUrl": "https://r2.xamle.sn/videos/v5_3.mp4",
128
- "videoCaption": "πŸ“¦ Stock : Bul bΓ yyi sa marchandise di gaaΓ±u !"
 
129
  },
130
  {
131
  "dayNumber": 6,
@@ -152,7 +157,8 @@
152
  }
153
  },
154
  "videoUrl": "https://r2.xamle.sn/videos/v9_3.mp4",
155
- "videoCaption": "πŸ’Έ Wave Business : GΓ©rer son argent comme un pro !"
 
156
  },
157
  {
158
  "dayNumber": 7,
@@ -191,7 +197,8 @@
191
  "B_MODULE_4_OK"
192
  ],
193
  "videoUrl": "https://r2.xamle.sn/videos/v10_1.mp4",
194
- "videoCaption": "πŸ›‘οΈ SΓ©curitΓ© : Γ‰pargne bi ngay muccΓ©."
 
195
  }
196
  ]
197
  }
 
31
  "tone": "coach_enthusiastic",
32
  "format": "3_lines"
33
  }
34
+ },
35
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t4/bes1_formalisation.png"
36
  },
37
  {
38
  "dayNumber": 2,
 
53
  "id": "financement",
54
  "title": "AccΓ¨s ci xaalis"
55
  }
56
+ ],
57
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t4/bes2_avantages_fiscaux.png"
58
  },
59
  {
60
  "dayNumber": 3,
 
79
  "minMustPass": 1
80
  }
81
  }
82
+ },
83
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
84
  },
85
  {
86
  "dayNumber": 4,
 
101
  "id": "non",
102
  "title": "DΓ©et, amul"
103
  }
104
+ ],
105
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
106
  },
107
  {
108
  "dayNumber": 5,
 
129
  }
130
  },
131
  "videoUrl": "https://r2.xamle.sn/videos/v5_3.mp4",
132
+ "videoCaption": "πŸ“¦ Stock : Bul bΓ yyi sa marchandise di gaaΓ±u !",
133
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
134
  },
135
  {
136
  "dayNumber": 6,
 
157
  }
158
  },
159
  "videoUrl": "https://r2.xamle.sn/videos/v9_3.mp4",
160
+ "videoCaption": "πŸ’Έ Wave Business : GΓ©rer son argent comme un pro !",
161
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
162
  },
163
  {
164
  "dayNumber": 7,
 
197
  "B_MODULE_4_OK"
198
  ],
199
  "videoUrl": "https://r2.xamle.sn/videos/v10_1.mp4",
200
+ "videoCaption": "πŸ›‘οΈ SΓ©curitΓ© : Γ‰pargne bi ngay muccΓ©.",
201
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
202
  }
203
  ]
204
  }
packages/database/content/tracks/T5-FR.json CHANGED
@@ -33,7 +33,8 @@
33
  }
34
  },
35
  "videoUrl": "https://r2.xamle.sn/videos/v8_1.mp4",
36
- "videoCaption": "πŸš€ Croissance : Bul gawu dax !"
 
37
  },
38
  {
39
  "dayNumber": 2,
@@ -54,7 +55,8 @@
54
  "id": "capital",
55
  "title": "Capital propre"
56
  }
57
- ]
 
58
  },
59
  {
60
  "dayNumber": 3,
@@ -81,7 +83,8 @@
81
  }
82
  },
83
  "videoUrl": "https://r2.xamle.sn/videos/v8_2.mp4",
84
- "videoCaption": "🏁 Indicateurs : Xoolal sa tableau de bord."
 
85
  },
86
  {
87
  "dayNumber": 4,
@@ -106,7 +109,8 @@
106
  "minMustPass": 1
107
  }
108
  }
109
- }
 
110
  },
111
  {
112
  "dayNumber": 5,
@@ -145,7 +149,8 @@
145
  "tone": "coach_enthusiastic",
146
  "format": "3_lines"
147
  }
148
- }
 
149
  },
150
  {
151
  "dayNumber": 6,
@@ -174,7 +179,8 @@
174
  "badges": [
175
  "B_MODULE_5_OK",
176
  "B_GRADUATED_XAMLE"
177
- ]
 
178
  }
179
  ]
180
  }
 
33
  }
34
  },
35
  "videoUrl": "https://r2.xamle.sn/videos/v8_1.mp4",
36
+ "videoCaption": "πŸš€ Croissance : Bul gawu dax !",
37
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
38
  },
39
  {
40
  "dayNumber": 2,
 
55
  "id": "capital",
56
  "title": "Capital propre"
57
  }
58
+ ],
59
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
60
  },
61
  {
62
  "dayNumber": 3,
 
83
  }
84
  },
85
  "videoUrl": "https://r2.xamle.sn/videos/v8_2.mp4",
86
+ "videoCaption": "🏁 Indicateurs : Xoolal sa tableau de bord.",
87
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
88
  },
89
  {
90
  "dayNumber": 4,
 
109
  "minMustPass": 1
110
  }
111
  }
112
+ },
113
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
114
  },
115
  {
116
  "dayNumber": 5,
 
149
  "tone": "coach_enthusiastic",
150
  "format": "3_lines"
151
  }
152
+ },
153
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
154
  },
155
  {
156
  "dayNumber": 6,
 
179
  "badges": [
180
  "B_MODULE_5_OK",
181
  "B_GRADUATED_XAMLE"
182
+ ],
183
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
184
  }
185
  ]
186
  }
packages/database/content/tracks/T5-WO.json CHANGED
@@ -33,7 +33,8 @@
33
  }
34
  },
35
  "videoUrl": "https://r2.xamle.sn/videos/v8_1.mp4",
36
- "videoCaption": "πŸš€ Croissance : Bul gawu dax !"
 
37
  },
38
  {
39
  "dayNumber": 2,
@@ -54,7 +55,8 @@
54
  "id": "capital",
55
  "title": "Am naa capital"
56
  }
57
- ]
 
58
  },
59
  {
60
  "dayNumber": 3,
@@ -81,7 +83,8 @@
81
  }
82
  },
83
  "videoUrl": "https://r2.xamle.sn/videos/v8_2.mp4",
84
- "videoCaption": "🏁 Indicateurs : Xoolal sa tableau de bord."
 
85
  },
86
  {
87
  "dayNumber": 4,
@@ -106,7 +109,8 @@
106
  "minMustPass": 1
107
  }
108
  }
109
- }
 
110
  },
111
  {
112
  "dayNumber": 5,
@@ -145,7 +149,8 @@
145
  "tone": "coach_enthusiastic",
146
  "format": "3_lines"
147
  }
148
- }
 
149
  },
150
  {
151
  "dayNumber": 6,
@@ -174,7 +179,8 @@
174
  "badges": [
175
  "B_MODULE_5_OK",
176
  "B_GRADUATED_XAMLE"
177
- ]
 
178
  }
179
  ]
180
  }
 
33
  }
34
  },
35
  "videoUrl": "https://r2.xamle.sn/videos/v8_1.mp4",
36
+ "videoCaption": "πŸš€ Croissance : Bul gawu dax !",
37
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
38
  },
39
  {
40
  "dayNumber": 2,
 
55
  "id": "capital",
56
  "title": "Am naa capital"
57
  }
58
+ ],
59
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
60
  },
61
  {
62
  "dayNumber": 3,
 
83
  }
84
  },
85
  "videoUrl": "https://r2.xamle.sn/videos/v8_2.mp4",
86
+ "videoCaption": "🏁 Indicateurs : Xoolal sa tableau de bord.",
87
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
88
  },
89
  {
90
  "dayNumber": 4,
 
109
  "minMustPass": 1
110
  }
111
  }
112
+ },
113
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
114
  },
115
  {
116
  "dayNumber": 5,
 
149
  "tone": "coach_enthusiastic",
150
  "format": "3_lines"
151
  }
152
+ },
153
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
154
  },
155
  {
156
  "dayNumber": 6,
 
179
  "badges": [
180
  "B_MODULE_5_OK",
181
  "B_GRADUATED_XAMLE"
182
+ ],
183
+ "imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png"
184
  }
185
  ]
186
  }