Un logbook né d’une frustration… et d’une idée
Comme beaucoup d’entre vous, j’utilisais des logiciels de journalisation existants. Fonctionnels, certes, mais jamais exactement comme je le voulais : trop rigides, une interface vieillissante, pas d’intégration directe avec mes outils.
Alors j’ai décidé de créer le mien : Station Master, avec l’aide de l’intelligence artificielle.
Je tiens à être honnête : je ne suis pas programmeur de métier. Ce projet est né d’une collaboration intensive avec Claude (Anthropic), puis avec Claude Code pour les gros chantiers. Cet article a été publié une première fois en février, quand le logiciel en était à ses débuts. Aujourd’hui, il tient sa place au quotidien dans ma station ON5AM : près de 24 000 QSO, 18 onglets, et un logbook que je considère comme complet.
Voici donc une visite guidée, onglet par onglet.
Le tableau de bord : tout d’un coup d’œil

Dès l’ouverture, j’ai l’essentiel : le nombre total de QSO, les entités DXCC travaillées et confirmées, la bande active, les indices de propagation (SFI, K, A), le lever et le coucher du soleil sur JO20SP, le dernier QSO, la cadence en QSO/h et la météo locale.
En dessous, la progression des awards avec des barres visuelles : DXCC 100 et 200 validés, DXCC 300 en cours (278 sur 300), WAZ 40 presque complet (39 sur 40) et WAS 50 terminé. Plus bas, l’activité des 7 derniers jours et le top 5 des pays les plus contactés. Le bandeau du haut affiche la fréquence en réception, l’état ON AIR / RADIO OFF et l’heure UTC.
Journal : les QSO arrivent tout seuls

Les contacts en FT8 et FT4 arrivent directement dans le logbook depuis Decodium. Station Master l’écoute sur deux voies : l’UDP au format WSJT-X (port 2237) et un flux ADIF de type N1MM (port 2333), avec un filtre anti-doublon pour qu’un même contact ne soit enregistré qu’une fois. Je n’ai plus rien à saisir : le QSO apparaît dans le Journal et le tableau de bord se met à jour.
Le Journal affiche pour chaque contact le pays, la date, l’indicatif, la bande, le mode, les reports, la distance et l’azimut, puis l’état de la confirmation chez chaque service : QRZ, eQSL, LoTW et Club Log. Pour les autres modes, la saisie manuelle se fait en haut de l’écran, avec une recherche de l’indicatif, et une recherche avancée est à portée de clic.
La station : Flex-6500 et ampli SPE Expert

L’onglet Flex-6500 se connecte à ma radio en réseau (adresse IP et port à renseigner) et affiche la fréquence active, le mode et le filtre, l’état TX/RX et l’interlock, ainsi que la puissance, le ROS et l’ALC. Un encadré rappelle les antennes, les slices et les panadapters. Des boutons permettent de changer rapidement de bande et de mode.

L’onglet SPE pilote mon amplificateur SPE Expert 1.3K-FA par USB : mode Operate/Standby, état TX/RX, bande, antennes, niveau de puissance, puissance, ROS, tension et courant du PA, température, avertissements et alarmes en temps réel, plus les commandes Operate, Standby et Tune, le changement de bande et le passage à l’antenne suivante. Cette partie existe aussi en application autonome, décrite dans cet article.
DX Live : le cluster et les expéditions

À gauche, les spots du DX Cluster en direct. On choisit le serveur, puis on filtre par bande, source, continent et mode, avec une alerte sur les indicatifs qui m’intéressent et un export CSV. Un bandeau résume l’activité par bande et les indices solaires. À droite, les DXpéditions en cours sur un calendrier du mois, avec celles qui sont actives et celles à venir.
Propagation : jauges et MUF

Les indices solaires (SFI, K, A) s’affichent sous forme de jauges façon S-mètre. À droite, une courbe de MUF estimée sur 24 heures, calculée pour mon locator, avec les bandes amateur en repères : on voit tout de suite à quelle heure la 15 m ou la 10 m s’ouvre. Un texte « en clair » résume les conditions du jour, et des raccourcis mènent à DX Maps et VOACAP.
Satellites : savoir quand ça passe

Les passages sont classés par catégorie (radioamateur, météo, stations), avec l’heure de lever en UTC, la durée, l’élévation maximale et l’azimut de culmination. Une élévation minimale réglable évite les passages trop bas. C’est très pratique pour savoir quand un satellite est visible dans le ciel, et un double-clic sur une ligne ouvre la carte du passage.
DX World / DXCC : où j’en suis, ce qu’il me reste

Cet onglet reprend les 340 entités de la liste. Pour chacune : le continent, la distance, les azimuts short path et long path, le nombre de QSO, les bandes, la date du premier contact et le statut. Les lignes sont colorées : vert pour confirmé, bleu pour travaillé, sombre pour celles qu’il me reste à faire. Des filtres par continent et par bande me montrent ce que je dois encore travailler, et surtout faire confirmer. Les boutons permettent de marquer une confirmation, d’exporter en ADIF pour LoTW ou de soumettre à LoTW automatiquement.
Un détail qui compte : seules les entités DXCC officielles sont comptées. Certaines entrées de la base cty.dat (Sicily, European Turkey, African Italy) ne servent qu’au diplôme WAE et ne comptent pas pour le DXCC. Station Master les exclut : le tableau de bord, les awards et cet onglet affichent donc les mêmes chiffres, 278 entités travaillées dont 259 confirmées.
Analyse : Logbook Analysis, Graphiques et Heatmap

Logbook Analysis donne les chiffres de fond : 23 884 QSO, 13 197 indicatifs uniques, 278 entités DXCC et 64,9 % de QSO confirmés. En dessous, des graphiques par bande, par mode, par année et le top des entités DXCC. Mon logbook raconte une histoire : le 20 m domine avec près de 9 000 QSO, et le RTTY, le FT8 et le CW se partagent le podium.

L’onglet Graphiques propose d’autres représentations à la demande : QSO par mois, par bande, par mode, activité par heure et progression DXCC. La Heatmap place sur un globe les stations contactées : c’est plus décoratif qu’analytique, mais ça fait plaisir à regarder.
QSL : cartes par e-mail et suivi des confirmations

C’est la fonction dont je suis le plus content. Quand un contact est dans mon logbook, je le sélectionne dans le Journal et je regarde si la station a une adresse e-mail. Si oui, un clic sur « Envoyer QSL par email » envoie une carte QSL personnalisée, et une fenêtre me confirme que c’est parti. Le Journal suit aussi, pour chaque contact, l’état de la confirmation chez QRZ, eQSL, LoTW et Club Log. L’onglet QSL Email liste les QSO avec leur état d’envoi : « Oui » en vert quand la carte est partie, un tiret sinon. Un filtre permet d’afficher tous les contacts, ceux qui n’ont pas encore été envoyés ou ceux qui l’ont été, un compteur indique combien de cartes sont parties, et un double-clic sur une ligne envoie la carte.

L’onglet QSL Card génère la carte à partir du QSO sélectionné dans le Journal. On y choisit le thème, le message et le QTH, on voit l’aperçu, puis on l’enregistre en PNG ou on l’imprime.
Et le reste

Quelques onglets complètent le tableau : une Carte Live où chaque QSO est placé sur la carte, la Grayline qui montre le terminateur solaire en temps réel, PSK Reporter pour voir qui m’a entendu, et Contests avec le calendrier des concours (flux WA7BNM). En cas de problème de connexion, ces onglets affichent un message clair au lieu de rester bloqués.
Le Wiki : l’aide est dans le logiciel

Le dernier onglet est un Wiki intégré : un guide de démarrage rapide, puis une explication pour chaque onglet, la configuration, FT8 et Decodium, l’ampli SPE et le dépannage. Au premier lancement, le logiciel télécharge tout seul la base DXCC (cty.dat) et l’image de la carte du monde, puis les réutilise hors ligne.
Ce que l’IA m’a appris
- La précision du problème est tout. Plus je décrivais exactement ce que je voyais, plus la solution était rapide et ciblée.
- Les captures d’écran valent mille mots. Montrer l’interface permet à l’IA de comprendre le contexte tout de suite.
- Un cahier des charges change tout. Pour les gros chantiers, je rédige avec Claude un document clair, que Claude Code exécute ensuite directement dans mes fichiers.
- Un audit avant de publier. Avant de pousser cette version sur GitHub, j’ai fait auditer le code par Claude Code. Verdict : une écoute UDP qui plantait à cause d’une ligne oubliée après la suppression d’un onglet, 204 doublons dans le logbook, un onglet Contests qui se figeait et un onglet PSK Reporter qui n’affichait rien. Sans ce contrôle, je ne l’aurais pas vu.
- Il faut savoir abandonner. J’avais commencé un onglet SSTV, mais je n’arrivais pas à faire de contacts : je l’ai laissé tomber. Même sort pour l’onglet de mémoires de fréquences, devenu inutile depuis que Decodium règle la radio quand je choisis une bande. Tout n’a pas besoin d’être dans le logbook.
Télécharger et essayer
Le projet est open source et disponible sur GitHub :
👉 github.com/albertM-hub/StationMaster
Je l’ai développé et testé uniquement sous Linux (Ubuntu/Kubuntu), avec Python 3.10 ou plus récent (testé en 3.10 et en 3.14). Je ne l’ai pas essayé sous Windows ni sous macOS : les commandes Windows ci-dessous sont indicatives, et vos retours sont les bienvenus. Les dépendances sont listées dans le fichier requirements.txt du dépôt : il suffit de les installer, puis de lancer le script.
# Linux (Kubuntu/Ubuntu) : paquets système
sudo apt install python3-tk python3-pil.imagetk python3-venv
# Linux : environnement virtuel et dépendances
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
# Windows (non testé) : environnement virtuel et dépendances
py -m venv venv && venv\Scripts\activate
pip install -r requirements.txt
# Lancement (sous Windows : python station_master.py)
python3 station_master.pyAu premier lancement, ouvrez Paramètres, entrez votre indicatif et votre locator, configurez le port CAT si vous avez un transceiver, et c’est parti.
73 de ON5AM 🎙️
Licencié Harec depuis 1990, après une pause de quelques années, j'ai renouvelé mon intérêt pour la radio, je suis particulièrement actif en HF, appréciant le FT8, les contest et la chasse au Dx. Passionné d'informatique, je suis convaincu que le monde des radioamateurs doit évoluer avec les avancées technologiques, notamment avec l'émergence de l'IA dans nos shack.







