Transcrire depuis un autre logiciel
À compter de sa version 4.5, TransBar dispose d'une fonction « serveur » qui lui permet de transcrire des code-barres au service et sous contrôle d'un ou de plusieurs logiciels externes.
Cette documentation ne se substitue pas à la documentation commerciale qu'il est conseillé de consulter avant de poursuivre l'aspect technique :
- documentation commerciale générale : La solution TransBar
- documentation commerciale spécifique : La fonction serveur de TransBar
Sommaire, fonction serveur de TransBar
- Un serveur ? À quoi ça sert ?
- Comment ce serveur fonctionne-t-il ?
- Comment aller plus loin ?
- Scrutation ou ligne de commande ?
- Transcription par scrutation
- Transcription par ligne de commande
- Dossier « TransBar_Server » et sous-dossiers
- Fichiers « TransBar.version » et « TransBar.path »
- Fichiers d'instructions
- Lignes de commande pour transcription
- En cas d'erreur dans une ligne de commande
- Numéro de process-client
- Paramètre de transcription
- Résultats
- Erreurs indépassables
- Lancement permanent par ligne de commande
- Lancement permanent au démarrage de l'ordinateur
- Partage du dossier « TransBar_Server » pour accès réseau
- Exécution d'un fichier d'instructions par double-clic
- Évaluation de la fonction serveur
- Exemples de logiciels-clients
1 - Un serveur ? À quoi ça sert ?
La fonction « serveur » de TransBar permet à un logiciel externe, pour autant qu'il ait été préalablement spécialement programmé, de communiquer à TransBar une ou plusieurs informations à coder pour récupérer en retour les informations correspondantes à imprimer avec une police code-barres. Ces informations à imprimer pourront alors être utilisées immédiatement ou être mémorisées en regard des informations d'origine pour être imprimées lorsque souhaité.
Le ou les logiciels externes faisant ainsi appel à TransBar sont ci-après désignés comme « logiciels-clients ».
Cette fonction fonctionnera en mode de démonstration et dégradera l'information à coder tant qu'une licence du codage souhaité n'aura pas été souscrite et saisie dans l'onglet « Gérer les licences de ce logiciel ».
2 - Comment ce serveur fonctionne-t-il ?
Pour s'adapter au mieux aux besoins et aux possibilités de programmation des logiciels « clients », la fonction « serveur » de TransBar peut être exécutée selon deux modes.
Le mode « exécution instantanée » impose une installation de TransBar sur chaque ordinateur supportant un logiciel-client. Ce logiciel-client devra lancer TransBar par une ligne de commande particulière, qui emporte une partie paramètres (codage du ou des code-barres à obtenir, options de transcription) et une partie informations à coder (un ou plusieurs code-barres de même codage). Dans ce mode, que TransBar soit ou non déjà lancé n'a aucune importance : une session instantanée est immédiatement exécutée indépendamment d'une éventuelle session permanente qui continuera à fonctionner en parallèle, les résultats sont obtenus en quelques centièmes de seconde dans un fichier, dans le presse-papiers ou dans la sortie standard StdOut, puis la session instantanée se termine sans qu'aucune fenêtre n'ait été ouverte ou proposée à l'ouverture.
En mode « exécution permanente », un dossier particulier de type « hot folder » est scruté très régulièrement par TransBar à la recherche de fichiers d'instructions générés par le ou les logiciels-clients. Chaque fichier d'instructions comporte une partie paramètres et une partie informations à coder. TransBar répond, en très peu de temps et pour chaque fichier d'instructions, par un fichier de résultats qu'il enregistre dans un dossier de résultats, où le logiciel-client pourra venir l'exploiter. Ce mode « exécution permanente » permet la transcription en réseau (un ordinateur serveur, un ou plusieurs ordinateurs-clients) pour autant que les dossiers d'instructions et de résultats, situés sur le serveur, soient accessibles aux postes clients et que TransBar soit lancé en permanence, ce qui peut être fait dans une configuration particulière « serveur seul » particulièrement adaptée à cet usage ou dans la configuration traditionnelle « toutes fonctions ».
Quel que soit son mode de fonctionnement, la fonction serveur ne modifie pas les réglages courants de TransBar et ne les prend pas en considération : seuls comptent les réglages transmis par le fichier d'instructions ou par la ligne de commande.
3 - Comment aller plus loin ?
Pour aller plus loin, il faut programmer le logiciel-client, ce qui est à la charge du licencié de TransBar, de son prestataire ou de son revendeur. Cette programmation peut être réalisée dans le logiciel et avec le langage informatique de son choix.
Un écran particulier de TransBar « Programmer un client du serveur » fournit :
- des exemples de fichiers d'instructions et de lignes de commande ;
- des chemins et des informations utiles à la programmation.
Des exemples de clients développés avec des langages courants sont proposés pour évaluer rapidement la solution ou servir d'exemples concrets.
La lecture des explications qui suivent permettra cependant de mieux appréhender les différentes possibilités ouvertes aux développeurs.
4 - Scrutation ou ligne de commande ?
Deux voies sont possibles pour transmettre des instructions à la fonction serveur de TransBar.
La transcription par scrutation est la seule possible lorsque le système de développement de l'application-cliente ne permet pas le lancement de TransBar par ligne de commande ou si TransBar et le logiciel-client sont situés sur deux ordinateurs différents, ce qui sera le cas si le logiciel-client n'est pas hébergé par un système Windows ou MacOS. Cette programmation nécessitera la possibilité d'écrire et de lire en fichier, une boucle d'attente de la disponibilité d'un fichier, ainsi que le chien de garde à associer à cette boucle pour se préserver d'une absence de résultats. Une fonction permettant d'arrêter temporairement l'exécution du logiciel-client sera également utile pour laisser à TransBar le temps d'exécuter la transcription. TransBar devra avoir été préalablement lancé en exécution permanente, ce qui peut être fait systématiquement au démarrage de l'ordinateur ou, en serveur local, par une ligne de commande asynchrone.
La transcription par ligne de commande nécessite que le langage du logiciel-client dispose d'une fonction permettant de lancer TransBar. Si ce lancement est possible en mode synchrone, il évitera une boucle d'attente des résultats, ainsi que le chien de garde à associer à cette boucle pour se préserver d'une absence de résultats ; sinon, une fonction permettant d'arrêter temporairement l'exécution du logiciel-client sera utile pour laisser à TransBar le temps d'exécuter la transcription ; en l'absence de ces deux fonctionnalités, le temps d'exécution pourra être élevé.
5 - Transcription par scrutation
Pour réaliser une transcription par scrutation, un logiciel-client devra :
- choisir un numéro de process libre et situé dans l'étendue du nombre de postes licenciés, donc en pratique un numéro de process par process-client ;
- déterminer le nom du fichier de résultats attendu, qui comprendra le numéro de process selon une règle imposée par TransBar ;
- vérifier qu'un tel fichier n'est pas déjà présent dans le sous-dossier « TransBar_Server : Results » situé sur l'ordinateur exécutant TransBar, auquel cas il devra le détruire ;
- déterminer librement un nom de fichier d'instructions final, dans lequel il est cependant prudent d'intégrer le numéro de process ;
- vérifier qu'un tel fichier d'instructions final n'est pas déjà présent dans le sous-dossier « TransBar_Server : Instructions » situé sur l'ordinateur exécutant TransBar, auquel cas il devra le détruire sous peine d'interdire le renommage expliqué ultérieurement ;
- composer dans une variable le contenu du fichier d'instructions, ce qui permettra l'écriture de ce fichier par un seul appel au réseau ;
- déterminer librement un nom de fichier d'instructions transitoire commençant par un caractère « underscore » « _ » d'ordre Ascii 95, dans lequel il est égalemnent prudent d'intégrer le numéro de process. Ce peut donc être le nom choisi pour le fichier d'instructions final précédé du caractère « underscore » ;
- ouvrir ce fichier transitoire dans le sous-dossier « TransBar_Server : Instructions », par une fonction qui le re-crée ou le ré-initialise s'il existe déjà ;
- écrire la variable d'instructions dans ce fichier de nom transitoire, puis le fermer ;
- renommer ce fichier d'instructions de nom transitoire du nom du fichier d'instructions final, ce qui rendra dès lors ce fichier « visible » par TransBar. Ce renommage permet de s'assurer que TransBar ne commencera pas sa lecture avant que le fichier n'ait été fermé, ce qui entraînerait une lecture partielle amenant une erreur de structure ou des données tronquées ;
- affecter à ce fichier d'instructions le droit d'être lu et écrit par TransBar. Si le renommage n'affectait pas les droits, il serait préférable de réaliser cette affectation avant ce renommage, mais TransBar s'accomode d'une affectation a posteriori ;
- si possible, lancer TransBar en session permanente, donc en scrutation, ce qui sera sans effet s'il est déjà lancé. Pour cela, le plus simple en serveur local est une ligne de commande asynchrone qui ne représentera qu'une perte de temps minime si TransBar était déjà lancé. Cette ligne de commande sera dotée du paramètre « -o » pour une exécution en serveur seul, préférable pour sa rapidité d'exécution ;
- scruter l'apparition du fichier de résultats dans le sous-dossier « TransBar_Server : Results ». Cette boucle d'attente pourra utilement comprendre une instruction stoppant temporairement l'exécution du logiciel client pour laisser du temps de processeur à TransBar ;
- ouvrir, lire puis fermer le fichier de résultats. Dans le cas d'un fichier multi-lignes, le lire d'abord dans une unique variable permettra de réduire le temps de tranfert par réseau ;
- éventuellement, détruire le fichier de résultats pour faire place nette, mais ce n'est pas une obligation puisque cette opération devra être reconduite par précaution à la transcription suivante.
Il est prudent :
- d'ajouter à l'ensemble de cette procédure un chien de garde temporisé pour le cas d'une erreur de fichier insurmontable, pour celui où TransBar ne serait pas lancé ou pour le cas où le fichier d'instructions serait erroné dans ses deux premières lignes, car, dans ce dernier cas :
- aucun fichier de résultats ne sera créé ;
- TransBar affichera une fenêtre d'erreur et/ou enregistrera l'erreur en historique selon le réglage de son écran « Transcrire depuis un autre logiciel : Paramétrer la fonction serveur » ;
- TransBar essayera de déplacer le fichier d'instructions erroné dans le sous-dossier « TransBar_Server : Errors » pour éviter, en le retrouvant aux prochaines scrutations, d'accumuler les rapports d'erreur et d'augmenter les temps de réponse. S'il n'y parvient pas, la scrutation est arrêtée et la fenêtre historique des erreurs est affichée avec la mention « Le serveur en scrutation est bloqué en raison d'une erreur ! » ; un bouton permet alors à l'opérateur de tenter le débloquage.
- de vérifier le code d'erreur renvoyé par chaque opération fichier et de reprendre en boucle chaque opération erronée jusqu'à ce que le résultat soit satisfaisant. Tous les systèmes de gestion de fichiers se réservent la possibilité de générer des erreurs sans pour autant remettre en cause l'intégrité du contenu des fichiers existants, car ces erreurs résultent souvent de conflits entre plusieurs demandes exercées en parallèle. Ces erreurs sont rares, mais peuvent se produire ; TransBar, pour sa part, les prend en compte. Dans le logiciel client, chaque boucle d'erreur de fichier pourra utilement comprendre une instruction stoppant temporairement l'exécution pour en desserrer la contrainte.
Malgré l'habitude que les développeurs ont de l'utilisation des fichiers, la transcription par scrutation se révélera souvent plus complexe que la transcription par ligne de commande, qu'il est conseillé d'envisager prioritairement en dehors d'une transcription réseau.
6 - Transcription par ligne de commande
La plupart des langages informatiques proposent une fonction de lancement d'un exécutable externe, par exemple :
- la fonction « Shell » dans la plupart des Basic, tels que VisualBasic, LibreOfficeBasic, Xojo, etc ;
- la fonction « Launch » dans Java ou Xojo ;
- la fonction « ShellExecute » en Visual C++ Windows ;
- la fonction « LSOpenApplication » en Objective C d'Apple XCode.
Selon la fonction ou ses paramètres, le lancement sera obtenu :
- soit en mode asynchrone, le logiciel lanceur continuant son exécution sans attendre le logiciel lancé ;
- soit en mode synchrone, le logiciel lanceur attendant la fin de l'exécution du logiciel lancé pour poursuivre son exécution. Ce mode permet donc de simplifier la programmation en se passant de boucle d'attente, et parfois même de chien de garde temporisé.
Par analogie avec le lancement par interpréteur de commande (fichiers batch « .bat » ou applications « cmd.exe » ou « powershell.exe » sous Windows, application « Console.app » sous MacOS) tous ces procédés sont regroupés par TransBar sous le terme « Lancement par ligne de commande ».
Une ligne de commande est traditionnellement composée du chemin de l'exécutable à lancer suivi d'un ou de plusieurs paramètres optionnels séparés par des caractères « espace ».
Lorsque le chemin de l'exécutable comporte lui-même des espaces, il est souvent nécessaire de l'encadrer de guillemets d'ordre Ascii 34.
Lorsqu'il est lancé par ligne de commande, TransBar accepte différents paramètres dont quatre entraineront une exécution en mode serveur instantané. Cette exécution peut être réalisée en parallèle d'une exécution permanente sans lien entre les deux et se termine dès que sa tâche est réalisée.
Ces quatre paramètres déterminent tant le moyen de transmettre les instructions et les données à transcrire :
- soit par un fichier d'instructions situé ailleurs que dans le sous-dossier « TransBar_Server : Instructions » ;
- soit en paramètres secondaires de la ligne de commande ;
que le moyen d'obtenir les résultats :
- soit dans un fichier de résultats du sous-dossier « TransBar_Server : Results » ;
- soit dans la sortie standard StdOut qui est souvent une des valeurs de retour d'une fonction de lancement synchrone ;
- soit dans le presse-papiers.
7 - Dossier « TransBar_Server » et sous-dossiers
La fonction serveur utilise dans de nombreux cas un dossier/répertoire particulier, nommé « TransBar_Server » situé sur le disque principal de l'ordinateur qui supporte TransBar.
Depuis la version TransBar 5.1, ce dossier est automatiquement créé dans le dossier des documents partagés entre sessions et entre applications. Il est alors accessible depuis toutes les sessions ouvertes sur cet ordinateur, ainsi que, pour autant qu'il ait été défini comme « partagé », par toute session ouverte sur le réseau interne.
Trois sous-dossiers d'usage particulier sont créés en même temps:
- un sous-dossier nommé « Instructions », dans lequel le logiciel-client pourra déposer ses fichiers d'intructions et qui est scruté par la fonction serveur de TransBar dès que ce logiciel est lancé ;
- un sous-dossier nommé « Results » dans lequel le logiciel-client pourra chercher ses fichiers de résultats ;
- un sous-dossier nommé « Errors » dans lequel TransBar tentera de déplacer les fichiers trouvés dans le dossier « Instructions » sans pouvoir déterminer le nom d'un fichier de résultats.
Le sous-dossier « Instructions » n'est nécessaire que dans le fonctionnement par scrutation. Lorsqu'il est présent, la fonction de scrutation est activée dès lancement de TransBar pour exécution permanente.
Les deux autres sous-dossiers, s'ils sont supprimés, seront recréés automatiquement par TransBar dès qu'ils deviendront nécessaires.
8 - Fichiers « TransBar.version » et « TransBar.path »
Quatre fichiers utilitaires sont créés ou mis à jour par TransBar, dans le dossier « TransBar_Server », à chaque lancement pour exécution permanente.
Le fichier nommé « TransBar.version » mémorise le numéro de version et de sous-version de TransBar en cours d'exécution, au format texte ASCII. Il est fourni à toutes fins utiles.
Trois fichiers mémorisent le chemin de l'exécutable TransBar, chacun dans un encodage différent :
- « TransBar.path_u8 », au format texte mono-octet Unicode 8 bits ;
- « TransBar.path_u16 », au format texte bi-octets Unicode 16 bits, Little-Endian sans entête ;
- et, selon la plateforme Mac ou Windows :
- « TransBar.path_mac », au format texte mono-octet MacRoman ;
- « TransBar.path_win », au format texte mono-octet Windows Latin 1.
Le chemin de l'exécutable TransBar pourra varier, soit en raison d'une modification ultérieure à l'installation, soit à la suite d'une mise à jour de cet exécutable. Étant de chemin constant, les fichiers « TransBar.path_... » permettront au logiciel-client d'acquérir le chemin courant de l'exécutable TransBar pour lui transmettre un ordre de transcription par ligne de commande.
En l'absence de caractères accentués dans les chemins, les fichiers mono-octets seront identiques, mais rien ne garantit que cette absence de caractères accentués soit maintenue dans le futur.
Sous MacOS, le chemin mémorisé par ces fichiers est celui de l'exécutable réel, qui est situé à l'intérieur du « package » suffixé « .app ».
9 - Fichiers d'instructions
Un fichier d'instructions doit être obtenu au format texte dans un des encodages suivants :
- Windows Latin 1 ;
- Mac Roman ;
- Unicode UTF-8 avec ou sans en-tête ;
- Unicode UTF-16 LittleEndian (Windows ou MacOS Intel) avec ou sans en-tête ;
- Unicode UTF-16 BigEndian avec ou sans en-tête ;
- Windows (Ascii 13 Ascii 10) ;
- MacOS 10 ou Unix (Ascii 10) ;
- MacOS 9 (Ascii 13) ;
- Unicode (U+2028) fin de ligne ;
- Unicode (U+2029) fin de paragraphe.
Il comportera au minimum 4 lignes :
- la première sera composée du mot-clef « §TransBar ». Ce seul mot et la fin de ligne qui le suit définiront :
- l'encodage de ce fichier et les fins de ligne utilisées par la suite ;
- l'encodage et les fins de ligne utilisés par TransBar pour les résultats.
- la seconde mémorisera le numéro du process-client qui déterminera le mode de transcription utilisé par le serveur (opérationnel ou démonstration ou erreur) ainsi que le nom du fichier des résultats ;
- la troisième ligne définira le paramètre de transcription. Lorsque le serveur exécutera un fichier d'instructions, il utilisera les valeurs de ce paramètre sans modifier les réglages courants de l'interface opérateur de TransBar ;
- la quatrième ligne mémorisera la première donnée à coder.
Chaque ligne suivante pourra emporter une autre donnée à coder.
Si une fin de ligne ou, plus généralement, un caractère Ascii non-affichable doit être inclus dans une information à coder, il faudra l'inclure sous la forme « §xx », ou xx représente la valeur Ascii à obtenir.
Une valeur incorrecte dans l'une des deux premières lignes d'un fichier d'instructions entraîne l'abandon du traitement de ce fichier ainsi que le report dans l'historique de TransBar d'une erreur de structure de ce fichier.
10 - Lignes de commande pour transcription
Quatre paramètres de ligne de commande induisent une exécution instantanée transitoire lorsqu'ils sont suivis des paramètres secondaires qu'ils attendent.
Le paramètre « -p » (Ascii 112) attend en second paramètre le chemin d'un fichier d'instructions qui peut être situé n'importe où (typiquement en dossier temporaire) pour fournir un fichier de résultats dans le sous-dossier « TransBar_Server : Results ».
À compter de la version 5.1 de TransBar, ce chemin peut comporter des espaces, protégés ou non par des antislash « \ », ou être encadré de guillemets. Lorsque cette solution est couplée à un lancement en mode synchrone, elle présente l'avantage sur une transcription par scrutation de ne pas demander de boucle d'attente, avec l'inconvénient d'un temps de réponse un peu supérieur à celui d'une scrutation en mode serveur seul permanent.
Ce paramètre « -p » n'est pas indispensable, mais, en cas d'erreur dans le chemin ou dans le fichier, il permettra à TransBar de contextualiser son message d'erreur en distinguant entre un fichier transmis par ligne de commande avec paramètre « -p », considéré comme résultant d'une action serveur sans opérateur, et un fichier double-cliqué ou glissé-déposé sans paramètres « -p », considéré comme résultant d'une action opérateur.
Le paramètre « -f » (Ascii 102) attend quatre paramètres secondaires suivis des données à transcrire pour fournir un fichier de résultats dans le sous-dossier « TransBar_Server : Results ».
Le second paramètre est le numéro du process-client, qui déterminera le mode de transcription utilisé par le serveur (opérationnel ou démonstration ou erreur) ainsi que le nom du fichier des résultats.
Le troisième paramètre doit être significatif de l'encodage à utiliser pour le fichier de résultats.
Le quatrième paramètre doit être significatif du caractère de fin de ligne à utiliser dans le fichier de résultats.
Le cinquième paramètre est le paramètre de transcription qui détermine le codage et les options de la transcription.
Chacun des paramètres suivants est une information à coder.
Cette solution simplifie la précédente en ce qu'elle évite l'écriture d'un fichier d'instructions.
Le paramètre « -s » (Ascii 115) attend trois paramètres secondaires suivis des données à transcrire pour fournir les résultats dans la sortie standard StdOut.
Le second paramètre doit être significatif de l'encodage à utiliser pour le fichier de résultats.
Le troisième paramètre doit être significatif du caractère de fin de ligne à utiliser dans le fichier de résultats.
Le quatrième paramètre est le paramètre de transcription qui détermine le codage et les options de la transcription.
Chacun des paramètres suivants est une information à coder.
Cette solution simplifie la précédente en ce qu'elle évite la lecture d'un fichier de résultats lorsque la sortie standard est disponible en retour de la fonction de lancement.
Le paramètre « -c » (Ascii 99) attend un paramètre secondaire suivi des données à transcrire pour fournir les résultats dans le presse-papiers.
Le second paramètre est le paramètre de transcription qui détermine le codage et les options de la transcription.
Chacun des paramètres suivants est une information à coder.
Cette solution supplée la précédente lorsque la sortie standard n'est pas disponible en retour de la fonction de lancement. L'encodage et le caractère de fin de ligne des résultats sont standardisés automatiquement par le presse-papiers.
Si des données à transcrire transmises par ligne de commande comportent des caractères « espace », « guillemet », « fin de ligne » ou des caractères Ascii non-affichables, ces caractères devront être exprimés sous la forme « §xx », ou xx représente la valeur Ascii à obtenir.
Chaque premier paramètre doit être composé du caractère « moins » (Ascii 45) suivi de la lettre minuscule. Chaque paramètre suivant doit être séparé du précédent par un caractère « espace » (Ascii 32). Lorsque plusieurs données sont transmises par une seule ligne de commande et que l'une de ces données est vierge, il est conseillé de l'exprimer par le caractère « § » pour éviter que deux caractères « espace » contigus dans la ligne de commande ne soient réduits à un seul par la fonction de transfert.
Des exemples de lignes de commande sont fournis par le bouton « Obtenir un exemple » de l'écran « Programmer un client du serveur ».
11 - En cas d'erreur dans une ligne de commande
Lorsqu'une ligne de commande lançant TransBar apparaît en défaut dans ses premières instructions, et quelque soit la validité des données transmises :
- le presse-papiers et la sortie standard StdOut sont retournés vierges ;
- aucun fichier de résultats n'est créé.
Lorsque les résultats sont souhaités dans un fichier (paramètre « -p » ou « -f ») l'application-cliente devra avoir préalablement vérifié qu'un fichier de nom identique ne soit pas déjà présent, puis :
- soit mettre en œuvre une fonction de ligne de commande synchrone puis vérifier l'existence d'un nouveau fichier ;
- soit mettre en œuvre une boucle d'attente temporisée par un chien de garde en attente de l'arrivée de ce nouveau fichier.
Lorsque les résultats sont souhaités dans la sortie standard StdOut (paramètre « -s »), l'application-cliente devra :
- soit mettre en œuvre une fonction de ligne de commande synchrone puis vérifier que la sortie standard StdOut ne soit pas vierge ;
- soit mettre en œuvre une boucle d'attente temporisée par un chien de garde, en attente d'une sortie standard StdOut qui ne soit pas vierge.
Lorsque les résultats sont souhaités dans le presse-papiers (paramètre « -c »), l'application-cliente devra avoir préalablement initialisé le presse-papiers à une valeur connue différente de vierge puis :
- soit mettre en œuvre une fonction de ligne de commande synchrone puis vérifier que le presse-papiers ne soit ni vierge, ni de la valeur initiale ;
- soit mettre en œuvre une boucle d'attente temporisée par un chien de garde, en attente d'une évolution de la valeur initiale du presse-papiers.
12 - Numéro de process-client
Le numéro du process-client n'est nécessaire que lorsque les résultats doivent être obtenus dans un fichier. Il sera intégré par TransBar dans le nom de ce fichier pour permettre à différents logiciels ou à différents clients d'intervenir en même temps sans confondre leurs résultats.
Si ce numéro est supérieur au nombre de postes licenciés pour le codage à transcrire, la transcription sera obtenue selon le réglage de l'onglet « Transcrire depuis un autre logiciel : Paramétrer la fonction serveur » :
- soit en mode de démonstration. Dans ce cas, les informations à imprimer fournies par le fichier de résultats seront dégradées quant à leur contenu, mais, exprimées par les polices de démonstration ou par les polices commerciales, respecteront les dimensions d'une future utilisation licenciée ;
- soit en erreur, des messages « Erreur : numéro de process-client non licencié » étant alors enregistrés dans le fichier de résultats en tant qu'information à imprimer.
13 - Paramètre de transcription
Le paramètre de transcription inclus dans chaque fichier d'instructions et dans chaque ligne de commande de transcription est composé comme suit :
- une lettre majuscule « P » permet de forcer ce paramètre en tant que texte dans les langages non-typés, qui pourraient en son absence supprimer un premier caractère « zéro » ;
- deux chiffres significatifs du codage du ou des code-barres à créer par le fichier ou la ligne de commande (par exemple Ean 13, Code 128, etc) ;
- un quatrième chiffre de valeur « 1 » lorsque la transcription doit intégrer les réserves d'initialisation, sinon « 0 » ;
- un cinquième chiffre de valeur « 1 » lorsque la transcription doit fournir un caractère de contrôle optionnel, sinon « 0 ».
Dans certains cas, ces cinq caractères pourront être suivis d'autres caractères précisant les options attendues. Pour obtenir le paramètre adapté à un cas précis, il est donc préférable de régler la transcription unitaire de TransBar sur ce cas, puis d'obtenir le paramètre de transcription par le menu « Obtenir un exemple » de l'écran « Programmer un client du serveur ».
14 - Résultats
Les résultats seront identiques qu'ils soient obtenus dans un fichier, dans la sortie standard StdOut ou dans le presse-papier.
Chaque information à coder d'un fichier d'instructions ou d'une ligne de commande amène une ligne d'information à imprimer ; une information à coder vierge amène une ligne de résultat vierge.
Dans un fichier ou dans la sortie standard StdOut, l'encodage et les caractères de fin de ligne inclus dans les instructions seront reconduits.
Dans le presse-papier, l'encodage et les caractères de fin de ligne seront ceux par défaut du système d'exploitation.
Lorsque une information à coder ne peut être transcrite, la ligne de résultat correspondante prendra une des valeurs suivantes :
- « Erreur : nombre de caractères invalide » ;
- « Erreur : type de caractère invalide » ;
- « Erreur : caractère de contrôle invalide » ;
- « Erreur : numéro de process-client non licencié » ;
ou commencera par :
- « Erreur : » suivie d'une explication particulière au codage utilisé.
TransBar garantit qu'une information à imprimer valide ne commence jamais par la lettre majuscule « E » ; le logiciel-client peut se contenter de tester la première lettre d'une ligne de résultat pour réagir comme il le souhaite en cas de « E », qui signifiera toujours une information à coder invalide.
15 - Erreurs indépassables
Lorsqu'une erreur de transcription survient (par exemple, lorsqu'un caractère de l'information à coder n'est pas acceptable), cette erreur est reportée dans le résultat et son traitement est laissé au soin du logiciel-client.
Mais lorsque une erreur survient sans que la forme du résultat (fichier, sortie standard StdOut ou presse-papiers) ou le nom du fichier de résultats ait pu être déterminé, cette erreur pourra être :
- soit affichée immédiatement dans une fenêtre d'erreur simplifiée
- soit mémorisée et affichée immédiatement dans une fenêtre historique des erreurs
- soit mémorisée pour affichage ultérieur dans la fenêtre historique des erreurs
Si l'origine de l'erreur est un fichier reçu dans le sous-dossier « Instructions », TransBar tente de le déplacer dans le sous-dossier « Errors » ; s'il ne réussit pas, il stoppe sa scrutation pour éviter d'enregistrer une nouvelle erreur à chaque nouvelle scrutation, puis affiche immédiatement la fenêtre historique des erreurs avec une mention « erreur bloquante ». Ce blocage ne concerne que la scrutation, les fonctions opérateur restant disponibles et les exécutions en serveur instantané restant possibles en parallèle.
16 - Lancement permanent par ligne de commande
Trois paramètres de ligne de commande permettront de lancer TransBar - pour autant qu'il ne le soit pas déjà - en session permanente en outrepassant le choix précédemment réalisé par l'opérateur dans l'onglet « Transcrire depuis un autre logiciel : Paramétrer la fonction serveur ».
Le paramètre « -a » (Ascii 97) lancera TransBar en exécution permanente en toutes fonctions. Sa fenêtre principale sera toujours affichée, mais pourra ou non rester derrière celle du logiciel-client selon la fonction de lancement utilisée par le logiciel-client.
Le paramètre « -w » (Ascii 119) lancera TransBar en exécution permanente du seul serveur en scrutation, avec fenêtre de pré-signalisation à fermeture temporisée. Si TransBar est déjà lancé et qu'une fenêtre est mise en avant, cette fenêtre ne sera pas la fenêtre de pré-signalisation. Ce lancement est donc destiné à être exécuté :
- soit au démarrage de l'ordinateur ;
- soit au lancement d'un logiciel-client qui exécutera ensuite des transcriptions en scrutation avec lancement complémentaire « -o » (serveur seul).
Le paramètre « -o » (Ascii 111) lancera TransBar en exécution permanente du seul serveur en scrutation, sans fenêtre de pré-signalisation. Ce lancement peut être reconduit par le logiciel-client à chaque demande de transcription par scrutation, au seul prix d'une légère perte de temps.
Deux autres paramètres pourront parfois être utiles.
Le paramètre « -r » (Ascii 114) lancera TransBar conformément au mode choisi dans l'onglet « Transcrire depuis un autre logiciel ». Ce paramètre n'est pas utile sous Windows, où il est confondu avec une absence de paramètre. Sous MacOS, selon la fonction lançant la ligne de commande, un lancement sans paramètre peut parfois amener à une erreur ; dans ce cas, l'ajout du paramètre « -r » au chemin de l'exécutable dépassera cette erreur.
Le paramètre « -q » (Ascii 113) forcera TransBar à terminer une exécution permanente. Sous MacOS, selon la fonction lançant la ligne de commande, ce paramètre pourra n'avoir aucun effet ; il devra alors être remplacé par un AppleEvent de classe « aevt », d'identifiant « quit » et de cible « fr.transbar.transbar ».
Une ligne de commande ne peut recevoir qu'un seul de ces paramètres, qui doit être composé du signe « moins » d'ordre Ascii 45 suivi de la lettre minuscule.
Toutes les lignes de commande correspondantes :
- n'ont de sens qu'en exécution asynchrone, puisque destinées à lancer TransBar en exécution permanente ;
- sont sans effet lorsque le contexte ne s'y prête pas.
17 - Lancement permanent au démarrage de l'ordinateur
TransBar peut être lancé automatiquement au démarrage de l'ordinateur pour scruter en permanence son dossier d'instructions.
Sous Windows :
- ouvrez le panneau de configuration ;
- sélectionnez « Tâches planifiées » ;
- cliquez sur « Création d'une tâche planifiée » ;
- recherchez l'exécutable TransBar dans le répertoire « C:\Program Files\TransBar » ;
- choisissez d'exécuter la nouvelle tâche à l'ouverture d'une session ;
- pour forcer le lancement en serveur seul, indépendamment du réglage réalisé dans l'onglet « Transcrire depuis un autre logiciel : Paramétrer la fonction serveur » de TransBar :
- ouvrez les propriétés avancées ;
- si le chemin de l'exécutable TransBar apparaît simplifié, cherchez le chemin complet par le bouton « Parcourir... » dans « C:\Program Files\TransBar » ;
- vérifiez que ce chemin soit placé entre deux guillemets et ajoutez derrière le guillemet de fin un espace puis le signe « moins » puis la lettre minuscule « o », ce qui doit donner à la version près :
- "C:\Program Files\TransBar\TransBar 4_5 fr\TransBar 4_5 fr.exe" -o
- essayez votre saisie en cliquant sur la nouvelle tâche avec le bouton droit de la souris puis en choisissant l'item « Exécuter ».
Sous MacOS :
- choisissez le menu Pomme puis « Préférences Système... » puis « Utilisateurs et groupes » ou « Comptes » selon la version de MacOS ;
- paramétrez éventuellement une session à ouverture automatique par « Options » ;
- sélectionnez « l'utilisateur », c'est à dire la session, qui lancera l'exécution de TransBar ;
- cliquez sur le bouton « Ouverture » puis sur le bouton « + » ;
- choisissez l'exécutable TransBar, qui se lancera selon le dernier réglage de son onglet « Transcrire depuis un autre ordinateur : Paramétrer la fonction serveur » ;
- pour éviter l'ouverture de la fenêtre au lancement, quelque soit le réglage évoqué au point précédent, cochez la case « Masquer » ;
- pour faciliter le fonctionnement en serveur réseau :
- sélectionnez l'utilisateur « invité » ;
- validez la case à cocher « Autoriser les invités à se connecter à des dossiers partagés ».
18 - Partage du dossier « TransBar_Server » pour accès réseau
Sous Windows, le dossier « TransBar_Server » est créé par TransBar dans le dossier des documents partagés. Le paramétrage de base assure la visibilité de ce dossier et des éléments qu'il mémorise depuis tous les postes du réseau. Il peut être cependant nécessaire de reprendre ce paramétrage :
- ouvrez le dossier « TransBar_Server » par l'onglet « Transcrire depuis un autre logiciel : Paramétrer la fonction serveur » de TransBar ;
- remontez la hiérarchie des fichiers jusqu'au dossier « Documents » ou « Documents partagés » selon la version de Windows. Ce dossier peut également être atteint par le bouton « Démarrer » puis « Poste de travail » ;
- cliquez sur ce dossier avec le bouton droit de la souris et choisissez « Propriétés » ;
- ouvrez l'onglet « Partage » et vérifiez que les boîtes suivantes soient cochées :
- « Partager ce dossier sur le réseau » ;
- « Autoriser les utilisateurs réseau à modifier mes fichiers » ;
- vérifiez que le pare-feu Windows soit configuré pour autoriser le partage de ce dossier avec d'autres ordinateurs du réseau. Pour cela :
- soit désactivez ce pare-feu, pour autant que vous en maitrisiez les conséquences sur le plan de la sécurité ;
- soit activez ce pare-feu et vérifier que l'exception « Partage de fichiers » soit cochée.
Sous MacOS, le dossier « TransBar_Server » est créé par TransBar dans l'espace de l'utilisateur « Partagé ». Cet espace, ce dossier et ses sous-dossiers sont obtenus avec des droits de lecture et d'écriture étendus pour tous les utilisateurs de l'ordinateur, c'est à dire pour toutes les sessions, mais il est nécessaire de les partager volontairement pour les rendre accessibles sur le réseau. Pour cela :
- ouvrez une session avec droit d'administration, ou munissez-vous d'un nom d'utilisateur posséfdant ce droit et de son mot de passe ;
- ouvrez le dossier « TransBar_Server » par l'onglet « Transcrire depuis un autre logiciel : Paramétrer la fonction serveur » de TransBar ;
- remontez la hiérarchie des fichiers jusqu'au dossier « Utilisateurs » par clic-droit sur le titre de la fenêtre. Ce dossier peut également être atteint par le menu « Aller » du Finder puis « Aller au dossier » en saisissant « /Utilisateurs » ;
- sélectionnez le dossier « Partagé » sans l'ouvrir puis demandez à lire les informations sur ce dossier par clic-droit ou Pomme-i ;
- cochez la case « Dossier partagé » ;
- il peut ensuite être nécessaire de redémarrer l'ordinateur pour observer cette modification depuis un autre poste du réseau.
Il serait également possible de ne partager que le dossier « TransBar_Server », mais ce partage serait perdu en cas de destruction-reconstruction de ce dossier.
19 - Exécution d'un fichier d'instructions par double-clic
TransBar considère les fichiers d'instructions comme des documents. Il est donc possible d'exécuter un tel fichier en le double-cliquant, pour autant que l'extension de son nom ait été déclarée en lien avec TransBar dans le système d'exploitation.
Lorsque un exemple de fichier d'instructions est obtenu par l'écran « Programmer un écran du serveur » de TransBar, l'extension proposée pour son nom est « .transbar_instructions ». Cette extension n'a rien d'obligatoire et peut être remplacée par toute autre de votre choix, mais il vaut mieux éviter les extensions communes de type « .txt », « .text » si le logiciel-client le permet.
Pour associer une extension de fichier d'instructions à TransBar :
- sous Windows :
- sélectionnez un fichier portant cette extension ;
- cliquez avec le bouton droit de la souris et choisissez « Propriétés » ;
- dans la fenêtre d'informations qui s'ouvre, cliquez sur le bouton « Modifier... » de la zone « S'ouvre avec : » ;
- dans la seconde fenêtre qui s'ouvre, sélectionnez TransBar dans le menu « Programmes », éventuellement en le recherchant par le bouton « Parcourir » ;
- cochez la case « Toujours utiliser ce programme pour ouvrir ce type de fichier » ;
- cliquez sur le bouton « OK » ;
- fermez les deux fenêtres récemment ouvertes ;
- sous MacOS :
- sélectionnez un fichier portant cette extension ;
- saisissez la combinaison de touches « Pomme i » ou cliquez avec le bouton droit de la souris ou avec la touche « CTRL » enfoncée et choisissez « Lire les informations » ;
- dans la fenêtre d'informations qui s'ouvre, sélectionnez TransBar dans le menu « Ouvrir avec » ;
- cliquez sur le bouton « Tout modifier... » et validez ;
- fermez la fenêtre d'informations récemment ouverte.
20 - Évaluation de la fonction serveur
La fonction serveur de TransBar peut être évaluée rapidement par l'exemple client « Xojo » disponible en version française et anglaise, Windows et MacOS.
En l'absence des licences nécessaires, cette évaluation ne vous permettra d'obtenir que des code-barres de démonstration (toujours les mêmes) et non les code-barres que vous souhaitez.
Elle peut également, toujours sans licence, être évaluée dans le détail, et même entièrement adaptée à un problème donné, pour obtenir un ensemble, composé de votre ou de vos logiciels-clients et de TransBar, dans lequel il suffira, une fois validé en tous points, dont temps de réponse, de saisir les clefs de licence de TransBar pour obtenir un ensemble opérationnel, fournissant les code-barres variables souhaités.
Le nombre de process-clients n'est pas limité dans un fonctionnement hors licence, ce qui permet d'évaluer les architectures multi-clients. Cette facilité emporte cependant le risque d'obtenir involontairement, en production, un fichier de résultats dégradé en raison d'un numéro de process-client supérieur à ce qu'autorisent les licences saisies dans TransBar.
Deux méthodes permettent d'éviter cet écueil :
- soit choisir, dès que l'ensemble logiciel entre en production, l'item « transcrire par un message d'erreur » dans le menu correspondant de l'onglet « Transcrire depuis un autre logiciel : Paramétrer la fonction serveur ». En cas de dépassement du nombre de process-clients licenciés, l'information à imprimer obtenue dans le fichiers des résultats ne sera alors plus un code-barres de démonstration mais un message « Erreur : numéro de process-client non licencié », à charge pour les logiciels-clients de scruter ce résultat et d'agir en conséquence ;
- soit comparer systématiquement chaque résultat au résultat fourni par le mode de démonstration. Deux cas peuvent alors se présenter :
- dans les codages exigeant un nombre de caractères constant, le résultat dégradé sera toujours le même et pourra donc être comparé au résultat obtenu. Par exemple, en Ean13, une transcription dégradée donnera toujours « 0:AAAAAA=UUUUUU:> » ;
- dans les codages admettant un nombre de caractères variables, le résultat dégradé sera toujours le même à format de données identiques. Par exemple, en Ean 128 - GS1 128, une information à coder de type GTIN (Global Trade Item Number, 15 ou 16 chiffres commençant par 01 ou 02) sera toujours transcrite en mode de démonstration par « çâÜããããããããïîïäç ».
21 - Exemples de logiciels-clients
Quelques exemples de logiciels-clients sont proposés dans des langages libres de droits d'usage, ce qui permet, en plus de les exécuter, d'en consulter les sources pour s'en inspirer ou pour les adapter à un besoin particulier.
L'exemple « Xojo », très complet, fourni en Basic et en exécutable multi-plateformes, est particulièrement recommandé pour une démonstration ou une évaluation de l'ensemble des possibilités de la fonction serveur de TransBar.
Les tableurs Excel et OpenOffice/LibreOffice, appelant TransBar par une macro VisualBasic intégrée, sont directement utilisables.