fix: changelog embarqué manquant, badge hors-ligne trompeur, installeur WireGuard

- CHANGELOG.md n'était pas empaqueté par PyInstaller (datas=[]) et son
  chemin, calculé depuis __file__, ne survivait pas à l'extraction
  onefile : la page « À propos » restait vide une fois compilée. Le
  fichier est désormais embarqué (--add-data) et son chemin bascule sur
  sys._MEIPASS en mode frozen.
- Le badge de latence se basait uniquement sur un ping ICMP vers
  l'endpoint : de nombreux serveurs/pare-feux le bloquent alors que le
  tunnel WireGuard fonctionne, d'où « hors ligne » permanent. Repli sur
  l'âge du dernier handshake réel quand l'ICMP échoue.
- wgsecure.iss installe désormais WireGuard for Windows en silencieux
  (prérequis manquant jusqu'ici), au même titre que le VC++
  Redistributable ; make installer-deps télécharge les deux binaires.
This commit is contained in:
2026-09-01 21:23:12 +02:00
parent 8c09c02362
commit ce4df4edb4
5 changed files with 99 additions and 12 deletions
+12 -3
View File
@@ -7,12 +7,21 @@ seul endroit où elle est bumpée à chaque release — jamais recopiée en dur
"""
import os
import sys
from app import __version__
_CHANGELOG_PATH = os.path.join(
os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "CHANGELOG.md"
)
# En développement, CHANGELOG.md vit à la racine du dépôt, deux niveaux
# au-dessus de ce fichier. Une fois empaqueté par PyInstaller (--onefile),
# `__file__` pointe vers l'intérieur de l'exécutable et ce chemin n'existe
# plus : le fichier doit alors être cherché dans `sys._MEIPASS`, le dossier
# temporaire où l'exe extrait les données embarquées via `--add-data`.
if getattr(sys, "frozen", False):
_CHANGELOG_PATH = os.path.join(getattr(sys, "_MEIPASS", ""), "CHANGELOG.md")
else:
_CHANGELOG_PATH = os.path.join(
os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "CHANGELOG.md"
)
APP_NAME = "WGSecure"
TAGLINE = "Client WireGuard avec surcouche MFA TOTP, pour Linux et Windows"