Maj Claude.md
FIx test offline dépot
This commit is contained in:
23
CLAUDE.md
23
CLAUDE.md
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user