# CANometro PC — aplicación de escritorio

## Uso sencillo

En Linux, extrae el paquete, abre `CANometro-PC/CANometro-PC` con doble clic y pulsa **Crear acceso en escritorio y menú**. No hace falta terminal, Python ni permisos de administrador. Se conserva una copia independiente de la aplicación: después de cerrar la ventana abierta desde la descarga, puedes borrar esa carpeta y abrirlo desde el nuevo icono. Una actualización crea otra copia y no sobrescribe la aplicación que estás utilizando.

1. Abre **CANometro PC** desde su icono. No necesitas escribir comandos.
2. Se abre el asistente en tu navegador. Sigue sus pasos para conectar el crono.
3. Comparte con los espectadores solo el QR que aparece en el asistente.
4. Deja abierta la pequeña ventana de CANometro PC mientras lo utilizas. Para terminar, pulsa **Cerrar**.

Si cierras la pestaña del navegador, pulsa **Abrir CANometro PC**. Volver a pulsar el icono de la aplicación abre la sesión que ya está funcionando, sin crear un segundo puente.

La aplicación puede abrirse sin internet y sin haber conectado aún el crono. No cambia por sí sola tus redes Wi-Fi ni guarda la contraseña del crono. La dirección de administración es privada del PC: no la compartas.

## Sistemas

- **Linux:** paquete nativo con Python y dependencias incorporados. El ejecutable es `CANometro-PC/CANometro-PC`. Tiene que disponer de un escritorio gráfico. El paquete construido en Ubuntu 26.04 requiere una distribución con glibc compatible; para distribuciones anteriores, construir en una base antigua (CI propuesto: Ubuntu 22.04).
- **Windows 10/11 x64:** ejecutable Windows `CANometro-PC.exe`, sin consola, y un instalador guiado que instala para el usuario actual y crea sus iconos sin permisos de administrador. Compilados con Python Windows/PyInstaller/Inno Setup bajo Wine; instalación, apertura y cierre comprobados allí. Falta validación en Windows real, incluyendo navegador, dos adaptadores y firewall, y firma antes de distribución pública. No requiere Python instalado en el PC del usuario.
- **macOS:** aplazado por decisión de Jaime. Es viable con un paquete `.app` construido en macOS, por arquitectura; no se ha compilado ni probado. No se entrega un binario Linux disfrazado de `.exe` o `.app`.

## Compilación para mantenimiento

Estos pasos son para quien prepara los paquetes, no para el usuario final:

```sh
python3 -m venv /tmp/canometro-desktop-build
/tmp/canometro-desktop-build/bin/python -m pip install -r bridge/requirements-desktop.txt
/tmp/canometro-desktop-build/bin/python bridge/distribution/build.py
```

En Linux de desarrollo hace falta `python3-tk` y las bibliotecas gráficas de Tk. En Windows y macOS, usar una instalación de Python con Tk disponible. `distribution/build-native.yml` es una plantilla de CI nativo todavía no activada. Cada paquete incluye un SHA-256.

## Seguridad y cierre

Al abrirse, solo escucha en este PC. La red de espectadores se habilita por el asistente; la configuración de LAN no expone la administración. Se utiliza una sola instancia por usuario, bloqueo del sistema operativo y un canal de reactivación autenticado en loopback. El token de este canal es efímero y permanece en un directorio privado (0700/0600 en Linux/macOS; ACL del usuario en Windows). No es una contraseña del crono. Al cerrar normalmente se elimina.

La aplicación no guarda contraseñas del crono ni la dirección privada de administración en su configuración, diarios o consola. El navegador puede conservar la dirección local en su historial normal. El cierre para el enlace con Station y libera sus conexiones. Cerrar o reinstalar esta aplicación no actualiza el firmware del crono.
