Files
OpsLog/README.fr.md
2026-07-07 17:10:42 +02:00

301 lines
15 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# OpsLog
Un logiciel de log radioamateur moderne et rapide pour Windows — saisie façon
Log4OM, CAT en temps réel pour **OmniRig**, **FlexRadio/SmartSDR** natif,
**Icom CI-V** natif (USB **et** à distance par internet, en remplacement de
RS-BA1) et **TCI** (SunSDR / Expert Electronics), cluster DX avec alertes de
spots, suivi des diplômes, cartes, log de concours, gestion des QSL et un
concepteur de cartes QSL. Construit avec **Wails v2** (backend Go + frontend
React/TypeScript), **100 % Go** (sans CGO) : SQLite pour la configuration,
**MySQL partagé** optionnel pour le journal afin que plusieurs opérateurs
partagent un même log. Entièrement thémable et bilingue (anglais / français).
Développé par **F4BPO**.
---
## Compilation / développement
- **Dev :** `wails dev` (rechargement à chaud Vite ; méthodes Go accessibles sur http://localhost:34115).
- **Build :** `wails build` (utiliser la version wails v2.11 du projet — `~/go/bin/wails.exe`).
- **Régénérer les bindings Go↔TS** après modification des méthodes `App`
exportées : `wails generate module`.
- **Release :** `.vscode/release.ps1` (Ctrl+Maj+P → *Tasks: Run Task*
*Release OpsLog*) — incrémente la version, pousse le source sur Gitea, compile
l'exe et le publie sur les releases Gitea + GitHub.
---
## Journalisation
- **Bandeau de saisie façon Log4OM :** indicatif, RST émis/reçu, nom/QTH/locator,
bande/mode, fréquence TX/RX (split), heure de début/fin, commentaire/note. Le
**drapeau** de l'entité contactée est affiché en grand à côté des champs RST.
- **Recherche d'indicatif** (QRZ.com / HamQTH) avec photo, pré-remplissage du
nom/QTH/locator et onglet QRZ.com.
- **Résolution DXCC hors ligne** depuis `cty.dat` (pays, zones CQ/ITU,
continent), avec gestion des `/MM` `/AM` `/B` (balise) et des changements de
district (`/8`, `/W6`), plus les dérogations DXpédition de ClubLog par dates.
- **QSO récents**, matrice **déjà contactés** (par créneau bande/mode),
re-résolution en masse depuis cty/QRZ/ClubLog, envoi en masse vers les services
QSL.
- **Constructeur de filtres QSO avancé** (champ / opérateur / valeur, ET / OU,
préréglages enregistrés) avec **export ADIF** des lignes filtrées ou
sélectionnées.
- **Recherche de doublons** (Outils) — regroupe les QSO par même indicatif +
bande + mode (optionnellement même jour / minute) et permet de choisir lesquels
supprimer.
- **Conforme ADIF 3.1.7** en import/export : dictionnaire complet des champs,
30 colonnes promues, éditeur générique de « champs supplémentaires » et modes
d'export standard/complet.
- **Profils :** chaque réglage est par profil ; chaque profil peut pointer son
journal vers le fichier SQLite local ou une base **MySQL partagée**
(multi-opérateur).
## Cartes & antenne
- **Vue principale = deux volets configurables** (par profil, Réglages → Général
*Vue principale*) : carte grand-cercle, carte locator (rue), la grille du
cluster, la grille des déjà-contactés, les QSO récents, les **commandes
FlexRadio**, la **console Icom** ou le panneau **Net control**.
- **Carte grand-cercle** avec distance & azimut trajet court/long, fonds de carte
sélectionnables (Light / Voyager / Street / Satellite, tous sans clé et
légendés) et le(s) **lobe(s) du faisceau d'antenne** tracés depuis l'azimut du
rotor.
- **Compas de rotor** (azimutal équidistant, clic pour tourner) piloté par
PstRotator.
- **Support Ultrabeam** (Normal / inversé 180° / bidirectionnel) : la direction
rayonnée est en vert et le **boom mécanique** en gris, à la fois sur le compas
et sur la carte, pour toujours savoir où pointe l'antenne.
## Cluster DX
- Plusieurs serveurs de cluster avec reconnexion auto, un maître pour les
commandes.
- **Barre latérale de filtres** (recherche d'indicatif, masquer-déjà-contactés,
grouper les doublons, bande / mode / statut / source) partagée entre l'onglet
Cluster et le volet cluster de la vue principale, avec bascule affichage/masquage.
- **Statut** par spot (nouveau / nouvelle bande / nouveau créneau / contacté),
clic pour accorder la radio, et une **bandmap** multi-bandes (bandes façon
panadapter).
- Les spots **POTA** sont étiquetés avec leur référence de parc (via
`api.pota.app`).
- **Alertes de spots** (façon Log4OM) : règles sur indicatif / pays / bande /
mode / spotter, avec notification sonore, visuelle et e-mail (Outils →
*Gestion des alertes*).
## Contrôle CAT
Quatre backends natifs (Réglages → CAT), chacun avec reconnexion auto et une
connexion rapide non bloquante — une radio éteinte ne fige jamais l'application :
- **OmniRig** (Rig 1/2, changement à chaud) — fonctionne avec toute radio
supportée par OmniRig.
- **FlexRadio (SmartSDR)** via l'API TCP de la radio — fréquence / mode / split
de la slice en temps réel, découverte UDP, et **spots panadapter** (les spots
du cluster poussés sur l'écran Flex, clic → remplir l'indicatif).
- **Icom CI-V** — natif, via le port **USB** de la radio *ou* par internet via le
**serveur LAN intégré** de la radio (voir *Icom à distance* ci-dessous). Ni
RS-BA1 ni Remote Utility nécessaires.
- **TCI** (WebSocket) — SunSDR / ExpertSDR2 et tout serveur compatible TCI :
fréquence / mode / PTT / split, plus spots panorama optionnels.
Le mode est lu depuis la radio ; le sous-mode numérique (FT4 vs FT8) est déduit
de la fréquence. Les **antennes RX/TX Flex par bande** sont configurables et
appliquées automatiquement au changement de bande.
### Onglet de commande FlexRadio (façon SmartSDR)
Affiché uniquement quand le backend CAT est une FlexRadio :
- **Émission :** puissance RF, puissance d'accord, TUNE, MOX, processeur de
parole (NOR/DX/DX+), VOX (+ niveau + délai), moniteur (+ niveau), gain micro.
- **Réception (slice active) :** mode/seuil AGC, niveau audio, NB / NR / ANF.
- **Coupleur d'antenne (ATU) :** accord / bypass / mémoires.
- **Amplificateur :** PowerGenius XL operate/standby + défaut.
- **Mesures en direct** via le flux UDP VITA-49 : S-mètre (unités S), puissance
directe (W), ROS, ALC, température PA, tension, plus les mesures de l'ampli.
### Onglet de commande Icom
Affiché quand le backend CAT est Icom (USB ou réseau). Une console complète façon
RS-BA1 :
- **Double afficheur VFO** (MAIN / SUB) avec la grande fréquence tabulaire, le
badge de mode, la bande et l'offset RIT/ΔTX, et une **rangée de boutons de
mode** (SSB / CW / RTTY / PSK / AM / FM).
- **Scope de spectre + waterfall** (panadapter) : ON/OFF, CTR/FIX, double-clic
pour accorder, et boutons **◀ ⊙ ▶** pour centrer le scope sur la fréquence
actuelle (±50 kHz) et le décaler à gauche/droite.
- **Mesures en direct** toujours visibles : S-mètre (clic → remplir le RST),
puissance en watts, ROS.
- **DSP réception :** gain AF / RF, squelch, AGC, préampli, atténuateur, filtre
(FIL1/2/3), NB, NR, ANF et — **en CW seulement** — l'**APF** (filtre de pic
audio).
- **Passe-bande / notch :** Twin PBT (intérieur / extérieur), notch manuel +
position.
- **Émission :** puissance RF, MOX, TUNE, **split avec offset automatique**
(+5 kHz en SSB, +1 kHz en CW), et moniteur. **En phonie seulement** : gain
micro, processeur de parole, VOX (+ gain + anti-VOX). Les commandes qui ne
s'appliquent pas au mode courant sont masquées automatiquement.
- **Bandes & antenne :** boutons de bande en un clic et sélection ANT1/ANT2.
- **Clarificateurs :** RIT et ΔTX avec accord molette / ± (Ctrl+←/→ décale le
RIT).
- Boutons **Marche / Arrêt** (manuels par choix — l'application ne réveille
jamais la radio à la connexion).
- La **manipulation CW** peut passer par le keyer intégré de la radio (voir
*Keyers* ci-dessous).
### Icom à distance (par internet, sans RS-BA1)
OpsLog parle directement le protocole réseau intégré de l'IC-7610 — il
**remplace à la fois l'Icom Remote Utility et RS-BA1**. Saisissez l'IP de la
radio, le nom/mot de passe Network User1 et l'adresse CI-V, et toute la console
Icom fonctionne sur le LAN/internet : login + token (renouvelé automatiquement),
tunnel CI-V, retransmission côté réception pour une liaison très stable même
avec le panadapter en flux, et Marche/Arrêt manuel. (L'audio est hors périmètre
— utilisez la radio en USB + une liaison voix comme Mumble.)
## Keyers & audio
- **Keyer CW** avec macros et macros sur touches F. Le moteur du keyer est
sélectionnable : **WinKeyer** (K1EL WK1/2/3 sur port COM), **Icom** (le keyer
intégré de la radio via CI-V — sans matériel supplémentaire, fonctionne aussi à
distance) ou **TCI**.
- **Keyer vocal numérique** (DVK) : enregistrer les messages vocaux F1F6 et les
émettre.
- **Enregistrement audio des QSO :** capture continue en tampon glissant ; au
*Log QSO* le contact est sauvegardé dans un WAV par QSO
(`INDICATIF_AAAAMMJJ_HHMMSS.wav`) ; mixe RX + micro.
## Amplis & commutateurs
- Amplificateur **PowerGenius XL** (4O3A) — TCP direct : operate/standby,
sélecteur de mode ventilateur et affichage des défauts.
- Commutateur d'antenne **Antenna Genius** (4O3A) via TCP/GSCP — un widget de
commutation A/B ancré.
## QSL & diplômes
- **Moteur de diplômes :** définitions intégrées + personnalisées (partagées
**globalement** entre profils) — DXCC, WAS / WAZ / WAC, WPX,
IOTA / POTA / SOTA / WWFF, **DDFM**, contacté/confirmé/validé par bande & mode,
règles OU et affectation manuelle de références, détection de référence en
direct à la saisie de l'indicatif, **import de listes de références** pour les
totaux/noms, et un **Rescan** qui relit le journal (récupère les nouvelles
confirmations LoTW/QRZ).
- **Services QSL :** ClubLog (upload ADIF par lots), LoTW, QRZ.com, eQSL —
upload et **téléchargement des confirmations** (qui rafraîchit automatiquement
les stats de diplômes).
- **Concepteur de cartes QSL** (voir ci-dessous).
- **eQSL par e-mail :** clic droit sur un QSO → *Envoyer l'eQSL par e-mail* via
le compte SMTP configuré. (Outlook/Hotmail désactivent le SMTP basic-auth —
utilisez Gmail avec un mot de passe d'application, ou un mot de passe
d'application Microsoft.)
## Log de concours
- **Onglet Contest :** choisissez un concours (liste ADIF `CONTEST_ID` intégrée)
et un échange (numéro de série courant ou échange fixe). OpsLog remplit
automatiquement `CONTEST_ID` et les numéros émis/reçus (`STX` / `SRX`), impose
un début/fin de fenêtre, signale les doublons et tient un tableau de score en
direct.
## Statut opérateur en direct (événements spéciaux)
Pour un indicatif d'événement spécial multi-op sur un journal MySQL partagé (ex.
**TM74TFR**) : Réglages → Général → *Publier le statut opérateur en direct*.
Chaque instance OpsLog envoie un battement de cœur de son activité (indicatif de
l'opérateur, bande, fréquence, mode) dans une table `live_status` toutes les
~15 s. Un petit rendu PHP
([`docs/livestatus/tm74-status.php`](docs/livestatus/tm74-status.php)) sur votre
propre serveur web lit cette table et produit une page/image en direct que vous
pouvez intégrer sur la bio **QRZ.com** de la station
(`<img src="…/tm74-status.php?img=1">`). OpsLog écrit seulement dans la base —
ce n'est pas un serveur web.
## Net control
- **Log de net dirigé** (Outils → Net) : un roster global (`nets.json`) plus une
session active en mémoire — pointez les stations présentes, puis loguez tout le
net d'un coup en utilisant la fréquence CAT.
## Apparence & langue
- **Thèmes :** quatre thèmes complets (Clair chaud, Sombre chaud, Graphite
sombre, Contraste élevé) plus **Auto** (suit la préférence clair/sombre du
système), sélectionnables dans Réglages → Général. Chaque panneau et chaque
table AG-Grid suit le thème.
- **Bilingue :** interface complète **anglais / français**, avec un choix de
drapeau au premier lancement et un sélecteur dans Réglages → Général.
## Sécurité
- **Coffre à secrets :** chiffrement optionnel par phrase de passe des mots de
passe stockés (AES-GCM + PBKDF2). Les valeurs chiffrées sont portables ; une
seule invite de déverrouillage au lancement les déchiffre pour la session.
## Intégrations (sortantes)
- **Émetteurs UDP :** pousser la fréquence actuelle vers **PstRotator**, les
infos radio au format **N1MM `RadioInfo`**, ou un **enregistrement ADIF à
chaque QSO logué** — pour que les outils externes (contrôle de rotor,
applications numériques, autres logiciels de log) restent synchronisés.
## Divers
- **Démarrage automatique :** lancer des programmes externes (WSJT-X, JTAlert,
contrôle de rotor…) au démarrage d'OpsLog, en sautant ceux déjà lancés.
- **Sauvegarde :** sauvegarde optionnelle base + ADIF à la fermeture.
- **Vérification de mise à jour** au démarrage avec un toast (désactivable).
- **Télémétrie d'usage anonyme** (un battement de cœur quotidien : ID
d'installation aléatoire + version + OS — aucune donnée d'indicatif ou de QSO ;
désactivable dans les Préférences).
---
## Concepteur de cartes QSL
Outils → *Concepteur de cartes QSL…* transforme quelques photos en une carte
eQSL soignée :
1. Choisissez 1 à 6 photos (jpeg/png). OpsLog les analyse hors ligne (grille de
détail/luminance) et propose **3 designs** — indicatif dans la zone la plus
calme de la meilleure photo, nom de l'opérateur, zones CQ/ITU + ligne locator,
drapeau du pays, les autres photos en inserts encadrés, et un encart de
confirmation par QSO.
2. Choisissez une proposition et affinez-la : cliquez un élément pour le
sélectionner, glissez pour déplacer, changez la police / le préréglage de
style (gel or, gel argent, contour blanc classique, script, plat) et les
réglages par préréglage dans le panneau de droite.
3. Enregistrez le modèle (les photos sont copiées dans
`data/qsl/templates/<id>/`, les originaux peuvent donc être déplacés). Un
modèle peut être le défaut par profil.
Envoi : clic droit sur un QSO → *Envoyer l'eQSL par e-mail*. La carte est rendue
avec les données de ce QSO, matricée en JPEG ≤ 800 Ko, archivée dans
`data/qsl/outbox/` et envoyée via le compte SMTP configuré à l'adresse trouvée
par la recherche QRZ/HamQTH. En cas de succès le QSO est marqué `EQSL_SENT=Y`
(ADIF). Les modèles de sujet/corps de l'e-mail sont dans le concepteur (variables
`{CALL} {DATE} {BAND} {MODE} {MYCALL}`).
Polices : Archivo Black, Lilita One, Baloo 2, Oswald, Great Vibes, Allura
(toutes OFL, embarquées — licences dans `internal/qslcard/assets/fonts/`) ;
Cooper Black est proposée si MS Office l'a installée. Drapeaux : flag-icons
(MIT), embarqués pour les entités DXCC couramment contactées.
---
## Données & stockage
- La **config** (réglages, profils, radios/antennes, nœuds de cluster, cache de
recherche, listes de diplômes, modèles QSL) réside toujours dans le fichier
SQLite local sous `data/` — instantané même quand le journal est sur un MySQL
lointain.
- Le **journal** (QSO) réside là où pointe le profil actif : le fichier SQLite
local ou une base **MySQL** partagée par profil.
---
*An English version of this document is available in [README.md](README.md).*