Aller directement à la fin des métadonnées
Aller au début des métadonnées

Vous regardez une version antérieure (v. /wiki/spaces/PAI/pages/10577117274/Le+service+Telnet+dhsTelnet) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 4) afficher la version suivante »

Installation et paramétrage du service dhsTelnet

dhsTelnet est un service qui assure l'interface entre un (ou plusieurs) programme(s) Diva et un (ou plusieurs) client(s) Telnet (douchettes, écrans passifs, …). Il attend la connexion des clients et, pour chaque client qui se connecte, lance l'exécution d'un programme Diva. Ce dernier peut alors dialoguer avec le client Telnet via des commandes spécifiques d'entrée-sortie.
Installation
Pour installer le service dhsTelnet, lancez le programme diva InstallTelnet.dhop (qui se trouve dans Divalto/Sys).


Liste des fichiers livrés

dhsTelnet.exe

Service dhsTelnet

dhsTelnet.txt

Fichier paramètres de dhsTelnet

Ytelnet.dhop

Module de traitement

Ttelnet.txt

Définition des touches de base

Tvt220.txt

Définition des touches en émulation vt52/vt100/vt220

TestTelnet.bat

Lancement de l'émulateur Telnet de Windows

DemoTelnet.dhop

Programme de démonstration.


Paramétrage


Au démarrage, le service dhsTelnet charge le fichier paramètres dhsTelnet.txt. Ce fichier doit préciser la liste des connexions Telnet à gérer, à raison d'un type de connexion par ligne.
Une ligne doit respecter la syntaxe suivante :

<port>numéro_de_port_à_écouter<prog>programme_à_lancer<user>code_utilisateur<env>environnement <show>visibilité<paramsytelnet>"<pc8>codage_pc8<timeoutmn>valeur_du_timeout<crlf>crlf<fic>fichier_des_touches<debug>débogueur"<paramsharmony>"paramètre_à_transmettre"

Exemple :

<port>2248<prog>wmpprf001.dhop<user>UTILISATEUR<paramsytelnet>"fictouche>tvt220<codage>PC8<timeoutmn>45<entersanslf>0<ErpUser>UTILISATEUR<ErpPassWord>MOTDEPASSE<lignes>16<colonnes>24<AffToucheLegende>1<nbtouchefctaff>5<debug>0<Language>FR<touchepiano>K_F6"

Balise HMP

Obligatoire

Valeur syntaxe

Description

port

Oui

numéro_de_port_à_écouter

Numéro du port TCP/IP utilisé par un client Telnet.

(couramment 2247, 2248...)

prog

Oui

programme_à_lancer

Nom du programme à lancer par le service Divalto Telnet lorsque le client Telnet se connecte sur ce port

  • gtpprf001.dhop est l’unitque point d’entrée côté terminal en gestion commerciale

  • wmpprf001.dhop est l'unique point d'entrée côté terminal en WMS

user

Oui

code_utilisateur

Utilisateur ERP permettant d'ouvrir une tâche Divalto, sous lequel le programme diva doit s'exécuter

Remarque : toutes les tâches du Telnet sont lancées avec le login NT indiqué sur le service, quel que soit l'utilisateur ERP utilisé ensuite dans l'application.

env

Non

environnement

Nom de l'environnement de chargement (production/test...)

Attention : La mise en œuvre des environnements est facultative mais si elle est activée, elle concerne obligatoirement tous les services dhsTelnet d'un même fichier paramètres.

paramsytelnet

Oui

(voir tableau plus bas)

Paramètres complémentaires pour le module Ytelnet (à indiquer entre guillemets) :

Paramètres transmis au programme gtpprf001.dhop ou wmpprf001.dhop

show

Non

visibilité

Affichage de caractères du client

1 pour que les caractères en provenance du client Telnet soient affichés à l'écran.

login

Oui à partir des versions X

Ce paramètre est obligatoire à partir de la version X, hors kit 500 000.

Il faut positionner la valeur à 1 : <login>1

Ce paramètre forcera une connexion système.

La balise paramsytelnet contient elle-même un contenu HMP encadré de guillemets droits " ".

Balise HMP paramsytelnet

Obligatoire

Valeur syntaxe

Valeurs possibles

Description

AffToucheLegende

Oui

0 non activé

1 activé

Afficher la légende de la touche (F1, F2...)

Cela permet de gagner une ligne d'affichage, mais on perd beaucoup en ergonomie.

codage

Non

codage_pc8

PC8 (défaut)

ANSI

Indique le jeu de caractères à utiliser (gestion des accents notamment) :

ANSI pour les terminaux,

PC8 pour le client Telnet Windows

On paramètre donc couramment deux ports dans le fichier, l'un utilisé par le client des terminaux, l'autre pour les clients Windows.

colonnes

Oui

24...

Nombre de colonnes de l'écran Telnet (configurer le client Telnet des terminaux de manière adéquate également)

debug

Non

débogueur

0 non activé (défaut)

1 activé

Si activé, un fichier de log bas niveau est généré dans /divalto/divaltolog/ErpDivalto/Tnt.

(fichier Ytelnet.log (*) )

entersanslf

Non

0 (défaut)

1

input avec cr puis lf

input avec cr uniquement

erpPassWord

Non

Si ErpUser est renseigné, on peut également indiquer ici le mot de passe ERP pour éviter de le saisir.

Intérêt uniquement sur un poste développeur

erpUser

Non

Si cette balise est renseignée, le login indiqué est prérempli au lancement. Cela évite de le remplir.

Intérêt uniquement sur un poste développeur

fictouche

Oui

tvt220...

Les terminaux Telnet utilisent en général soit une émulation type « vt220 » soit une émulation « Telnet de base » pour les touches de fonction F1 à F10 et les touches Suppr et Flèches haut/bas/gauche/droite. Si votre terminal utilise une émulation vt52/vt100/vt220, indiquez ici le fichier Tvt220.txt. Si ce paramètre est absent (*), Ytelnet utilisera le fichier de définition des touches Ttelnet.txt, correspondant à l'émulation Telnet de base.

Ouvre donc le fichier indiqué (+.txt) situé dans le dossier sys pour faire la correspondance entre ce que l'on reçoit du client Telnet et les touches.

Ce fichier n'a en principe pas besoin d'être modifié. On utilise le fichier standard fourni tvt220.txt.

language

Non

FR

EN

...

Permet de forcer une langue au niveau du port.

Remarque : la langue peut être indiquée par utilisateur (table RFUSER), et même être changée par un menu Telnet dynamiquement.

Si le dossier est uniquement francophone, aucune intervention n'est nécessaire.

Si le dossier est international et que le serveur Telnet est commun à plusieurs langues, on peut par exemple indiquer « EN » pour une saisie de son login et de son mot de passe avec des labels en anglais, puis paramétrer chaque utilisateur avec la langue souhaitée dans cette table ERP RFUSER.

lignes

Oui

16...

Nombre de lignes de l'écran Telnet (configurer le client Telnet des terminaux de manière adéquate également)

nbtouchefctaff

Oui

5

...

Nombre de touches maximum affichable. Si le masque en décrit plus, elles ne seront pas affichées (mais accessibles avec le piano F6).

Ce nombre doit être en rapport avec le nombre de colonnes maximum du client Telnet.

Par exemple, en 24 colonnes, et 5 boutons à afficher, cela ne laisse déjà que 4 colonnes pour décrire le bouton.

timeoutmn

Non

Temps en minutes

Si cette balise est renseignée, le client sera raccroché en cas de non-activité. Attention, cela n'est pas toujours possible suivant l'action en cours de l'opérateur.

Si ce paramètre est absent (*) ou si la valeur 0 est indiquée ici, aucun time-out n'est mis en route et il n'y aura pas de déconnexion automatique.

touchepiano

Non

K_F6 (défaut)

...

Touche qui permettra d'afficher le piano en saisie de page sous Telnet.

paramsharmony

Non

paramètre_à_transmettre

Paramètres complémentaires pour le programme diva (à indiquer entre guillemets) : Chaîne de caractères libre qui sera transmise au programme dans la variable d'environnement HARMONY_PARAM. Utilisez la fonction diva GetEnv ("HARMONY_PARAM") pour la récupérer (les guillemets ne sont pas transmis). Remarque : cette chaîne peut être au format HMP.

(*) Les valeurs par défaut sont paramétrées dans Divalto.ini, au chapitre [ytelnet].

Exemples :

<port>2260<prog>PanneauAffichage.dhop<user>AFF
<port>2247<prog>demoxtelnet.dhop<user>DEMO<env>ERP210
<port>2248<prog>resultatbalance1.dhop<user>RB<paramsytelnet>"<pc8>1<timeout>0<crlf>1"
<port>2350<prog>resultatbalance2.dhop<user>RB<paramsytelnet>"<pc8>1<timeout>0<crlf>1"
<port>2247<prog>demo.dhop<user>DEMO<paramsytelnet>"<timeout>15"<paramsharmony>"<demo>1" 
Remarque : le fichier dhsTelnet.txt livré contient une première ligne de commentaires rappelant la syntaxe d'une ligne de paramètres et une deuxième ligne d'exemple permettant de lancer le programme de démonstration DemoTelnet.dhop :
<port>2247<prog>demotelnet.dhop<user>DEMO


Gestion des licences nommées dans Telnet


Une application Telnet, s'exécutant sur un site pour lequel la gestion des licences nommées est active, doit être adaptée afin de prendre en compte cette nouvelle gestion. En effet, l'utilisateur de l'application Telnet doit s'authentifier avant de pouvoir exécuter l'application. Pour cela, les paramètres suivants doivent être spécifiés dans le fichier Dhstelnet.txt :

Balise <Login>

La valeur 1 indique que l'on souhaite mettre en œuvre l'authentification de l'utilisateur. Dans ce cas, le service Dhstelnet demande à l'utilisateur de s'authentifier en saisissant son compte et son mot de passe Windows. Le service lance alors le programme Diva associé au port en s'impersonnant sous le compte de l'utilisateur. Il vérifie que l'utilisateur est un utilisateur nommé sur le serveur de licences.

Balise <msgconnect>

Cette balise permet de personnaliser le texte d'accueil, dont la valeur par défaut est "Connexion". Elle comporte trois sous-balises :

  • <tiltle> pour le texte

  • <clear> pour éventuellement effacer l'écran

  • <rever> pour éventuellement afficher le texte <title> en vidéo inverse.
    Exemple : <msgconnect>"<clear><rever><title>Connexion Divalto"

Balises <Lang> et <Langimp>

Ces balises permettent de définir les codes langue pour l'affichage et l'impression.
Les textes standard "connexion", "utilisateur" et "mot de passe", ainsi que les messages sont traduits par la fonction Translate dans le dictionnaire Harmony.

Balise <User>

Dans ce contexte, le contenu de la balise <User> est ignoré.

Programme Diva
Le programme Diva associé au port telnet peut récupérer les paramètres suivants :

  • Le mode Login, renvoyé par la fonction GetEnv ("TELNET_LOGIN"). Vaudra 1 si la balise <Login> est active dans le fichier paramètre. Ceci permet de développer des programmes Telnet compatibles avec les deux modes de licences.

  • Le compte de l'utilisateur est renvoyé par la fonction GetUserName. Il s'agit du compte de l'utilisateur Windows qui a effectué la connexion, soit en principe le compte de l'utilisateur Divalto, sauf si un alias est associé à ce compte.

  • La variable System.User contient le code de l'utilisateur Divalto.


Programmation d'un serveur Telnet

Un exemple de programmation de serveur Telnet est livré avec Harmony (DemoTelnet.dhsp dans le sous-projet Xtelnet du projet Exemples).
Vous y trouverez la liste des commandes du module Ytelnet (commentaires en début de source).
Pour exécuter cette démonstration, lancez au préalable le fichier batch TestTelnet.bat, qui fait appel à l'émulateur Telnet de Windows sur le port 2247.
DemoTelnet propose un menu avec les choix suivants (utilisez les touches du clavier a, p, c, l, x, y pour changer les paramètres de fonctionnement de Ytelnet) :
a = codage ANSI ; p = codage PC8
x = vt220 (fichier des touches tvt220.txt) ; y = telnet (fichier des touches dhsTelnet.txt)
c = crlf ; l = cr seul


Remarque : le logiciel d'émulation de terminal utilisé pour la démonstration est livré et installé avec le système Windows mais il diffère suivant les versions (2000 ou XP). Celui de Windows 2000 ne renvoie que CR alors que celui de Windows XP renvoie CR+LF.
Attention : ce programme de démonstration est un exemple « général » qu'il faudra évidemment adapter au(x) client(s) Telnet concerné(s).
Voir aussi la rubrique Gestion des licences nommées dans Telnet.

  • Aucune étiquette