Skip to main content

Description de l'application

VKQVSoloTank

Application web PWA de visualisation mono-machine pour VK Vision QuickView.
Elle se connecte à un broker MQTT, affiche le synoptique configuré et la liste d'alarmes, et permet d'interagir avec la machine via les dialogues QuickView.


Fonctionnalités

Affichage

  • Synoptique proportionnel ajusté à la zone disponible (largeur et hauteur)
  • Couleur de fond du conteneur synchronisée avec la couleur du canvas synoptique
  • Titre du synoptique centré dans le header
  • Navigation inter-synoptiques avec bouton Retour
  • Icône de déconnexion QuickView visible dans le header en cas de perte de liaison

Alarmes

  • Liste d'alarmes optionnelle (min 25 % / max 40 % de la hauteur de travail)
  • Filtrage par numéro de groupe (gnum) : liste de groupes séparés par des virgules
  • Bouton bascule Filtre dans le header de la liste (bleu = actif, grisé = inactif)
  • Badge affichant le nombre total d'alarmes reçues
  • Bouton d'acquittement visible uniquement si des alarmes sont actives et qu'un utilisateur est connecté

Connexion MQTT

  • Transport WebSocket (ws:// / wss://)
  • Reconnexion manuelle (pas de reconnexion automatique)
  • Message will publié en cas de déconnexion inattendue
  • Statut de connexion affiché dans le footer (indicateur coloré)
  • Compteurs de messages entrants / sortants remis à zéro à chaque connexion

Login QuickView

  • Login manuel via bouton dans le header (icône verte si connecté)
  • Login automatique configurable : déclenché à la réception du statut Connected de QuickView

Clavier virtuel

  • Clavier QWERTZ / AZERTY commutable
  • Mode global : intercepte tous les champs de saisie de l'application
  • Rangées : chiffres, lettres, caractères accentués, symboles (@ . , ; - _ / : # !)
  • Touche Majuscules, Retour arrière, Espace, Valider

Configuration

  • Page de configuration plein écran (dans la zone principale, sans modal)
  • Protégée par mot de passe (défaut : vk1844, personnalisable dans l'onglet Affichage)
  • Trois onglets : Connexion MQTT, Affichage, Logs
  • Persistance dans le localStorage (clé : vksolotank_config)
  • Reconnexion automatique à la fermeture de la configuration

Logs

  • Journal interne activable / désactivable
  • Nombre maximum de lignes configurable (défaut : 10 000)
  • Visionneuse pleine hauteur dans l'onglet Logs
  • Niveaux : info, warn, error, ok

PWA

  • Installable sur PC, tablette, mobile (Android / iOS)
  • Service worker avec stratégie cache-first

Architecture des fichiers

VKQVSoloTank/
├── index.html              Page principale (SPA)
├── manifest.json           Manifeste PWA
├── sw.js                   Service worker (cache-first)
├── CHANGELOG.md            Historique des versions
├── README.md               Ce fichier
└── assets/
    ├── css/
    │   ├── app.css         Styles de l'application
    │   └── bootstrap.min.css
    ├── js/
    │   ├── VKSoloTank.js   Logique principale (MQTT, UI, config, login)
    │   ├── VKDialogs.js    Dialogues QuickView (menu, clavier numérique, slider)
    │   ├── VKDrawing.js    Moteur de rendu synoptique (DrawSynoptic)
    │   ├── VKKeyboard.js   Clavier virtuel QWERTZ/AZERTY
    │   ├── VK.js           Variables globales QuickView
    │   ├── Mqtt.min.js     Client MQTT (mqtt.js, transport WebSocket)
    │   ├── jose-5-2-0.js   Décodage JWT (tokens QuickView)
    │   ├── bootstrap.bundle.min.js
    │   └── jquery-3.5.1.min.js
    └── img/
        ├── brands/VK_LOGO_POSITIF.svg
        └── OffLine.png

Souscriptions MQTT

Une fois connecté, l'application s'abonne aux topics suivants (préfixe <baseTopic>/<groupe>/VKQV/) :

Topic Description
Apps/<clientId>/Login Réponse login QuickView
Status/Connection État de connexion QuickView
Status/Watchdog Watchdog QuickView
Status/Databanks/# Valeurs des databanks
Status/Alarms Liste des alarmes actives
Status/Messages Messages QuickView
Status/System Statut système
Status/LiftLower État levée/baisse
Configuration/Synoptics/# Définitions des synoptiques
Configuration/Machine Configuration machine
Configuration/Recorders Configuration des enregistreurs

Configuration

Onglet Connexion MQTT

Champ Description Défaut
Host Adresse du broker MQTT
Port Port WebSocket 9001
Path Chemin WebSocket /mqtt
SSL Activer wss:// non
Topic de base Préfixe du topic (ex. VKVision)
Groupe Nom de la machine
Client MQTT GUID unique de connexion auto-généré
Client ID Identifiant de l'application dans QuickView
Utilisateur / Mot de passe Authentification broker MQTT

Onglet Affichage

Champ Description
Numéro de position Position de la machine dans QuickView
Synoptique principal Nom du fichier .winjson à afficher au démarrage
Mot de passe de configuration Remplace vk1844 comme mot de passe d'accès
Login automatique Active le login automatique à la connexion QuickView
Utilisateur / Mot de passe auto-login Identifiants utilisés pour le login automatique
Afficher les alarmes Affiche la liste d'alarmes sous le synoptique
Groupes d'alarmes Numéros gnum séparés par des virgules (vide = toutes)
Max lignes de log Nombre maximum d'entrées dans le journal (défaut : 10 000)

Dépendances

Bibliothèque Version Rôle
Bootstrap 5.x UI, modaux, onglets
jQuery 3.5.1 DOM (requis par certains composants VK)
mqtt.js Client MQTT WebSocket (Mqtt.min.js)
jose 5.2.0 Décodage JWT
Font Awesome 5.x Icônes

Déploiement

L'application est entièrement statique. Il suffit de servir le dossier VKQVSoloTank/ via un serveur HTTP (Apache, Nginx, IIS, ou tout serveur de fichiers statiques).

Pour bénéficier du service worker (mode offline / installable), le serveur doit servir les fichiers en HTTPS ou sur localhost.


© 2026 VK Vision SA — Tous droits réservés.