Services Web associés à VRmaze Lite
VRmaze Lite embarque un serveur Web permettant le contrôle du logiciel à distance. Ce serveur Web est lancé au démarrage de VRmaze Lite lorsque l'option Déployer les services Web
est activée dans le panneau de configuration.
Services Web de VRmaze Lite
Les services Web proposés par VRmaze Lite sont peu nombreux. Il s'agit d'un accès à un ensemble de commandes à distance.
Le serveur Web donne accès à ces fonctionnalités :
- Créer un sujet (avec son nom et son prénom)
- Lancer un protocole (en sélectionnant un sujet au préalable)
- Envoyer une commande d'arrêt du protocole en cours
- Arrêter brutalement le protocole en cours d'exécution
- Voir les logs
Pour accéder au serveur Web, lorsque VRmaze Lite est lancé, il convient d'ouvrir un navigateur Internet et d'écrire l'adresse http://localhost/liteserver
.
Pour accéder au serveur Web d'un ordinateur distant, il faut entrer l'adresse IP de l'ordinateur cible http://ADRESSE_IP_DISTANTE/liteserver
Obtenir des informations de logs
Le serveur Web renvoi les informations concernant VRmaze Lite, toutefois, il est dans l'incapacité d'avoir un retour d'état du protocole en cours. Le protocole doit, par lui même, renvoyer les informations au serveur de manière a ce que l'ensemble des clients du serveur se voient informés de l'état du protocole en cours.
Pour cela, VRmaze dispose d'un attribut d'entité nommé Lite Record Logger
sous la catégorie Lite
. Cet attribut recherchera le premier parent disponible contenant des enregistrements (DataRecords
) et sortira à une fréquence variable la dernière donnée enregistrée connue sous forme d'une ligne de log dans le serveur.
Attribut Lite Record Logger
La fréquence d'envoi des logs doit volontairement être basse, de manière à ne pas surcharger les appel au serveur et le traitement du processus d'envoi au détriment de la rapidité d’exécution du protocole.
Gestion du signal d'arret
Par défaut, un protocole est indépendant, il n'est pas possible de l’arrêter depuis l'extérieur sans arrêter totalement le processus (au risque de n'obtenir aucun fichier résultat). Un attribut de protocole permet de gérer les signaux d’arrêt. Cet attribut Lite Server Signal Listener
de la catégorie Lite
va questionner régulièrement (une fois toutes les 3 secondes) le serveur sur l'état de sa commande Stop
. Lorsque le signal est reçu, le protocole s’arrête normalement en procédant à l'enregistrement des données.
Gestion des triggers
Le serveur Web, destiné à être accessible depuis le réseau local permet de lancer des triggers manuellement à l'aide de la commande dédiée. Cette commande permet d'envoyer au protocole en cours d'expérimentation une valeur numérique. La valeur de ce trigger peut être capté par une entité MemoryMapperFloatRecorderEntity
.
Cette entité permet la capture de valeur flottante dans un espace mémoire mappé. L'espace mémoire mappé dédié au serveur web de VRmaze Lite à pour nom LiteWebServer
(Voir la section dédiée)
Erreur de lancement du Serveur Web
Il est possible que le lancement d'un serveur web au lancement de VRmaze Lite soit un échec. En effet, selon certaines configurations, il est possible que VRmaze Lite soit dans l'incapacité de lancer le serveur web. En cas de problème de lancement du logiciel un message s'affiche :
Erreur de lancement du serveur Web
Une erreur de lancement de serveur Web n'est pas bloquante pour l'utilisation de VRmaze Lite.
L'erreur s'explique par le fait que par défaut, Windows n'autorise pas l'ouverture de port de communication pour les utilisateurs non administrateurs.
- La première solution consiste à lancer VRmaze Lite en tant qu'administrateur.
Cette première solution n'est pas toujours possible, la seconde solution consiste à déclarer l'ouverture du port de communication, utilisé par le serveur web, ouvert pour l'utilisateur lançant VRmaze Lite, ou pour tous les utilisateurs à défaut. L'opération consiste à lancer une action en ligne de commande en étant authentifié en administrateur :
Quelques pré-requis :
- Cette commande doit être exécutée par un administrateur de la machine.
- VRmaze Lite ne peut exécuter cette commande de manière interne.
Pour lancer une invite de commande en tant qu'administrateur, il faut exécuter la commande cmd
et sélectionner l'option d'exécution administrateur :
Ensuite, il faut taper une commande netsh
ouvrant le port http en communication pour l'utilisateur enregistré ou tous les utilisateurs, dont voici deux exemples (Le premier exemple ouvre le port pour tous les utilisateurs de la machine tandis que le second l'ouvre pour l'utilisateur du domaine Domaine
et de nom NomUtilisateur
) :
netsh http add urlacl url=http://+:80/ user="tout le monde"
netsh http add urlacl url=http://+:80/ user=Domaine/NomUtilisateur
Cette commande n'est à effectué qu'une fois sur la machine et ne nécessite qu'un redémarrage de VRmaze Lite.
Connexion impossible au serveur depuis l'extérieur
En cas de soucis de connexion au serveur depuis un autre machine, il convient de vérifier les propriétés du pare-feu Windows et, dans certains cas, de permettre l'accès à la machine sur le port 80
Ouverture de port pour tout le monde
Attention, l'ouverture de port pour "Tout de monde" dépend de la version de Windows installé sur le poste. En effet, en fonction de la langue principale de Windows, "tous les utilisateurs" ont des noms différents (User="Everyone" en anglais, User="Todos" en espagnol etc.)
Blocage du port 80 par le pare-feu Windows
Le pare-feu de Windows bloque par défaut le port 80 en communication entrante et sortante. Pour accéder au serveur depuis un ordinateur du réseau, il convient :
- De désactiver le pare-feu Windows (déconseillé pour cause de sécurité).
- ouvrir le port 80 en communication entrante et sortante.
Pour ouvrir le port 80 en communication, il convient de créer deux règles, l'une pour la communication sortante, l'autre pour la communication entrante. De nombreux tutoriaux existent sur Internet, en voici un pour l'ouverture de port en connexion entrante. Il faut créer la même règle pour la connexion sortante.