Pourquoi Gpredict-Improved ?
Gpredict Le terme « suivi » est bien connu des radioamateurs utilisant le protocole satellite. L'application de suivi et de prédiction des survols a été développée par Alexandru Csete (OZ9AEC) et fait office de standard de facto sur les ordinateurs Linux depuis plus de quinze ans. Ce logiciel, basé sur les algorithmes de propagation SGP4/SDP4 et les éléments orbitaux NORAD au format TLE, peut suivre un nombre illimité de satellites. Hamlib ovládať prijímače aj rotátory.
Malgré sa prévalence, il reste original Gpredict Le logiciel présente plusieurs lacunes. L'auteur du nouveau projet, Sadatoshi Koike (JF9SOM), indique dans l'annonce que, bien que Gpredict ait longtemps fait office de norme informelle, il était possible d'y ajouter de nombreuses fonctionnalités. Il souligne également que les outils actuels destinés à SDR ils n'offrent généralement pas un contrôle satisfaisant de l'émetteur-récepteur et du rotor. L'objectif est Gpredict amélioré Il s'agit donc de combiner les deux approches – des fonctions Hamlib intégrées similaires à la solution connue WSJT-X, doplnené o SDR integráciu.
Le résultat est une réécriture complète du concept éprouvé, reposant sur une infrastructure logicielle moderne : Python 3.11+, le moteur orbital Skyfield et l’interface graphique PySide6/Qt6. La licence reste GPL-2.0 ou ultérieure, c’est-à-dire compatible avec la version originale de Gpredict, et l’auteur cite explicitement dans les remerciements les projets sur lesquels Gpredict-Improved s’appuie : Gpredict, Skyfield, Hamlib et la base de données SatNOGS gérée par la Libre Space Foundation.
Fonctionnalités de Gpredict-Improved
Le changement le plus notable par rapport à la version originale de Gpredict est l'accès via un navigateur web. Un serveur FastAPI fonctionne en arrière-plan sur le port 8080, permettant ainsi de suivre les transitions depuis un téléphone ou une tablette connectés au même réseau local. D'après le dépôt GitHub, la barre d'état affiche, après le démarrage, l'adresse LAN et un code QR pour une connexion rapide depuis un appareil mobile.
Le deuxième changement majeur réside dans l'intégration native de Hamlib. Au lieu d'exécuter le démon rigctld séparément, comme l'exigeait la version originale de Gpredict, la station de radio est sélectionnée directement dans l'interface graphique. La correction de l'effet Doppler est étendue : non seulement la fréquence, mais aussi le mode et la tonalité CTCSS sont ajustés automatiquement.
La gestion des fréquences satellitaires s'effectue directement depuis l'interface, incluant la synchronisation avec la base de données SATNOGS et la possibilité d'ajouter ou de modifier manuellement des enregistrements. Les mises à jour des éléments TLE sont automatiques, issues de sources multiples, et font l'objet d'un système d'évaluation de la qualité des données. L'auteur rappelle que le format TLE lui-même devient obsolète avec le temps ; il est donc essentiel d'en tenir compte lors de la manipulation de données orbitales.
Le projet annonce également la prise en charge des récepteurs SDR tels que HackRF et RTL-SDR. L'internationalisation est gérée par gettext ; actuellement, les chaînes de caractères anglaises et japonaises sont disponibles, ce qui, d'après l'annonce, ouvre la voie à une possible traduction en slovaque ou en français. Le tableau suivant récapitule les différences par rapport à la version originale de Gpredict, telles que décrites dans le dépôt du projet.
| Zone | Gpredict | Gpredict amélioré |
|---|---|---|
| Plate-forme | ordinateur de bureau uniquement | Accès au bureau et au navigateur sur téléphones/tablettes du même réseau local |
| Radiocommande | nécessite un rigctld séparé | Hamlib intégré, sélection des stations de radio directement dans l'interface graphique |
| correction Doppler | fréquence uniquement | fréquence + mode + tonalité CTCSS automatiquement |
| base de données de fréquences satellites | SATNOGS uniquement, édition de fichiers texte | Synchronisation automatique SATNOGS + ajout/modification via l'interface graphique |
| Mise à jour TLE | manuel | automatique, multi-sources, avec évaluation de la qualité des données |
| Systèmes d'exploitation pris en charge | Linux (GTK+) | Linux, Windows, macOS, Raspberry Pi |
Environnement matériel et logiciel requis
Gpredict-Improved est compatible avec Linux, Windows, macOS et Raspberry Pi. Les instructions d'installation disponibles dans le dépôt concernent actuellement Ubuntu/Debian, où le logiciel est installé à partir des sources via un environnement virtuel Python. Les pré-installateurs pour Windows et macOS seront disponibles sur la page des versions après la publication de la première version étiquetée, d'après le dépôt.
Côté radio et rotor, l'utilisation de Hamlib est requise. Cette bibliothèque est désormais intégrée à l'application et ne nécessite plus l'exécution séparée de rigctld. Pour la radio logicielle, le dépôt prend en charge les récepteurs HackRF et RTL-SDR. L'architecture du projet est divisée en modules : cœur (moteur satellite Skyfield), interface utilisateur (PySide6/Qt6), interface web (FastAPI + WebSocket pour l'accès au réseau local depuis un navigateur sur le port 8080), pilotage (contrôle de la radio et du rotor via Hamlib), données (synchronisation TLE/SATNOGS, base de données SQLite) et internationalisation (i18n basée sur gettext).
Comment fonctionne Gpredict-Improved et comment débuter
L'installation sur Ubuntu/Debian, conformément au fichier README, se déroule en plusieurs étapes. Tout d'abord, les paquets système python3.11, python3-pip, libhamlib-dev et python3-hamlib sont installés. Ensuite, le dépôt est cloné avec la commande `git clone`, un environnement virtuel Python est créé (`python3.11 -m venv .venv`), activé, puis le paquet est installé avec la commande `pip install -e`.
Pour utiliser une radio connectée en USB, vous devez configurer les permissions en copiant la règle udev du répertoire `scripts/99-gpredict-improved.rules` vers `/etc/udev/rules.d/`, en rechargeant les règles avec la commande `sudo udevadm control --reload-rules` et en ajoutant l'utilisateur au groupe `dialout` (avec la commande `sudo usermod -aG dialout $USER`). Après cette étape, vous devez vous déconnecter puis vous reconnecter pour que la modification de l'appartenance au groupe soit prise en compte. L'application se lance ensuite avec la commande `gpredict-improved`.
Au démarrage, la fenêtre principale Qt6 s'ouvre, puis le serveur FastAPI/uvicorn est lancé en arrière-plan dans un thread séparé sur le port 8080. DataSyncManager télécharge ensuite les données TLE et SATNOGS si elles sont obsolètes. La barre d'état affiche l'adresse LAN et un bouton avec un code QR, permettant une connexion rapide depuis un appareil mobile du même réseau.
L'environnement de développement est préparé avec la commande `pip install -e ".[dev]"`, les tests sont exécutés via pytest, l'analyse statique est assurée par `ruff check` et la vérification des types par `mypy src/`. L'ajout d'une nouvelle langue consiste à copier le fichier `locale/en/LC_MESSAGES/gpredict_improved.po`, à traduire les chaînes `msgstr` et à compiler avec l'outil `msgfmt`.
Résumé complet
Gpredict amélioré Il ne s'agit pas d'une simple mise à jour cosmétique, mais d'une réécriture complète du concept éprouvé de Gpredict, reposant sur une architecture moderne Python/Skyfield/Qt6, tout en conservant la compatibilité de licence avec la version originale. Ses principaux avantages sont l'accès via navigateur sur un réseau local, l'intégration native de Hamlib sans nécessiter de rigctld supplémentaire, une correction Doppler étendue avec prise en charge des modes et du CTCSS, une mise à jour automatique du TLE multi-sources avec évaluation de la qualité, et l'extension des plateformes prises en charge à Windows, macOS et Raspberry Pi.
Le projet est dirigé par Sadatoshi Koike (JF9SOM). Le code source est disponible publiquement sur GitHub, accompagné de la documentation, de l'architecture et du plan de développement. À l'heure actuelle, aucune version étiquetée ni aucun préinstalleur pour Windows et macOS n'ont encore été publiés ; d'après le dépôt, ils suivront après la sortie de la première version officielle. Pour les radioamateurs travaillant avec des satellites, ce projet mérite d'être suivi, notamment en raison de son objectif affiché : combiner une commande radio et rotor simplifiée avec l'intégration SDR dans un seul outil.
