• Advertisement

Listes / combos et HyperFileSql Client / Serveur

Tout ce qui concerne la version 11 & plus récentes de windev

**Windev est une marque déposée de Pcsoft**

Listes / combos et HyperFileSql Client / Serveur

Messagepar Aubam » Mar Fév 14, 2012 4:05 pm

Bonjour à tous les membres du forum,

J'aurai aimé avoir quelques précisions concernant la relation entre des listes / combos et des fichiers HyperFileSql Client / Serveur.

Je vous explique : mon logiciel est composé de plusieurs combos et listes dont le contenu était jusqu'ici lié à des fichiers .fic (HyperFileSql Classic).

Mon souhait est à présent de faire en sorte que le contenu des listes / combos se mette à jour automatiquement sans mise à jour du logiciel requise.

J'ai donc transformé les fichiers HyperFileSql Classic en HyperFileSql Client / Serveur et je les ai envoyé sur un serveur approprié.

Voici donc mes interrogations :

- comment faire en sorte que le logiciel, sur n'importe quel pc, puisse se connecte au serveur et actualiser à chaque démarrage le contenu des combos,

- comment modifier le contenu des fichiers HyperFile présents sur le serveur (y ajouter des lignes en somme).

Je vous remercie par avance.
Aubam
Nouveau Membre
 
Messages: 6
Inscription: Mar Fév 14, 2012 3:43 pm

Advertisement

Re: Listes / combos et HyperFileSql Client / Serveur

Messagepar Daniel-Québec » Mar Fév 14, 2012 9:30 pm

Bonjour et bienvenue sur ce forum,

Un petit complément...

Lorsque tu précises "n'importe quel PC", est-ce alors une connexion "web", car en CS la mise à jour devrait alors être automatique ?

Ce que je ne comprends pas (mais il y a bien évidement une bonne raison :P ), c'est que tu parles de mise à jour de combos et de listes sans mise à jour de programme... Logiquement ton programme devrait être indépendant des données ?

Une solution simple mais dépendant de la taille de tes fichiers liés, seraient de les mettre sur un serveur web et de modifier ton programme pour que à chaque lancement il fasse une vérification de la date de fichier (ou autre critère) et si modif télécharger ceux nécessaires. Le principe serait le même que la vérification d'une mise à jour sur le net, mais dans ce cas, il n'y a qu'une personne qui fait les ajouts ??? Tu peux aussi voir ce lien http://www.kalanda.net/

Bon dev ! Daniel.
Avatar de l’utilisateur
Daniel-Québec
Membre Confirmé
 
Messages: 836
Inscription: Mer Sep 10, 2008 2:24 pm
Localisation: Saint-Luc-de-Bellechasse (Qc)

Re: Listes / combos et HyperFileSql Client / Serveur

Messagepar Aubam » Mer Fév 15, 2012 11:57 am

Bonjour et merci,

Oui lorsque je parle de "n'importe quel pc", c'est conditionné à ce que ceux ci soient connectés au web.

Lorsque la première version du logiciel a été éditée, le contenu des combos et des listes se faisaient par programmation.
Problème : ces éléments nécessitent des actualisations régulières, donc des mises à jour du logiciel répétées...

J'ai réalisé des tests avec un code, les fichiers .fic se récupérant alors sur un serveur Ftp à chaque démarrage :
Code: Tout sélectionner
// Suppression du fichier fic
   fSupprime(SysRep(srProgramFiles)+"\répertoire\données.FIC",frLectureSeule+frRécursif)
// Remplacement du fichier fic
   FTPRécupère(Connexion, "données.FIC", SysRep(srProgramFiles)+"\répertoire\")

Le souci c'est simplement que la suppression du fichier ne se fait pas car il est utilisé par le logiciel lui-même...

J'ai donc pensé aux fichiers HyperFileSql qui, si j'ai bien compris, peuvent être actualisés "à chaud".
J'ai pris un mois d'essai chez "Kalanda" pour un serveur HyperFIleSql, les fichiers .fic ont été transférés mais de là je ne vois pas comment les exploiter...

Pour d'autres éléments du logiciel, des programmes intégrés, j'envisageais une vérification de la date de fichier ou de version.. mais là encore ça me parait complexe.
En effet, une seule personne fait des ajouts sur le serveur Ftp.
Aubam
Nouveau Membre
 
Messages: 6
Inscription: Mar Fév 14, 2012 3:43 pm

Re: Listes / combos et HyperFileSql Client / Serveur

Messagepar Daniel-Québec » Mer Fév 15, 2012 3:45 pm

Bonjour,

Donc il y a qu'un seul fichier.

Pour faire très simple, tu peux essayer une connexion ftp et à la mise à jour, faire un hferme() sur le fichier. Normalement, tu ne doit pas rencontrer de blocage. Bien évidement, recréer les index avant de réutiliser si MAJ. Voici un bout de code grossier en exemple dans lequel la version du fichier est indiquée dans un fichier txt de 5 caractères... la vérification est instantannée
Code: Tout sélectionner
      
SI PAS InternetConnecté() ALORS
   Erreur("Vérification des MAJ impossible : aucune connexion internet active !")
SINON
   sVersionActuelle est une chaîne // la dernière dispo
   sVersionInstallée est une chaîne // la version installée à contrôler - ici pas "recherchée"
   sRépertoireMesDocuments est une chaîne // aller le chercher
   
   ResAppel est un booléen
  // Récupération de la valeur actuelle sur le site
  // ATTENTION : LE FORMAT DE LA VERSION DOIT ËTRE ici SUR 5 CARACTERES
  ResAppel = HTTPRequête("http://www.monsite.com/version.txt")
            
  SI ResAppel = Vrai ALORS
     sVersionActuelle=HTTPDonneRésultat() // la version sur le serveur
    Résultat est un entier = ChaîneCompare(Gauche(sVersionActuelle,5), sVersionInstallée,ccRespecteNumérique) // la version sur le PC
    SI Résultat = 0 ALORS
       Info("Vous utilisez la dernière version du fichier de données !")
    SINON   
       SI OuiNon(1,"Une nouvelle version " + sVersionActuelle + " est disponible sur le site internet."+RC+RC+"Voulez-vous la télécharger maintenant ?") ALORS
          IdFichier est un entier
          bDownloadFile est booléen = Faux

         // Tu peux aussi copier le fichier version.txt pour effectuer le contrôle de la prochaine fois.
         IdFichier = fOuvre(sRépertoireMesDocuments+"données.fic", foCréation) // place le fichier dans en répertoire en attente, pas dans la destination.
         SI IdFichier <> -1 ALORS
   bDownloadFile = HTTPRequête("http://www.monsite.com/données.fic")

   SI bDownloadFile ALORS
       fEcrit(IdFichier, HTTPDonneRésultat())
       fFerme(IdFichier)
                    Hferme(données.fic)
                    // Copie du données.fic vers la destination
                    // Réindexation
                    // Contrôle si correcte
       Info("La mise à jour est terminée.")
   SINON
                    Info("La mise à jour a échouée.")
... et lesFIN qui vont bien


Voilà une piste simple.

Bon dev ! Daniel.
Avatar de l’utilisateur
Daniel-Québec
Membre Confirmé
 
Messages: 836
Inscription: Mer Sep 10, 2008 2:24 pm
Localisation: Saint-Luc-de-Bellechasse (Qc)

Re: Listes / combos et HyperFileSql Client / Serveur

Messagepar Aubam » Mer Fév 15, 2012 4:18 pm

Un grand merci, je n'ai plus qu'à "broder" tout ça :)

En fait, j'ai plusieurs (5) fichiers .fic, désolé pour l'imprécision. Cela dit, seuls 2, au maximum, seront actualisés simultanément.

Juste une chose : qu'entends tu exactement par "réindexation". Je ne suis pas sur d'avoir bien compris.
Aubam
Nouveau Membre
 
Messages: 6
Inscription: Mar Fév 14, 2012 3:43 pm

Re: Listes / combos et HyperFileSql Client / Serveur

Messagepar Daniel-Québec » Mer Fév 15, 2012 4:52 pm

Le nombre de fichiers n'a en fait pas grande importance.

Tu fais version1.txt pour données1.fic, version2.txt pour données2.fic, etc... Le téléchargement est alors répété.

Pour la réindexation, c'est simplement si tes fichiers de données (.fic) utilisent des index. Dans ce cas, afin d'éviter de télécharger les index, il te faut les indexer avant utilisation, voir HRéindexe() dans l'aide.

Bon courage, Daniel.
Avatar de l’utilisateur
Daniel-Québec
Membre Confirmé
 
Messages: 836
Inscription: Mer Sep 10, 2008 2:24 pm
Localisation: Saint-Luc-de-Bellechasse (Qc)

Re: Listes / combos et HyperFileSql Client / Serveur

Messagepar Aubam » Ven Mar 02, 2012 2:09 am

Bonjour,

Je viens de me remettre au travail et je tiens à te remercier Daniel car ton aide s'est avérée précieuse !

Merci :-)
Aubam
Nouveau Membre
 
Messages: 6
Inscription: Mar Fév 14, 2012 3:43 pm



  • Advertisement

Retourner vers Forum windev 11 & plus récentes

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Exabot [Bot] et 0 invités