PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Projet windev en réseau avec HFSQL classic sur NAS
Projet windev en réseau avec HFSQL classic sur NAS
Débuté par Bruno SANTI, 17 mar. 2018 20:18 - 12 réponses
Membre enregistré
8 messages
Posté le 17 mars 2018 - 20:18
Bonjour,
Nous travaillons à 4 avec des logiciels bureautiques avec un réseau de partage de fichiers et de sauvegarde sur un NAS.
La dernière fois que j'ai utilisé windev, c'était en 1995 (version 2.0 je crois).
Je projette de créer une petite application windev HFSQL classic réseau pour notre activité (bureau d'étude thermique). J'ai n'ai réalisé auparavant que des applications monopostes. Je n'ai pas de connaissances Réseau.
Est-ce faisable sur un Synology DS216j ?
Et si oui, je suis preneur de tous les conseils de personnes qui veulent bien m'aider dans la mise en oeuvre de ce petit projet.
D'avance, merci
Membre enregistré
24 messages
Popularité : +4 (6 votes)
Posté le 18 mars 2018 - 02:39
Bonjour,

Tu ne peux pas installer de serveur HFSQL C/S sur ton NAS.
Ceci dit tu peux partager (avec droit d'écriture) un répertoire du NAS sur le réseau et y déposer les fichiers HFSQL Classic.
Exemple :
HChangeLocalisation("*",hDisque)
HChangeRep("*",Chemin_vers_le_NAS)
Liste_Fichiers est une chaîne UNICODE=fListeFichier(Chemin_vers_le_NAS+["\"]+"*.*",fCheminUNICODE+frNonRécursif)
POUR TOUT CHAÎNE NomFichier de Liste_Fichiers SEPAREE PAR RC
SI HFichierExiste(NomFichier) ALORS
HPasse(NomFichier,"mot_passe_fichiers")
SINON
HCreation(NomFichier,"mot_passe_fichiers")
FIN
FIN


--
Logiciel iWeb, pour aider les professionnels du SEO/SMO : Impulse-web.com
Membre enregistré
232 messages
Popularité : +23 (23 votes)
Posté le 18 mars 2018 - 03:04
Bonjour,

Votre besoin n'est pas très détaillé, mais voici comment je m'y prendrais. En espérant ne pas être à côté de la plaque par rapport à votre demande.

Primo, il faut distinguer le stockage des fichiers (Word, PDF, Excel, ...) générés par votre activité, et le stockage des données diverses en base de données.

1/ Stockage des fichiers :
Plusieurs solutions :
1a/ Stockage des fichiers dans une base de données, dans des champs Memo : Ce mode de fonctionnement est très sécurisé, mais il est long à développer, et il empêche de lire les fichiers en dehors de votre application. Je ne pense pas que c'est ce dont vous avez besoin.

1b/ Stockage des fichiers bruts dans un ou des répertoires partagés sur le NAS :

1ba/ Si ces répertoires sont accessibles avec le même chemin d'accès (même lettre de lecteur) depuis tous les ordinateurs du réseau, vous pouvez créer une table Paramètres dans la base de données globale (voir paragraphe 2). Dans cette table, vous mémorisez le chemin d'accès des fichiers, ou de chaque type de fichier. Ainsi, depuis votre application vous serez à même de lister les fichiers, et de les ouvrir depuis votre application (LanceAppliAssociée).

1bb/ Si les répertoires ne sont pas partagés avec la même lettre de lecteur sur tous les pc du bureau, alors je vous conseille de créer une table ParamètresLocaux. Cette table devra être stockée sur le poste local de chaque utilisateur (dans le répertoire fRepDonnéesUtilisateur par exemple), et accédée en mode HFSQL Local. Et c'est dans cette table-là que chaque utilisateur devra paramétrer le chemin d'accès du ou des répertoires partagés.
NB : Juste au cas où vous seriez vraiment novice, vous pouvez tout à fait avoir la plupart des données de l'application sur une base HFSQL Client/Serveur, et d'autres fichiers en mode HFSQL Local. Ce, grâce au type de variable Connexion, et à l'ordre hChangeConnexion.


2/ Base de données HFSQL.

Votre base de données HFSQL peut être hébergée sur votre NAS Synology, grâce aux conteneurs Docker. Allez dans le centre de paquets, et installez Docker.
Ensuite, il vous faudra installer la version Docker de HFSQL. Chez moi elle tourne nickel. Par contre ça ne s'installe pas aussi simplement qu'un exécutable Windows (hélas), et il vous faudra paramétrer correctement le pare-feu du NAS et faire une redirection de ports adéquate. Désolé, je n'ai plus en tête le détail de cette procédure car j'ai fait ça il y a plus d'un an, mais c'est faisable et au final ça donne toute satisfaction. Pour un réseau de quelques utilisateurs comme vous, ça ira parfaitement.

Une chose importante à savoir si vous voulez utiliser HFSQL Docker : Je n'ai pas trouvé comment mettre à jour le serveur HFSQL (pour passer de la v22 à la v23). Pour ma part, j'ai dû sauvegarder mes tables, supprimer mon conteneur Docker HFSQL v22, recréer un conteneur Docker HFSQL v23, re-paramétrer mon serveur, et réinjecter mes bases de données... A faire tous les ans si on veut tenir son serveur à jour, c'est un peu contraignant. Sauf si quelqu'un connait la procédure de mise à jour et qu'il veut bien la partager.

En espérant vous avoir aidé un peu.

Cordialement,

Marc.
Membre enregistré
232 messages
Popularité : +23 (23 votes)
Posté le 18 mars 2018 - 03:06
Olivier BLAIS a écrit :
Bonjour,

Tu ne peux pas installer de serveur HFSQL C/S sur ton NAS.
Ceci dit tu peux partager (avec droit d'écriture) un répertoire du NAS sur le réseau et y déposer les fichiers HFSQL Classic.
Exemple :
HChangeLocalisation("*",hDisque)
HChangeRep("*",Chemin_vers_le_NAS)
Liste_Fichiers est une chaîne UNICODE=fListeFichier(Chemin_vers_le_NAS+["\"]+"*.*",fCheminUNICODE+frNonRécursif)
POUR TOUT CHAÎNE NomFichier de Liste_Fichiers SEPAREE PAR RC
SI HFichierExiste(NomFichier) ALORS
HPasse(NomFichier,"mot_passe_fichiers")
SINON
HCreation(NomFichier,"mot_passe_fichiers")
FIN
FIN


--
Logiciel iWeb, pour aider les professionnels du SEO/SMO : Impulse-web.com



Si si, depuis la v22 grâce à la version Docker. Ce qui est beaucoup plus sécure et propre qu'une utilisation HFSQL Local en mode partage réseau, qui est extrêmement lente et gourmande en ressources du LAN. De plus du HFSQL Local en mode multi utilisateurs ?? Je n'ai jamais tenté alors je ne m'avance pas trop, mais d'instinct je serais surpris que ça fonctionne.

Cordialement,

Marc.
Message modifié, 18 mars 2018 - 03:09
Posté le 18 mars 2018 - 10:16
Attention... j'ai eu de très gros soucis en hébergeant des fichiers hf classique sur un synology, et c'est tres aléatoire

Du genre problème que tu as spécifiquement sur 3 sites avec des NAS et que tu n'as jamais eu sur 200 autres avec les fichiers sur un PC windows

Je cite ( par ordre d'importance ) : les mêmes requêtes qui retournent des résultats complètement différents ,perte de données et fichiers corrompus

le problème se pose quand plusieurs utilisateurs accèdent à la base en écriture ou qu'une tâche qui utilise les fichiers est exécutée sur le NAS

perso plus question d'utiliser de sinology pour y mettre des fichiers séquentiel indexés .... et au final ce n'est pas fait pour cela, préférez un mini pc windows, ce n'est pas la différence de prix qui va poser problème

Bon Dev
Marc Fastré
www.marc-fastre.be
Membre enregistré
8 messages
Posté le 18 mars 2018 - 12:54
Merci à tous pour vos réponses.
Je voulais surtout m'assurer de la faisabilité avant de commencer.
Il ne me reste plus qu'à tester les différentes solutions proposées.
Cordialement ,
Bruno
Membre enregistré
24 messages
Popularité : +4 (6 votes)
Posté le 20 mars 2018 - 03:09
Bonjour,

Suite à la remarque de MARC ci-dessus, j'ai été voir la page https://doc.pcsoft.fr/fr-FR/?3044304&name=Parametrage_du_serveur
Où nous pouvons lire :
Installation via Docker
Pour utiliser ce mode d'installation, utilisez l'adresse suivante : https://hub.docker.com/r/windev/hfsql/

Il suffit dans le NAS d'ajouter le paquet DOCKER puis d'ajouter via son registre le conteneur WINDEV-HFSQL,depuis l'URL ci-dessus(c'est pas la seule méthode mais ce n'est pas le propos de mon post, j'y viens...)

Une fois l'image montée du conteneur WINDEV-HFSQL, le serveur HFSQL est immédiatement disponible et cela fonctionne parfaitement.





Attention toutefois :
Depuis le centre de contrôle le port 4999 pour détecter si un serveur Manta fonctionne sur le machine distance ne fonctionne pas. Pas plus que le port 4900 par défaut.

Mais le serveur est bien disponible sur le port locale 32771 (attribué par défaut) ! Avec login=admin et password="" par défaut...
Ce port est paramétrable dans le Conteneur WINDEV-HFSQL quoiqu'il en soit (voir capture d'écran ci-dessus)

J'ai fais quelques tests cela fonctionne parfaitement bien entre une application et le serveur "NAS".

Ceci dit je ne connais rien à l'architecture du NAS (exploitée sous Linux) et mes compétence en la matière s'arrête là !

Je vois que le serveur HFSQL se trouve à /opt/hfsql/ ce qui ne veux rien dire pour moi.
Mon but est de mettre la base de données dans le répertoire que j'ai créer docker/HFSQL et les sauvegardes dans docker/Backup.
Voir ci-dessous, mais cela n'est à priori pas pris en compte. Je pense pas avoir paramétré l'onglet Volume comme il se doit !





Quelqu'un saurait-il comment faire ?

--
Logiciel iWeb, pour aider les professionnels du SEO/SMO : Impulse-web.com
Message modifié, 20 mars 2018 - 03:13
Posté le 20 mars 2018 - 21:24
Merci encore. Mais je viens de découvrir aujourd'hui que docker n'est pas supporté par mon NAS Synology DS216j. Est-ce que cela veut dire que je ne pourrai pas créer une application réseau ?
Bruno
Membre enregistré
54 messages
Popularité : +1 (1 vote)
Posté le 21 mars 2018 - 08:58
Salut,

Tu pourra mais il faudra prendre des mesures de contrôle des données (réindexation automatique...)

Hugotor
Membre enregistré
232 messages
Popularité : +23 (23 votes)
Posté le 21 mars 2018 - 13:33
Salut,

Est-ce que ça ne vaudrait pas le coup de mettre quelques centaines d'euros pour un NAS plus gros ? Tu n'aurais qu'à y transférer tes disques du DS216 pour récupérer toute ta configuration.
Posté le 21 mars 2018 - 21:09
Effectivement ! Mettre un NAS plus gros et supportant Docker, Je m'oriente vers cette solution. Ça me permettra en plus de tester une solution tranquillement sans toucher aux machines que nous utilisons tous les jours pour notre activité.
Membre enregistré
232 messages
Popularité : +23 (23 votes)
Posté le 22 mars 2018 - 13:35
Perso je tourne avec un DS916+. Pour un peu plus de 500€ TTC, ça va bien. Il assurera sans aucune difficulté tes besoins pour un bureau de 4 personnes.
Et puis le gros avantage de Synology c'est que tu peux simplement transférer tes disques, en rajouter si tu veux, sans n'avoir aucune configuration ou installation à faire.
Membre enregistré
8 messages
Posté le 14 avril 2018 - 19:07
Bonjour,
J'ai finalement acheté un NAS DS718+.
Après avoir renvoyé le premier reçu HS, le deuxième tourne maintenant avec docker ajouté.
La suite, je ne comprend pas comment monter l'image. Vous dites :

ajouter via son registre le conteneur WINDEV-HFSQL,depuis l'URL ci-dessus(c'est pas la seule méthode mais ce n'est pas le propos de mon post, j'y viens...)
Une fois l'image montée du conteneur WINDEV-HFSQL, le serveur HFSQL est immédiatement disponible et cela fonctionne parfaitement.

Pourriez-vous détailler la procédure, SVP