Files
2026-08-10 22:06:49 +02:00

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 EditorNew query → colle supabase/releases_bucket.sqlRun.

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.local est 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 :

  1. écrit 0.3.0 dans package.json et tauri.conf.json ;
  2. construit et signe l'installeur (quelques minutes) ;
  3. le téléverse dans le bucket releases ;
  4. é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.00.2.1
Nouvelle fonctionnalité 0.2.10.3.0
Refonte, changement cassant 0.3.01.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).