Le mode Client/Serveur est un mode de fonctionnement qui présente les avantages suivants :
Gestan peut fonctionner en mode C/S depuis la version 13.0R de Gestan Entreprise. Il ne comporte aucun surcoût, le serveur HFSQL étant disponible gratuitement.
Le tutorial ci-dessous permet à toute personne disposant de compétences informatiques de base de réaliser par elle-même cette installation. Si tel n'était pas le cas, le support technique peut l'effectuer pour vous.
Dans le mode “classique”, le programme (Gestan.exe) discute directement avec la base de données (les fichiers xxxxx.FIC, .NDX et .MMO). La gestion des accès aux données est assurée exclusivement par le système d'exploitation (lectures, mises à jour, accès concurrents, caches, …), en l'occurrence Windows, et utilise le système de partage de données de Windows.
En mode Client/Serveur, le programme Gestan.exe discute avec un serveur logiciel de données (le serveur HFSQL), et c’est ce serveur qui interroge la base et renvoie les données demandées. Le partage de fichier Windows n'est plus utilisé : seul le serveur HFSQL se charge, sur le serveur, de l'accès aux données.
Techniquement, cela a deux avantages :
Tout d'abord, installez Gestan classiquement sur le serveur physique, cela nous aidera par la suite.
Le serveur HFSQL (anciennement “Serveur Manta”) est disponible gratuitement sur le site de PCSoft, pour Windows ou pour Linux.
Vous y trouverez également un cluster avec équilibrage de charge, pour les cas d'utilisation avec de très nombreux utilisateurs.
Le programme s'installe par défaut dans C:\Program Files\PC SOFT\Serveur HyperFileSQL.
Vous pouvez installer tout ordinateur de votre réseau local :
Au moment de l'installation, vous pourrez déclarer des codes et des mots de passe pour les utilisateurs autorisés à se connecter et/ou administrer le serveur.
Le champ Répertoire des bases de données de l'onglet Configuration précise l'endroit où sont stockées les bases de données.
Par défaut, le répertoire est %%EXE%%\BDD, c'est à dire par exemple C:\PC SOFT\Serveur HFSQL app4\BDD pour une machine sous windows 10 ou supérieur, dont le “nom windows” serait app4 (le serveur HFSQL avait donc été installé dans le répertoire par défaut, C:\PC SOFT\Serveur HFSQL app4\)
Il est préférable de désigner un répertoire plus facile d'accès, par exemple C:\BDD-HFSQL, de manière notamment à rendre plus pratiques les sauvegardes.
Pour arrêter les services HFSQL : Panneau de Configuration → Outils d'administration → Services, et arrêter les services Hyper File Server et MantaManager.
Il faut maintenant importer votre base “Classique” dans le serveur HFSQL, via le bouton ci-dessous.
Le centre de contrôle vous demandera de préciser :
A partir des versions 15.41.00/U03, Gestan comprend un menu spécifique aux installations client/serveur : Outils → Administration → Outils spéciaux → Nettoyage liaisons. Cette procédure va nettoyer les liaisons erronées éventuelles de la base de données, qui sont crées de manière aléatoire au moment de l'importation. Il s'agit là d'un très ancien bug du serveur HFSQL, signalé aux services de PCSoft il y a environ une dizaine d'années, mais que leurs services n'ont jamais pris le temps de corriger.
Vifs remerciements à Yves B., consultant informatique, pour la détection du problème.
Depuis le 01/01/2018, la loi française imposant aux éditeurs de logiciels des conditions drastiques de verrouillage des données, l'ensemble des fichiers de Gestan est crypté et protégé par mot de passe. Vous n'avez toutefois pas besoin de ces mots de passe pour l'importation: pour rendre optionnel le mot de passe, ne renseignez pas l'emplacement de l'analyse.
La connexion HFSQL utilise normalement le port 4900, mais rien ne vous interdit d'utiliser un autre port. Normalement le programme d'installation du serveur HFSQL l'ouvre automatiquement, mais si vous aviez à le vérifier, voici les éléments.
Le port de communication (normalement 4900) soit être ouvert en TCP, comme paramétré ci-dessous (vous pouvez restreindre l'exception à votre réseau interne)
- Sous Windows 2012
- Sous Windows Server 2008 R2
Pour vérifier que votre port 4900 est ouvert, vous pouvez utiliser telnet (telnet [IP] 4900).
Si vous avez une box internet et un réseau local, il faut probablement ajouter une règle de redirection de ports.
Ci-dessous le réglage d'une livebox d'Orange pour un serveur HFSQL qui serait installé sur la machine 192.168.1.100
Ce paramétrage fonctionne avec une LibeBox V3, mais n'est plus fonctionnel avec une V4.
http://www.forum-orange.com/viewtopic.php?id=78043
Voir aussi :
Si vous souhaitez que les données Gestan de votre propre serveur puissent être accessibles depuis l'extérieur via Internet (le protocole HTTP), il faut ouvrir votre port 4900 en TCP. Depuis les machines client, il faudra indiquer l'adresse IP de votre serveur.
Il faudra ouvrir un port dans le firewall protégeant le serveur.
On pourra au choix :
Si le client utilise un firewall, de la même manière, il faut que celui-ci permette aux applications de se connecter via le port utilisé vers l'extérieur
Il faut ensuite indiquer les paramètres de connexion à Gestan.
Pour ce faire, sous Gestan, utilisez le menu outils → Administration → Gestion multi-entreprise, puis le bouton Nouveau.
Décrivez la connexion, tel que détaillé, en mode LAN ou en mode WAN.
Et voilà !
Les temps de réponse dépendent pour partie de la qualité de votre connexoin Internet, dont vous pouvez tester le débit.
Pour faire la migration inverse, c'est à dire passer d'un Gestan Client/Serveur à un Gestan Classique, rien de plus simple !
Il suffit d'aller dans le répertoire des données Client/Serveur (voir ce lien), et de faire un copier des fichiers *.fic, *.ndx et *.mmo qui se trouvent dans ce répertoire (c'est à dire tous les fichiers), et de les coller dans un répertoire DATABASE local (par exemple C:\GESTAN\DATABASE).
Puis, dans Gestan, via le menu “Gestion multi entreprise”, vous déclarez une nouvelle connexion classique, en désignant ce répertoire local comme répertoire de base (ici, C:\GESTAN)
On ne le répétera jamais assez : la définition d'une stratégie de sauvegarde robuste est la mission première de tout responsable informatique d'une société.
Sans que cela soit la seule solution, le centre de contrôle dispose d'un outil qui permet d'automatiser les sauvegardes.
Pour cela :
Même si ces informations datent un peu - Merci à Guillaume Bayle - PC Soft - elles demeurent intéressantes.
Sur quels points porter son attention pour une configuration correcte en mode Client/Serveur ? (certains points sont aussi valables pour l'optimisation des temps de réponse en mode classique en réseau)
Le plus important est d'avoir une quantité de mémoire suffisante sur le serveur. En effet, lorsque la mémoire vient à manquer le système utilise un fichier d'échange sur disque (swap) qui fait chuter les performances, jusqu'à rendre les temps de réponse absolument horribles si le fichier d'échange mémoire de Windows est sur le même disque que les données du moteur HyperFileSQL Client/Serveur.
De façon générale, 8 Go de RAM sont un bon point de départ. C'est la mémoire standard sur les configurations serveur actuelles.
Pour une évaluation précise de la quantité de RAM nécessaire, elle peut être faite lors de tests “grandeur nature” de l'application, en s'appuyant sur les statistiques d'activité du serveur. Il suffit, dans le centre de contrôle HyperFileSQL, d'aller sur le volet “Logs et statistiques”, puis de : - indiquer la période de test, - cliquer sur “Afficher”, - utiliser le volet “Paramètres” de la fenêtre “Statistiques d'activité du serveur HyperFileSQL”, pour connaître la RAM utilisée, l'utilisation des caches…
Vous pouvez ainsi évaluer finement la RAM utilisée par une ou plusieurs connexions, afin d'évaluer la RAM nécessaire suivant le nombre de postes à connecter au serveur lors de la mise en production.
Il ne faut pas oublier de prendre en compte la RAM également nécessaire au système (1 Go minimum), et aux autres applications.
Attention, système et processeur ont une grande incidence sur la mémoire. En 32 bits, un processus ne peut théoriquement pas allouer plus de 2 Go (environ 1,6 Go au maximum dans la pratique). Si les estimations des besoins en RAM sont au-delà de 2 Go, il faut donc un processeur 64 bits.
Lorsque le serveur a la bonne quantité de mémoire, vous êtes déjà assuré d'avoir de bon temps de réponse. Pour les améliorer, il faut des disques rapides : 7 400 tours 15 000 si possible. Pour des performances optimales, il est préférable d'opter pour :
Si la quantité de RAM n'est pas facteur limitant, la rapidité du processeur aura une incidence sur la réponse du serveur. Un processeur “Xeon” ou plus sera à privilégier, si les applications exécutent de nombreux traitements sur le serveur (procédures stockées, triggers…)
Utilisez des routeurs de bonne qualité. En particulier, les fonctions de routage de certaines boxes sont franchement mauvaises.
Le moteur HyperFileSQL Client/Serveur est disponible pour Windows en 32 et 64 bits, et pour Linux en 32 bits. Il est donc possible d'utiliser un serveur sous Windows ou sur Linux, le choix est à effectuer en fonction des habitudes et compétences des équipes en charge de l'administration.
Pour Windows toutes les versions peuvent convenir. Une version “serveur” sera cependant à privilégier pour les meilleures performances, et la sécurité du système.
Pour Linux les distributions les plus utilisées sont les suivantes : Debian 4.0 (Etch), OpenSuse 10.3, Ubuntu 7.10 et 8.04, Fedora 8 et 9, Mandriva 2008.
Voir aussi sur le blog de PCSOFT :
Lorsque vous faites fonctionner Gestan en mode Client/Serveur, vous pouvez installer le serveur HFSQL sous Linux.
Et si l'accès aux fichiers est géré par SAMBA sous cette machine, un paramétrage spécifique est nécessaire.
Dans le fichier smb.conf qui se trouve communément sous /etc/samba, il faut rajouter ou modifier les paramètres suivants dans la section [global] du fichier.
[global] locking = yes strict locking = yes share modes = yes oplocks = no kernel oplocks = no blocking locks = no fake oplocks = no level2 oplocks = no
Ensuite, il est nécessaire de redémarrer le service Samba pour prendre en compte le nouveau paramétrage.
L'utilisation d'un serveur HFSQL permet de mettre en place des solutions permettant de garantir la résilience de vos données :
En mode Client/Serveur, vous pouvez obtenir ce message, lorsque vous générez une pièce à partir d'une autre (création d'une facture à partir d'un devis, par exemple) :
Les cardinalités côté clé étrangère (1,1) entre les rubriques <FACTURE.IDFACTURE> et <FACTLIGNE.IDFACTURE> ne sont pas respectées.
Ce bug provient d'une erreur dans le programme Serveur HFSQL de PCSoft, concernant les fichiers aliasés, comme le sont FACTURE et FACTURELIGNE. Nous l'avons signalé à la société PCSoft depuis des années, mais le support technique de PCSoft a, comme trop souvent, botté en touche en disant que puisqu'ils ne pouvaient pas reproduire le problème, c'est qu'il n'y avait pas de problème…
Fort heureusement, un utilisateur de Gestan, expert chevronné HFSQL, a réussi à identifier correctement le problème que PCSoft avait refusé de considérer, et écrire le programme de nettoyage correspondant, que nous avons intégré dans Gestan. Qu'il en soit ici vivement remercié.
Utilisez le menu Outils → Administration → Outils spéciaux → Nettoyer les liaisons.
Le programme se lance, et résous immédiatement le problème.
Vous pouvez contrôler la résolution en générant une facture à partir d'une autre pièce dont le n° de facture n'existe pas. Par ex, vous avez les factures de 1 à 10. Mettez vous sur la liste des devis, sélectionnez le devis 11 (ou supérieur), et cliquez sur “Gen facture”. Si tout se passe bien, c'est que le problème est résolu correctement.
Autres articles “Technique”