Skip to content

Commit 9971387

Browse files
committed
docs: mise à jour du guide de test de l'auto-updater
1 parent 052047c commit 9971387

1 file changed

Lines changed: 64 additions & 58 deletions

File tree

docs/TESTING_AUTO_UPDATER.md

Lines changed: 64 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -9,83 +9,89 @@ Ce document explique comment tester le système de mise à jour automatique avan
99
En mode développement, vous pouvez tester la boîte de dialogue de mise à jour directement depuis la console du renderer :
1010

1111
1. **Ouvrir l'application en mode développement** :
12-
```bash
13-
npm start
14-
```
12+
13+
```bash
14+
npm start
15+
```
1516

1617
2. **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
2021
3. **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
3234
4. **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
3941
Pour tester avec une vraie mise à jour, vous devez :
4042
4143
1. **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
4648
2. **Packager l'application** :
47-
```bash
48-
npm run package
49-
```
49+
50+
```bash
51+
npm run package
52+
```
5053
5154
3. **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
5558
4. **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
6063
5. **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
6669
Pour forcer l'activation de l'auto-updater en mode développement :
6770
6871
1. **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
7377
2. **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
8186
3. **Redémarrer l'application** :
82-
```bash
83-
npm start
84-
```
87+
88+
```bash
89+
npm start
90+
```
8591
8692
4. **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
110116
1. **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
115121
2. **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
120126
3. **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
127133
4. **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

Comments
 (0)