Files
StabilityTester/README.md
T
tuxgyver 4adde135d7 v1.0.1 - corrige le demarrage et ajoute le build Windows
L'application ne demarrait pas du tout : gui/app.py importait pyqtSignal,
qui est le nom PyQt du signal, absent de PySide6. Trois autres defauts
bloquaient juste derriere, une fois celui-ci leve :

- MPLBACKEND etait fixe a 'module://backend_interagg', le backend interne de
  PyCharm, indisponible hors de cet IDE ;
- gui/app.py et monitor/monitor.py utilisaient des imports relatifs
  remontant au-dela du paquet racine charge par main.py ;
- core/ n'avait pas de __init__.py.

Corrige aussi get_statistics(), dont le retour anticipe "historique vide"
omettait connection_loss_count et uptime_percentage : le KeyError qui en
resultait cassait silencieusement tout l'onglet Statistiques a chaque
rafraichissement. Les deux chemins renvoient desormais les memes cles.

Ajoute le build Windows (StabilityTester.spec + make build-windows), qui
produit un .exe autonome depuis Linux via Wine. PySide6 y est epingle a
6.9.3 : a partir de 6.10, Qt6Core.dll depend de l'ICU systeme de Windows
que Wine n'implemente pas. La sortie standard est reconfiguree en UTF-8
dans main.py, les emojis des messages faisant echouer cp1252 sous Windows.

make test etait casse par la meme confusion de paquet et passe a nouveau.
Makefile : libgl1-mesa-glx, retire des depots Debian/Ubuntu recents,
remplace par libgl1 et les dependances Qt6 manquantes.
2026-09-11 08:12:33 +02:00

145 lines
2.9 KiB
Markdown

<div align="center">
# 🌐 StabilityTester
> 📊 Application de surveillance de stabilite de connexion internet
[![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT)
[![Status: Active](https://img.shields.io/badge/status-active-brightgreen.svg)]
</div>
---
## 🚀 A propos
StabilityTester est une application Python complete avec interface graphique qui permet de verifier, surveiller et alerter sur la stabilite d'une connexion internet.
---
## 🎯 Fonctionnalites
### 🔍 Tests Reseau
- 🏓 Ping vers plusieurs serveurs
- 🌐 Test de connexion HTTP
- 📡 Resolution DNS
- ⬇️ Vitesse de telechargement
- ⬆️ Vitesse d'upload
- ⚡ Test de vitesse complet (optionnel)
- 📉 Mesure du jitter
### 📊 Analyse de Stabilite
**Score global (0-100)** base sur 5 criteres ponderes:
- Taux de succes: 30%
- Temps de disponibilite: 25%
- Latence: 20%
- Vitesse Download: 15%
- Vitesse Upload: 10%
**Barre de progression coloree:**
- 🟢 Vert (80-100): Excellente stabilite
- 🟠 Orange (60-79): Bonne stabilite
- 🟡 Orange (40-59): Stabilite moyenne
- 🔴 Rouge (< 40): Faible stabilite
### 🔔 Systeme d'Alerte
- Notifications systeme
- Alertes sonores
- Historique des alertes
### 🎨 Interface Graphique
6 onglets: Tableau de bord, Tests, Historique, Alertes, Parametres, Statistiques
---
## 📦 Installation
### Prérequis
- Python 3.7+
- pip
### Installation rapide
```bash
cd StabilityTester
make install
# ou
pip install -r requirements.txt
```
### Executable Windows
Un `.exe` autonome est joint a chaque release. Pour le reconstruire depuis
Linux (PyInstaller ne sait pas cross-compiler : un Python Windows est execute
sous Wine) :
```bash
sudo apt install wine winetricks
make build-windows # -> dist/StabilityTester.exe
```
Le premier lancement provisionne le prefixe Wine (~1 Go de telechargements),
les suivants le reutilisent.
---
## 🎮 Utilisation
### Lancement
```bash
make run
# ou
python3 main.py
# ou
./run.sh
```
### Controles
- Demarrer/Arreter la surveillance
- Test unique manuel
- Exporter les donnees
- Sauvegarder/Charger l'etat
- Minimiser en tache de fond
---
## 📊 Score de Stabilite
Calcule en temps reel et affiche sous forme de barre de progression coloree.
---
## 💾 Export et Sauvegarde
- Exporter: Enregistre l'historique dans un fichier JSON
- Sauvegarder: Enregistre l'etat actuel
- Charger: Restaure un etat precede
---
## 🔧 Fonctionnement en Tache de Fond
- Minimiser: La surveillance continue en arriere-plan
- Les alertes restent actives
---
## 🐛 Resolution des Problemes
```bash
make test # Verifier l'installation
make clean # Nettoyer les fichiers temporaires
```
---
## 📜 Licence
MIT License
---
<div align="center">
Made with ❤️ and Python
</div>