Maj Claude.md

FIx test offline dépot
This commit is contained in:
2026-03-24 17:39:04 +01:00
parent c7779b7ce7
commit 14898275b4
3 changed files with 35 additions and 6 deletions

View File

@@ -11,6 +11,7 @@ Le programme peut **s'auto-mettre à jour** car il est lui-même dans un dépôt
```
Lanceur-geco/
├── git_updater.py # Script principal Python (GUI tkinter)
├── version.txt # Fichier contenant le numéro de version (ex: "0.5.1")
├── config.ini # Configuration multi-repo
├── build.bat # Script de compilation en .exe via PyInstaller
├── log/ # Dossier de logs (créé automatiquement, 1 fichier par jour)
@@ -23,13 +24,27 @@ Lanceur-geco/
- **Accès lecture seule** : le programme ne fait que `git fetch`, `git pull` et `git checkout`. Jamais de `git push`, `git commit`, `git add`, ou toute opération d'écriture vers le remote.
- **Multi-repo** : le programme peut surveiller plusieurs dépôts Git configurés dans `config.ini`.
## Versioning
- La version est définie en dur dans `git_updater.py` via la constante `VERSION` (ex: `VERSION = "0.5.1"`)
- Le fichier `version.txt` à la racine du projet contient le même numéro de version (utilisé par le mécanisme d'auto-update distant)
- Format : **semver simplifié** `MAJEUR.MINEUR.PATCH` (ex: `0.5.1`)
- **Les deux doivent toujours être synchronisés** : quand on change la version, mettre à jour `VERSION` dans `git_updater.py` ET `version.txt`
### Mécanisme de comparaison
- La fonction `_version_tuple(v)` convertit la chaîne version en tuple d'entiers (ex: `"0.5.1"` -> `(0, 5, 1)`) pour permettre la comparaison numérique
- L'auto-update télécharge `version.txt` depuis le serveur Gitea via HTTP (`{repo_url}/raw/branch/master/version.txt`) et compare avec la `VERSION` locale
- Si la version distante est supérieure, une mise à jour est proposée
## Fonctionnement
### Auto-update
1. Au démarrage, le programme vérifie si son propre dossier est un dépôt git
2. Si oui, il fait un `git fetch` et compare avec le remote
3. Si une MAJ du programme est dispo, il propose de la télécharger (`git pull`)
4. Après mise à jour, il demande un redémarrage
1. Au démarrage, le programme télécharge `version.txt` depuis le serveur Gitea via HTTP
2. Compare la version distante avec la constante `VERSION` locale (comparaison par tuple numérique)
3. Si la version distante est supérieure, propose de télécharger le nouvel exe
4. Stratégie de remplacement : télécharge dans `.new`, renomme l'exe actuel en `.old`, place le nouveau
5. Après mise à jour, demande un redémarrage
### Vérification des dépôts
1. Lit la liste des dépôts depuis `config.ini` (chemins relatifs à l'exe)