Ajout updater auto + build_exe.bat + version.txt

- app/updater.py : verifie les mises a jour depuis Gitea, telecharge
  via git pull ou archive zip
- version.txt : version courante (1.0.0)
- build_exe.bat : script de compilation PyInstaller pour Windows
  avec tous les hidden-imports necessaires (reportlab fonts, pypdfium2)
- Au lancement, propose la mise a jour si nouvelle version disponible
- Apres mise a jour, redemarre automatiquement

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jules
2026-03-20 19:08:43 +01:00
parent 057b6c1d3c
commit 83dc563135
4 changed files with 229 additions and 0 deletions

20
main.py
View File

@@ -191,6 +191,26 @@ def main():
if not _check_license():
sys.exit(1)
# Verification de mise a jour silencieuse
from app.updater import check_for_update, VERSION
update_available, remote_version = check_for_update()
if update_available:
reply = QMessageBox.question(
None, "Mise a jour disponible",
f"Une nouvelle version est disponible : {remote_version}\n"
f"(version actuelle : {VERSION})\n\n"
"Voulez-vous mettre a jour maintenant ?",
QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No
)
if reply == QMessageBox.StandardButton.Yes:
from app.updater import do_update
success, msg = do_update()
if success:
QMessageBox.information(None, "Mise a jour", f"{msg}\n\nL'application va redemarrer.")
os.execv(sys.executable, [sys.executable] + sys.argv)
else:
QMessageBox.warning(None, "Mise a jour", f"Echec de la mise a jour :\n{msg}")
from app.main_window import MainWindow
window = MainWindow()
window.show()