5.5 KiB
🔄 Mises à jour automatiques
Plus besoin d'envoyer un .exe à chaque correctif. L'application va chercher
elle-même la dernière version publiée.
Toi Ton collègue
─── ────────────
npm run release -- 0.3.0 "…"
│
├─ construit + signe l'installeur
├─ le dépose sur Supabase
└─ écrit latest.json
au lancement :
lit latest.json → 0.3.0 > 0.2.0
🔔 « Version 0.3.0 disponible »
clic → installe → redémarre
Installation (une seule fois)
1. Créer le bucket
Supabase → SQL Editor → New query → colle
supabase/releases_bucket.sql → Run.
2. Donner au script la clé de publication
Supabase → Settings → API → copie la clé service_role.
Mets-la dans le fichier .env.local à la racine du projet :
SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOi...
.env.localest ignoré par git (règle*.local). Cette clé sert uniquement à téléverser depuis ta machine : elle n'entre jamais dans l'application distribuée à l'équipe.
3. 🔑 Sauvegarder la clé de signature — le point important
Le fichier .tauri-signing-key.local à la racine du projet signe chaque mise à
jour. Les applications déjà installées n'acceptent que les paquets signés
avec cette clé.
⚠️ Si tu la perds, aucune mise à jour ne pourra plus être installée. Il faudrait générer une nouvelle clé, reconstruire, et redistribuer un
.exeà la main à chaque membre de l'équipe.
Copie-la maintenant dans un endroit sûr — gestionnaire de mots de passe, clé USB, disque de sauvegarde. Pas dans le dépôt git.
4. La dernière distribution manuelle
Les versions déjà installées chez tes collègues ne connaissent pas encore le système de mise à jour. Il faut donc leur livrer une dernière fois un installeur à la main :
npm run tauri:build
Envoie le fichier src-tauri/target/release/bundle/nsis/GameDev Tracker_0.2.0_x64-setup.exe.
C'est le dernier. À partir de cette version, tout est automatique.
Publier une nouvelle version
npm run release -- 0.3.0 "Filtres multiples sur les tâches, correction du Kanban"
Le script :
- écrit
0.3.0danspackage.jsonettauri.conf.json; - construit et signe l'installeur (quelques minutes) ;
- le téléverse dans le bucket
releases; - écrit
latest.json— c'est ce fichier que les applications lisent.
Ensuite, pense à valider les deux fichiers de version :
git add package.json src-tauri/tauri.conf.json && git commit -m "v0.3.0"
Quel numéro de version ?
Format X.Y.Z, toujours croissant.
| Ce que tu as fait | Numéro |
|---|---|
| Correction de bug | 0.2.0 → 0.2.1 |
| Nouvelle fonctionnalité | 0.2.1 → 0.3.0 |
| Refonte, changement cassant | 0.3.0 → 1.0.0 |
Le texte entre guillemets s'affiche dans le bandeau chez tes collègues : écris ce qui change pour eux, pas le détail technique.
Côté équipe : ce qu'ils voient
Une bande fine en haut de l'application :
┌────────────────────────────────────────────────────────────────────┐
│ ✨ Version 0.3.0 disponible. Filtres multiples sur les tâches │
│ [⬇ Installer et redémarrer] [✕ plus tard]│
└────────────────────────────────────────────────────────────────────┘
- Jamais de fenêtre bloquante : on peut ignorer et continuer à travailler.
- « Plus tard » masque le bandeau ; la proposition revient au lancement suivant.
- Vérification au démarrage, puis toutes les 2 heures pour les sessions longues.
- Le menu Aide (touche
?) affiche la version installée et un bouton « Rechercher une mise à jour ».
En cas de problème
| Symptôme | Cause probable | Solution |
|---|---|---|
| Aucun bandeau n'apparaît | latest.json absent ou version identique |
Ouvre l'URL du manifeste dans un navigateur, vérifie le champ version |
| « Signature invalide » | L'installeur a été signé avec une autre clé | Republie avec la bonne .tauri-signing-key.local |
| Le script dit « bucket not found » | Étape 1 non faite | Exécute supabase/releases_bucket.sql |
| Le script dit « clé introuvable » | .tauri-signing-key.local absent |
Restaure ta sauvegarde (étape 3) |
| Le téléchargement échoue chez un membre | Bucket non public | Rejoue releases_bucket.sql |
URL du manifeste (à ouvrir dans un navigateur pour vérifier) :
https://<ton-projet>.supabase.co/storage/v1/object/public/releases/latest.json
Coût
Un installeur pèse ~8 Mo. L'offre gratuite Supabase donne 1 Go de stockage et 5 Go de transfert par mois : à 6 personnes, c'est environ 100 mises à jour par mois avant de s'en approcher. Tu peux supprimer les vieux installeurs du bucket de temps en temps (garde le dernier).