Serveurs et chemins Harmony
Accès aux fichiers d'Harmony
Chemin d'accès et nom de fichier complet
Un "nom de fichier complet" est le nom qui permet d'identifier un fichier (ou un programme) de manière absolue dans l'ordinateur. Par exemple :
c:/divalto/sys/xtools.dhop
d:/fichiers/comptabilité/c3f.dhfi
Le "chemin d'accès" est la suite de dossiers menant au fichier. Dans l'exemple :
c:/divalto/sys/
d:/fichiers/comptabilité/
Chemins Harmony
Pour raccourcir les noms de fichier ou convenir de noms de chemin plus parlants, des "chemins Harmony" peuvent remplacer tout ou partie des chemins d'accès réels aux fichiers.
Par exemple :
Divalto | c:/divalto |
Compta | d:/fichiers/comptabilité |
Si un nom de fichier Harmony commence par "/", le premier segment du chemin d'accès est un nom de chemin Harmony : ce nom sera remplacé par le chemin réel qu'il représente pour donner le nom de fichier complet. Par exemple :
/Divalto/sys/xtools.dhop ==> c:/divalto/sys/xtools.dhop
/Compta/c3f.dhfi ==> d:/fichiers/comptabilité/c3f.dhfi
Remarque : Chaque ordinateur dispose de sa propre table de chemins Harmony. L'emploi de chemins Harmony est facultatif en local mais obligatoire au niveau d'un serveur de réseau Xlan, comme nous allons le voir dans les rubriques suivantes.
Noms de fichier en réseau Xlan
Pour ses accès réseau, Harmony utilise une table de serveurs. Chaque élément de cette table sert à identifier un serveur et à définir les paramètres nécessaires à la connexion réseau. Par exemple :
ServeurGestion | Adresse=192.0.1.1, Port=1235, Système=Windows, … |
ServeurPaie | Adresse = 192.0.1.2, … |
Le nom d'un fichier situé sur le réseau doit commencer par "//" suivi du nom du serveur dans la table. Xlan client réalise la connexion réseau, élimine le nom du serveur et transmet, telle quelle, la partie restante du nom du fichier au serveur. Par exemple :
Nom du fichier Nom du fichier Xlan client transmis au serveur //ServeurGestion/Fic/fichier ----> /Fic/fichier
Derrière le nom du serveur, il est interdit, pour des raisons de sécurité ( * ) , de spécifier un nom de fichier complet : le nom du serveur doit être suivi du nom d'un chemin Harmony (déclaré et interprété sur le serveur). Ainsi :
//ServeurGestion/CheminHarmony/fichier.dhfi est un nom de fichier valide dès lors que CheminHarmony est bien déclaré dans la table des chemins Harmony du serveur.
//ServeurGestion/c:/divalto/fichiers/fichier.dhfi est par contre invalide.
( * ) Cette règle assure que l'utilisateur passant par Xlan depuis son poste client ne peut accéder qu'aux seuls dossiers référencés par des chemins Harmony déclarés sur le serveur. Si les noms tels que //serveur/c:/…étaient autorisés, l'utilisateur aurait la possibilité d'explorer n'importe quel dossier du serveur via Xlan.
Remarque :
Il est possible de déclarer sur un poste client un chemin Harmony faisant référence à un serveur et d'utiliser ensuite ce chemin pour accéder à un fichier réseau. Par exemple, le fichier //ServeurCompta/d:/fichiers/comptabilité/c3f.dhfi pourra s'appeler /Compta/c3f.dhfi avec le chemin Harmony Compta déclaré localement :
Compta | //ServeurCompta/Fic |
et le chemin Harmony Fic déclaré sur le serveur ServeurCompta :
Fic | d:/fichiers/comptabilité |
Exemple complet de traduction d'un nom de fichier :
Client : /Compta/c3f.dhfi
Table des chemins du client Compta <=> //ServeurCompta/Fic
==> //ServeurCompta/Fic/c3f.dhfi
Table des serveurs du client ServeurCompta <=> 192.0.1.1
Serveur : /Fic/c3f.dhfi
Table des chemins du serveur Fic <=> d:/fichiers/comptabilité
==> Sur le serveur 192.0.1.1, accès à d:/fichiers/comptabilité/c3f.dhfi
Remarques importantes :
Chaque ordinateur dispose de sa propre table de serveurs.
Un chemin Harmony serveur doit mener sur celui-ci à un dossier local : en effet, Harmony ne permet pas d'appeler plusieurs serveurs "en cascade".
Comme nom de serveur, il est conseillé de prendre le nom NetBios de l'ordinateur (le nom qui apparaît dans le voisinage réseau). Dans ce cas uniquement, vous pourrez utiliser les mêmes chemins Harmony sur le client et sur le serveur (ce qui est pratique lorsque le serveur est lui-même utilisé comme poste de travail, car les chemins implicites attachés aux utilisateurs pourront être partagés entre clients et serveur). Exemple : le serveur a pour nom NetBios ServeurGestion et les postes clients ont une entrée dans leur table de serveurs référençant ServeurGestion. Pour ces clients, un nom de fichier réseau aura la forme : //ServeurGestion/CheminHarmony/… Sur le serveur, le fichier est local mais il est tout de même possible de lui affecter ce même nom de fichier : Harmony détectera que le nom du serveur correspond au nom NetBios de l'ordinateur et accédera localement au fichier.
Chemins d'accès implicites
Dans la plupart des cas, on ne précise pas sous Harmony le nom complet d'un fichier mais uniquement son nom proprement dit.
Par exemple, pour appeler le programme Xtools.dhop, on va saisir uniquement Xtools.dhop et non son nom complet c:/divalto/sys/xtools.dhop. De même, une application qui traite le fichier c3f.dhfi ne va pas ouvrir d:/fichiers/comptabilité/c3f.dhfi mais simplement c3f.dhfi.
Deux raisons à cela : pour les utilisateurs, ne pas être obligé de préciser le nom complet des fichiers dans les dialogues ; ne pas figer l'emplacement physique des fichiers au niveau des programmes : c'est l'installateur qui décide de cet emplacement et non le développeur.
Pour ce faire, Harmony affecte à chaque utilisateur une liste de chemins d'accès dits "implicites" : si le chemin complet d'un fichier n'est pas indiqué, Harmony le recherche d'abord dans le premier dossier implicite puis, si nécessaire, dans le second, le troisième et ainsi de suite jusqu'à trouver le fichier ; ce n'est que si la dernière tentative échoue à son tour que le système détectera un "Fichier non trouvé".
Le format des chemins implicites est identique au format des noms de fichier (mnémonique du fichier proprement dit exclus). Les chemins implicites sont stockés dans des fichiers .txt, où chaque ligne contient un chemin.
Exemple :
Avec le fichier d'implicites suivant :
/divalto/sys/
d:/src/
//serveurcompta/fic/
l'accès au fichier c3f.dhfi sera successivement tenté avec les noms suivants :
/divalto/sys/c3f.dhfi (<=> c:/divalto/sys/c3f.dhfi)
d:/src/c3f.dhfi
//serveurcompta/fic/c3f.dhfi (<=> d:/fichiers/comptabilité/c3f.dhfi sur serveurcompta)
Après concaténation du chemin implicite et du nom de fichier, Harmony applique les règles de traduction des noms de serveur et de chemin Harmony décrites précédemment.
Utilisez l'utilitaire Xpath.dhop pour gérer vos fichiers de chemins implicites.
Par Xlog1.dhop, associez un fichier de chemins implicites à chaque utilisateur.
Règles générales applicables aux noms de fichier Harmony
Dans tous les cas :
Le nom complet d'un fichier (chemin d'accès + nom proprement dit) ne doit pas dépasser 255 caractères.
Les utilitaires et outils d'Harmony limitent la longueur du fichier proprement dit à 32 caractères.
Aucune distinction n'est faite entre caractères minuscules et majuscules, à quelque niveau que ce soit (serveur, "chemin Harmony", unité disque, dossier, nom de fichier).
Dans les chemins d'accès, les séparateurs "\" et "/" peuvent être employés indifféremment.
Le chemin Harmony Divalto est prédéfini : il correspond au dossier x:/Divalto où x est l'unité disque sur laquelle a été installé le run-time d'Harmony.
Le dossier /Divalto/Sys est réservé aux fichiers et utilitaires "système".
Paramétrage des serveurs Harmony
Pour ses accès réseau à partir d'un poste client, Harmony utilise une table de serveurs. Chaque élément de cette table sert à identifier un serveur Harmony et à définir les paramètres nécessaires à la connexion au réseau. Le passage par cette table de serveurs est obligatoire en réseau Xlan.
Les serveurs Harmony sont localement déclarés dans le fichier /divalto/sys/Fconfig.dhfi. Les paramètres d'un serveur sont les suivants :
Numéro de serveur | Clé d'identification dans le fichier des serveurs. |
Nom de l'ordinateur | Mnémonique identifiant le serveur Harmony (32 caractères maximum). |
Adresse | Cette zone dépend du type du serveur :
|
Chemin SQL | Utilisé uniquement pour les entrées de type « Base SQL ». Représente la localisation du répertoire contenant les fichiers et les dictionnaires de la base. Par défaut, c'est « /divalto/nom de la base ». Via ce paramètre, on peut modifier cet emplacement. Par exemple : « /divalto/bases/client1/erpdivalto ». Pour les programmes, ce paramétrage est transparent. On continue à accéder à la base via le chemin « //serveur/nomBase/fichier.dhfi ». |
Commentaire | Texte libre. |
Type | Groupe de boutons radio précisant le type de serveur : |
Système d'exploitation du serveur | Système sur lequel tourne le serveur : Unix ou Windows. |
Numéro de port | Numéro du port TCP/IP du serveur Xlan : ce numéro doit être égal au paramètre NumeroService du fichier Divalto.ini du serveur. |
( * ) Cas particulier d'un serveur SQL : pour configurer un serveur de type "SQL", appelez le programme Xpsql.dhop et consultez la documentation en ligne (XlanSql).
Paramétrage des chemins Harmony
Les chemins Harmony utilisés sur un ordinateur sont localement déclarés dans le fichier /divalto/sys/Fconfig.dhfi. Chaque ligne contient les deux premiers paramètres suivants :
Nom du chemin | Mnémonique identifiant le chemin Harmony (32 caractères maximum). |
Chemin | Chemin d'accès représenté. |
Exemples :
Nom du chemin | Chemin |
Sources | c:/Divalto/Sources |
Compta | d:/Fichiers/Comptabilité |
Conseil pratique : Il est généralement inutile de créer des chemins Harmony sur les postes autonomes ou les postes clients d'un serveur. Réservez les chemins Harmony aux serveurs Xlan.
Attention : en local, un chemin Harmony ne doit jamais en référencer un autre (la récursivité est interdite). Par exemple : La définition de chemins suivante est correcte : Divalto = c:/Divalto/ Sources = c:/Divalto/Sources/ Mais celle-ci est erronée : Divalto = c:/Divalto/ Sources = /Divalto/Sources/
Réservation globale ou réservation par base sur un serveur
Principe : Pour gérer le partage des fichiers dans un contexte multi-utilisateurs, les programmes d'application effectuent des "réservations" sur le serveur de fichiers. Toute réservation spécifie le chemin Harmony d'accès au ( x ) fichier(s) concerné(s).
Définitions : Un serveur multi-bases est par exemple un serveur fonctionnant en mode ASP qui héberge les mêmes applications pour des sociétés utilisatrices différentes, ou un serveur sur lequel sont stockées à la fois une base en exploitation et une base de test. Sur ce serveur, cohabitent donc plusieurs exemplaires physiques des mêmes fichiers logiques. Bien entendu, les réservations faites pour une société A n'ont alors rien à voir avec celles faites pour la société B et il faut les différencier. Nous utiliserons dans la suite de cette rubrique le mot Structure pour désigner par exemple la société X ou le groupe des utilisateurs de la base de test ou le groupe des utilisateurs de la base en exploitation.
On distingue alors deux cas :
Tous les utilisateurs appartiennent à la même structure. Le serveur est mono-base et les réservations peuvent être globales à tout le serveur : on parle alors de réservation "Par Serveur". C'est le mode par défaut.
Les utilisateurs appartiennent à différentes structures. Le serveur est multi-bases et les réservations doivent être spécifiques à chaque base : on parle alors de réservation "Par Base". Dans ce cas, remarquez que chaque structure dispose bien entendu, sur le serveur, d'un jeu de chemins Harmony qui lui est propre.
Les deux derniers paramètres d'un chemin Harmony peuvent être ignorés dans le cas le plus courant d'un serveur mono-base (ainsi que sur les postes clients). Ils permettent de mettre en oeuvre une réservation "Par Base" sur un serveur multi-bases, pour CE chemin :
Multi-base (en mode liste) Réservation par base (en mode fiche) | Cochez cette case pour activer la réservation "Par Base". |
Nom à utiliser pour les réservations | Pour qu'une même réservation programmée aboutisse en final à des réservations spécifiques à chaque base, Harmony lui ajoute un mnémonique complémentaire.
|
Remarques :
Pour les bases de données SQL, les réservations sont toujours faites "Par Base".
Même si les réservations sont normalement faites "Par Base", il reste possible d'effectuer certaines réservations "Par Serveur" : il suffit, pour ces réservations, de spécifier un chemin pour lequel l'option multi-base n'est pas cochée (par exemple, le chemin /divalto du serveur).
Toutes les réservations qui ne sont pas faites via un chemin comportant l'option "Par Base" sont globales au serveur. C'est en particulier le cas lorsqu'une réservation est effectuée directement sur le serveur avec un chemin Windows (par exemple c:\divalto\fic).
Exemples :
Nom du chemin | Réservation par base | Nom pour les réservations | Complément aux réservations | Commentaire |
Fichiers | Non | - | - | Réservation "par Serveur" |
BaseReelleFic | Oui | BaseReelleFic | Nom du chemin | |
BaseTestFic1 | Oui | BaseTest | BaseTest | Complément commun |
BaseTestFic2 | Oui | BaseTest | BaseTest | Complément commun |
SocieteAFic | Oui | SqlSocieteA | SqlSocieteA | Nom de la base SQL |
Paramétrage des chemins implicites
Sous Harmony, chaque utilisateur dispose d'une liste de chemins d'accès dits chemins implicites. Ainsi, lorsque le chemin d'accès complet à un fichier n'est pas précisé (ce qui est généralement le cas), Harmony le recherche d'abord en suivant le premier chemin implicite puis, si nécessaire, en suivant le second, le troisième et ainsi de suite jusqu'à trouver le fichier.
Une liste de chemins implicites est enregistrée dans un fichier .txt (un fichier par liste). La constitution d'un tel fichier s'obtient en faisant appel à l'utilitaire Xpath.dhop.
Chaque ligne d'un fichier d'implicites contient un chemin d'accès (local ou réseau). Le nombre total de lignes n'est pas limité.
Exemples :
/divalto/sys/ d:/src/ //serveurcompta/fichiers/
Remarques :
S'il n'est pas présent dans une liste, le chemin implicite /Divalto/Sys/ (qui mène au dossier "système" d'Harmony) est automatiquement ajouté en fin de liste.
Pour améliorer les performances, il est conseillé : . De placer les chemins menant à des dossiers locaux avant les chemins menant sur le réseau. . De placer le chemin /Divalto/Sys/ en tête de liste. . De réduire le nombre d'implicites au minimum, afin de limiter les recherches inopérantes lors de l'accès aux fichiers.
Fichiers de chemins implicites et utilisateurs
Chaque utilisateur déclaré dans la base des utilisateurs d'Harmony peut disposer de son propre fichier de chemins implicites mais un même fichier peut aussi être affecté à plusieurs utilisateurs (l'association d'un fichier de chemins implicites à chaque utilisateur s'effectuant par Xlog1.dhop).
Remarque : Si aucun fichier n'est spécifié dans les paramètres d'un utilisateur, Harmony lui affecte automatiquement le fichier ImplicitesDefaut.txt.
En pratique, le plus simple est de limiter au maximum le nombre de fichiers présents sur le site. A cet effet, on pourra par exemple affecter le même fichier aux utilisateurs qui exécutent les mêmes applications (et qui par voie de conséquence accèdent aux mêmes fichiers).
Exemple :
Sur un site, les utilisateurs LISE, JEAN, PAUL et MAX travaillent sur la compta et la gestion commerciale ; LINE et CATY uniquement sur la compta ; LUC uniquement sur la paie. On simplifie le paramétrage se limitant à 3 fichiers d'implicites :
Paie.txt : spécifié dans les paramètres de l'utilisateur LUC, il contient les chemins d'accès aux fichiers de la paie.
Compta.txt : spécifié dans les paramètres des utilisateurs LINE et CATY, il contient les chemins d'accès aux fichiers de la compta.
ImplicitesDefaut.txt : contient les chemins d'accès aux fichiers de la compta et de la gestion commerciale (aucun fichier n'étant spécifié dans les paramètres des utilisateurs LISE, JEAN, PAUL et MAX).
Implantation des fichiers d'implicites en réseau
Les fichiers d'implicites peuvent être stockés en local. Mais dans ce cas, les fichiers communs à plusieurs utilisateurs (voir l'exemple précédent) devront être créés plusieurs fois.
Pour éviter cette redondance, on aura intérêt à centraliser la gestion des fichiers d'implicites et donc à implanter ces fichiers sur le serveur. Pour demander à Harmony de chercher les fichiers d'implicites sur le serveur plutôt qu'en local (la recherche en local étant la méthode par défaut), il faut modifier le chapitre [System] du fichier Divalto.ini des postes client pour y faire figurer la ligne :
ServeurXlogf=nom_du_serveur
où nom_du_serveur est le nom Harmony du serveur concerné dans la table des serveurs.
Remarques :
Sur le serveur, les fichiers d'implicites doivent être rangés dans le dossier /Divalto/Sys.
La centralisation de la gestion des fichiers d'implicites va de pair avec celle des utilisateurs.
Conseils pratiques :
Centralisez la gestion des utilisateurs et des chemins implicites. Remarque : la gestion des serveurs et des chemins Harmony ne peut pas être centralisée.
Limitez au maximum le nombre de fichiers de chemins implicites. Pour cela, affectez le même fichier aux utilisateurs qui exécutent les mêmes applications. Utilisez le fichier d'implicites par défaut ImplicitesDefaut.txt pour les utilisateurs "majoritaires". Créez de nouveaux fichiers uniquement pour les autres utilisateurs.