@@ -9,83 +9,89 @@ Ce document explique comment tester le système de mise à jour automatique avan
99En mode développement, vous pouvez tester la boîte de dialogue de mise à jour directement depuis la console du renderer :
1010
11111 . ** Ouvrir l'application en mode développement** :
12- ``` bash
13- npm start
14- ```
12+
13+ ``` bash
14+ npm start
15+ ```
1516
16172. ** Ouvrir les DevTools** (si ce n' est pas déjà fait) :
17- - Menu : ` View > Toggle DevTools `
18- - Ou raccourci clavier : ` Cmd+Option+I ` (macOS) / ` Ctrl+Shift+I ` (Windows/Linux)
18+ - Menu : `View > Toggle DevTools`
19+ - Ou raccourci clavier : `Cmd+Option+I` (macOS) / `Ctrl+Shift+I` (Windows/Linux)
1920
20213. **Dans la console, exécuter** :
21- ``` javascript
22- // Vérifier que l'API est disponible
23- if (window .electronAPI && window .electronAPI .testUpdateDialog ) {
24- window .electronAPI .testUpdateDialog ().then (result => {
25- console .log (' Test result:' , result)
26- })
27- } else {
28- console .error (' API de test non disponible (mode production ou Linux)' )
29- }
30- ```
22+
23+ ```javascript
24+ // Vérifier que l' API est disponible
25+ if (window.electronAPI && window.electronAPI.testUpdateDialog) {
26+ window.electronAPI.testUpdateDialog ().then(( result) => {
27+ console.log('Test result:', result)
28+ })
29+ } else {
30+ console.error('API de test non disponible (mode production ou Linux)')
31+ }
32+ ```
3133
32344 . **Résultat attendu** :
33- - Une boîte de dialogue apparaît avec les options "Redémarrer" et "Plus tard"
34- - Si vous cliquez sur "Redémarrer", la boîte de dialogue se ferme (mais l'application ne redémarre pas vraiment car il n'y a pas de vraie mise à jour)
35- - Les logs dans la console du main process montrent les actions effectuées
35+ - Une boîte de dialogue apparaît avec les options "Redémarrer" et "Plus tard"
36+ - Si vous cliquez sur "Redémarrer", la boîte de dialogue se ferme (mais l'application ne redémarre pas vraiment car il n'y a pas de vraie mise à jour)
37+ - Les logs dans la console du main process montrent les actions effectuées
3638
3739### 2 . Test avec une vraie mise à jour (Production)
3840
3941Pour tester avec une vraie mise à jour, vous devez :
4042
41431 . **Créer une release de test sur GitHub** :
42- - Créer un tag de version supérieure à la version actuelle (ex: ` v0.7.1-test ` )
43- - Créer une release GitHub avec ce tag
44- - Attacher les fichiers de build (` .dmg ` pour macOS, ` .exe ` pour Windows)
44+ - Créer un tag de version supérieure à la version actuelle (ex: `v0 .7 .1 -test`)
45+ - Créer une release GitHub avec ce tag
46+ - Attacher les fichiers de build (`.dmg` pour macOS, `.exe` pour Windows)
4547
46482 . **Packager l'application** :
47- ``` bash
48- npm run package
49- ```
49+
50+ ```bash
51+ npm run package
52+ ```
5053
51543 . **Installer la version packagée** :
52- - Installer l'application depuis le build créé
53- - L'application doit être en mode production (` app.isPackaged === true ` )
55+ - Installer l'application depuis le build créé
56+ - L'application doit être en mode production (`app.isPackaged === true`)
5457
55584 . **Déclencher la vérification de mise à jour** :
56- - L'application vérifie automatiquement les mises à jour au démarrage
57- - Ou attendre 1 heure (vérification automatique périodique)
58- - Ou utiliser le menu (si disponible) pour forcer une vérification
59+ - L'application vérifie automatiquement les mises à jour au démarrage
60+ - Ou attendre 1 heure (vérification automatique périodique)
61+ - Ou utiliser le menu (si disponible) pour forcer une vérification
5962
60635 . **Tester le redémarrage** :
61- - Quand une mise à jour est détectée et téléchargée, la boîte de dialogue apparaît
62- - Cliquer sur "Redémarrer" devrait redémarrer l'application avec la nouvelle version
64+ - Quand une mise à jour est détectée et téléchargée, la boîte de dialogue apparaît
65+ - Cliquer sur "Redémarrer" devrait redémarrer l'application avec la nouvelle version
6366
6467### 3 . Test avec FORCE_FOR_DEBUG (Avancé)
6568
6669Pour forcer l'activation de l'auto-updater en mode développement :
6770
68711 . **Modifier `src/main/Updater.ts`** :
69- ``` typescript
70- const FORCE_FOR_DEBUG: boolean = true // Passer à true
71- ```
72+
73+ ```typescript
74+ const FORCE_FOR_DEBUG: boolean = true // Passer à true
75+ ```
7276
73772 . **Optionnellement, forcer une version** :
74- ``` typescript
75- if (FORCE_FOR_DEBUG ) {
76- IS_PROD = true
77- version = ' 0.7.0' // Version inférieure à celle sur GitHub pour forcer la détection
78- }
79- ```
78+
79+ ```typescript
80+ if (FORCE_FOR_DEBUG) {
81+ IS_PROD = true
82+ version = '0 .7 .0 ' // Version inférieure à celle sur GitHub pour forcer la détection
83+ }
84+ ```
8085
81863 . **Redémarrer l'application** :
82- ``` bash
83- npm start
84- ```
87+
88+ ```bash
89+ npm start
90+ ```
8591
86924 . **Vérifier les logs** :
87- - Les logs devraient montrer que l'auto-updater est activé
88- - L'URL du feed devrait être construite correctement
93+ - Les logs devraient montrer que l'auto-updater est activé
94+ - L'URL du feed devrait être construite correctement
8995
9096** ⚠️ Attention** : Cette méthode peut déclencher de vraies vérifications de mise à jour. Utilisez- la avec précaution.
9197
@@ -108,25 +114,25 @@ tail -f ~/Library/Logs/ecoindex-app/main.log | grep "main/Updater"
108114## Points à vérifier lors du test
109115
1101161 . **Boîte de dialogue** :
111- - ✅ Les boutons "Redémarrer" et "Plus tard" sont visibles
112- - ✅ Les traductions sont correctes (FR/EN)
113- - ✅ Le message et les détails sont affichés correctement
117+ - ✅ Les boutons "Redémarrer" et "Plus tard" sont visibles
118+ - ✅ Les traductions sont correctes (FR/EN)
119+ - ✅ Le message et les détails sont affichés correctement
114120
1151212 . **Clic sur "Plus tard"** :
116- - ✅ La boîte de dialogue se ferme
117- - ✅ L'application continue de fonctionner normalement
118- - ✅ Les logs montrent "User chose to restart later"
122+ - ✅ La boîte de dialogue se ferme
123+ - ✅ L'application continue de fonctionner normalement
124+ - ✅ Les logs montrent "User chose to restart later"
119125
1201263 . **Clic sur "Redémarrer"** :
121- - ✅ La boîte de dialogue se ferme
122- - ✅ Les fenêtres se ferment proprement (logs : "Closing X window(s) before restart")
123- - ✅ Les logs montrent "Calling autoUpdater.quitAndInstall(true, false)"
124- - ⚠️ En mode test (sans vraie mise à jour), l'application ne redémarre pas vraiment
125- - ✅ En mode production avec vraie mise à jour, l'application redémarre avec la nouvelle version
127+ - ✅ La boîte de dialogue se ferme
128+ - ✅ Les fenêtres se ferment proprement (logs : "Closing X window(s) before restart")
129+ - ✅ Les logs montrent "Calling autoUpdater.quitAndInstall(true, false)"
130+ - ⚠️ En mode test (sans vraie mise à jour), l'application ne redémarre pas vraiment
131+ - ✅ En mode production avec vraie mise à jour, l'application redémarre avec la nouvelle version
126132
1271334 . **Gestion d'erreurs** :
128- - ✅ Si une erreur survient, elle est loggée correctement
129- - ✅ L'application ne plante pas
134+ - ✅ Si une erreur survient, elle est loggée correctement
135+ - ✅ L'application ne plante pas
130136
131137## Limitations du test en mode développement
132138
0 commit comments