Chapitre 3 — Application Bridge (connecteur matériel)
La caisse s'exécute dans le navigateur, et le navigateur ne peut pas communiquer directement avec le terminal de paiement, l'imprimante, la balance et l'écran client. L'application Bridge est ce pont : elle s'exécute à côté de la caisse et connecte ces appareils à la caisse.
Elle existe sous trois formes qui font toutes la même chose (la version iOS est expérimentale) :
- L'application Android sur tablette
- L'application de bureau sur ordinateur (Windows/Mac/Linux)
- L'application iOS (expérimentale)
⚠️ Langue : l'interface de l'application Android est en pratique en anglais. Seules quelques chaînes anciennes ont été traduites en allemand ; l'ensemble du tableau de bord que voit l'opérateur (les états, Power Guard, Keep Bridge Awake, les journaux, etc.) est en anglais.
💡 En général, vous configurez Bridge une seule fois, puis elle fonctionne en arrière-plan. Vous saisissez l'adresse de Bridge dans Caisse ← Paramètres ← Bridge (guide de la caisse, chapitre 9). L'application Android s'exécute comme un service de premier plan persistant : elle reste active même si vous fermez l'application depuis la liste, elle redémarre automatiquement après une mise à jour, et un moniteur relance le serveur toutes les 30 secondes si nécessaire.
3-1. L'application Android — l'écran d'état
Un écran plein écran (kiosque) avec une ligne de résumé en haut et plusieurs cartes d'état. Au lancement, vous voyez le message « préparation du pont, connexion du terminal de paiement et de l'écran client ».
- Un résumé général en haut de l'écran, par exemple : « le pont est prêt pour le paiement », « terminal prêt, en attente du navigateur », « navigateur connecté / terminal hors ligne », « récupération de la connexion du terminal en cours », ou « transaction en cours ».
- Les cartes d'état (chacune avec un point coloré et un mot d'état) :
- WebSocket — le port local auquel la caisse se connecte.
- Navigateur (Browser) — si la caisse est connectée.
- Terminal de paiement (POS Terminal) — états : déconnecté / connexion / reconnexion / connecté / occupé (Busy) pendant une transaction.
- Écran client — l'état du second écran.
- Power Guard — protection de la batterie/du processeur/du Wi-Fi pour éviter les coupures en période d'inactivité.
La carte d'adresse Bridge
- Affiche l'adresse (locale
127.0.0.1:PORTou adresse réseau avec l'IP de l'appareil) qui doit être saisie dans la caisse. - Le bouton de mode de connexion a trois états et bascule à chaque appui : local ← réseau ← automatique (Auto). En mode automatique, s'il existe une adresse réseau locale, il passe en réseau, sinon en local.
- Appui long sur le bouton de mode de connexion : créer ou supprimer un jeton d'appairage — un code à 6 caractères ajouté à l'adresse (
?token=XXXXXX) pour que seule la caisse autorisée puisse se connecter. Ce jeton ne s'applique qu'en mode réseau (il est ignoré en mode local) et s'affiche dans l'adresse sous la forme « Paired/Open ».
Autres cartes et accès aux journaux
- Power Guard → « maintenir le pont éveillé » (Keep Bridge Awake) : ouvre les paramètres de batterie d'Android afin que Bridge ne soit pas coupé en période d'inactivité.
- Journaux : ils s'activent/se désactivent avec le bouton Enable/Disable Logs, et View Logs ouvre l'écran des journaux ; la désactivation efface les journaux enregistrés. Une deuxième façon d'ouvrir les journaux est un appui long (long-press) sur la barre supérieure de l'écran.
- L'écran des journaux : en lecture seule — un texte à chasse fixe qui s'actualise chaque seconde et défile vers le bas ; il n'a pas de bouton de partage/d'export (pour l'envoyer au support, vous devez copier manuellement).
- L'écran client : sur le second écran, il montre au client les articles et le total de la commande à l'aide d'un modèle web. Sous Android, il s'attache automatiquement à tout second écran connecté (sans sélection manuelle ; il est retiré lorsque le câble est débranché).
3-2. L'application de bureau — « LonioBridge — Host »
Une petite fenêtre de contrôle pour exécuter Bridge sur l'ordinateur :
- Formulaire de configuration :
- Port WebSocket (par défaut 8088)
- Adresse de liaison (Bind) : uniquement cet ordinateur ou tout le réseau (par défaut
0.0.0.0). - Écran client : sélection manuelle du moniteur qui servira d'écran client (ou aucun).
- Démarrer/Arrêter pour exécuter le pont ; les paramètres sont conservés entre les exécutions dans le fichier
~/.loniobridge/host.properties. - Démarrage automatique (Autostart) : via le paramètre
--autostart(sous Windows, le programme d'installation le configure avec des scripts d'activation/désactivation pour qu'il se lance au démarrage du système). - Mode sans fenêtre (Console) : avec
--console, il est possible de l'exécuter sans interface graphique. - Panneau d'état : l'état du serveur (arrêté / en cours de démarrage / à l'écoute sur le port / port invalide / erreur), le nombre de caisses connectées, l'état du terminal de paiement, et un indicateur occupé/inactif (pendant une transaction).
- Journal d'activité : un journal horodaté des événements ; une option Verbose pour enregistrer les trames brutes du terminal (uniquement pour le dépannage).
⚠️ Dans la fenêtre de bureau, il n'y a pas de sélection d'imprimante ni de balance ; seulement le port, l'adresse de liaison et l'écran client. L'imprimante et la balance se configurent du côté de la caisse, et Bridge les met en route selon les instructions de la caisse.
3-3. Quels appareils se connectent
- Terminal de paiement : il existe deux pilotes, qui se choisissent dans le profil du terminal :
- ZVT (par défaut) — via le réseau/TCP, avec reconnexion automatique (backoff) et les états connexion/récupération/connecté.
- GP Tom (SoftPOS) — le pilote Global Payments qui communique, sur la même tablette Android, avec l'application de terminal GP (vente/annulation/remboursement ; le règlement quotidien par cette voie App2App n'est pas encore pris en charge).
- Écran client : un modèle web (les articles et le total de la commande) que la caisse lui envoie ; sous Android il s'attache automatiquement, sur ordinateur de bureau par sélection manuelle du moniteur.
- Imprimante :
- ⚠️ Sous Android, l'impression est pour l'instant seulement acceptée, mais l'exécution réelle de l'impression n'est pas implémentée ; l'impression réelle fonctionne sur ordinateur de bureau.
- L'ordinateur de bureau propose trois méthodes : série, imprimante système (Windows), et réseau/TCP (par défaut, port 9100) ; y compris la coupe du papier et l'ouverture du tiroir-caisse.
- Balance : uniquement sur ordinateur de bureau — série ou USB-HID, avec détection de l'unité (kg/g/lb/oz) et état stable/instable. Android n'a pas de balance.
3-4. La configuration que l'installateur doit connaître
- Le port (par défaut 8088) et l'adresse de liaison (local ou réseau).
- La différence entre
127.0.0.1(local) et l'IP réseau : si la caisse est sur le même appareil, le mode local suffit ; si elle est sur un autre appareil, le mode réseau + IP est nécessaire, et les deux doivent être sur le même réseau. - Le jeton d'appairage (
?token=…) uniquement en mode réseau. - Les paramètres de batterie d'Android (Keep Bridge Awake) pour éviter les coupures.
3-5. Dépannage rapide
Symptôme | Que faire |
|---|---|
La caisse indique qu'aucun appareil n'a été trouvé | Assurez-vous que Bridge est allumé ; saisissez exactement l'adresse affichée dans Bridge dans Caisse ← Paramètres ← Bridge. |
La caisse d'un autre appareil ne se connecte pas | Dans Bridge, réglez le bouton de mode sur réseau et utilisez l'adresse IP (pas |
Le terminal de paiement se déconnecte sans cesse (Android) | Appuyez sur « Keep Bridge Awake » pour le sortir de la veille de la batterie. |
Une caisse ne parvient pas à se connecter alors qu'elle le devrait | Le jeton d'appairage est peut-être activé ; placez le bon jeton dans l'adresse de la caisse, ou supprimez le jeton par un appui long sur le bouton de mode. |
L'impression ne fonctionne pas sur la tablette Android | L'impression réelle n'est pas encore implémentée sous Android ; pour imprimer, utilisez la version de bureau. |
Pour signaler un problème au support | Activez les journaux, reproduisez le problème, puis sous Android copiez manuellement le texte de View Logs (pas de bouton de partage) ou, sur ordinateur de bureau, envoyez le journal d'activité avec Verbose. |