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.
145 lines
2.9 KiB
Markdown
145 lines
2.9 KiB
Markdown
<div align="center">
|
|
|
|
# 🌐 StabilityTester
|
|
|
|
> 📊 Application de surveillance de stabilite de connexion internet
|
|
|
|
[](https://www.python.org/downloads/)
|
|
[](https://opensource.org/licenses/MIT)
|
|
[]
|
|
|
|
</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>
|