|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Bonne méthode pour paramétrage de l'application et déploiement |
Débuté par LC, 18 sep. 2018 19:49 - 10 réponses |
| |
| | | |
|
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 18 septembre 2018 - 19:49 |
Bonjour à tous, Assez débutant en Windev (déploiement), j'ai du mal à comprendre le mécanisme de paramétrage d'une application et le déploiement chez le client. Je voudrais avoir un avis éclairé de ce qui se pratique avec Windev sans réinventer la roue ni construire une usine à gaz. Car si j'ai migré certaines applications sur Windev, c'est que l'on m'a vanté de sa rapidité de développement avec le moins de code possible... Donc voici mon problème : j'ai donc une base HFSQL/C.S, lorsque je développe sur mon pc qui s'appelle PCDEDEV, j'ai donc un chemin dans ma connexion qui pointe sur cette base, je me suis aperçu que ça ne peut pas marcher lorsque je vais déployer tout ça dans le serveur de mon client. j'ai donc "enlever" le nom du serveur (image jointe) et je me suis fais un fichier INI dans le répertoire de mon serveur : [Serveur] Nom=PCDEDEV Port=4900 chez mon client je change donc le nom du serveur. et voici le code dans le projet :
NomDuFichierParam est une chaîne NomDuServeur, PortDuServeur sont des chaînes ConnexionPS_OK est une Connexion
SI fFichierExiste(fRepExe()+"\ParamGestionPublissud.ini") ALORS NomDuFichierParam = fRepExe()+"\ParamGestionPublissud.ini" NomDuServeur = INILit("Serveur","Nom","?",NomDuFichierParam) SI NomDuServeur = "?" ALORS Info("Le nom du serveur est incorrect") FinProgramme() FIN PortDuServeur = INILit("Serveur","Port","?",NomDuFichierParam) SI PortDuServeur = "?" ALORS Info("Le N° du port du serveur est incorrect") FinProgramme() FIN ConnexionPS_OK..Utilisateur = "admin" ConnexionPS_OK..MotDePasse = "" ConnexionPS_OK..Source = NomDuServeur + ":" + PortDuServeur ConnexionPS_OK..BaseDeDonnées = "Publissud" ConnexionPS_OK..Provider = hAccèsHFClientServeur ConnexionPS_OK..Accès = hOLectureEcriture SI HChangeConnexion("*", ConnexionPS_OK) = Faux ALORS Erreur("Erreur ChangeConnexion HFSQL : " + HErreurInfo()) FIN SI HOuvreConnexion(ConnexionPS_OK) = Faux ALORS Erreur("Erreur OuvreConnexion HFSQL : " + HErreurInfo()) FIN SINON Info("Le fichier de paramétrages de l'application est incorrect ou inexistant") FinProgramme() FIN
HSurErreur("*",hErrBlocage+hErrDoublon+hErrIntégrité+hErrModification+hErrPerteConnexion,F_erreur) HModifieStructure("*", hmsTâcheDeFond) mais voila, la première fois, pas de pb, mais lorsque je rajoute des fichiers dans mon application, suite évolution, lorsque je redéploie l'install, le programme veut mettre à jour la base et bien entendu il ne trouve pas le serveur du client .... je ne sais pas si mon explication est claire , et je ne sais pas si je procède correctement.. j'ai du mal à comprendre la liaison entre l'analyse et la base de données en elle même ... comment dois faire pour que l'application une fois chez mon client "sait" ou aller faire la synchro ?
|
| |
| |
| | | |
|
| | |
| |
Posté le 19 septembre 2018 - 14:48 |
bonjour
dans la logique c'est dans l'ordre HOuvreConnexion(ConnexionPS_OK) HChangeConnexion("*",ConnexionPS_OK)
après dans la generation de l’exécution il y a le numéro de version de l’exécutable |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 19 septembre 2018 - 16:14 |
Merci pour ta réponse mais ça ne répond pas à la question, j'ai bien vu la version mais je voudrais savoir comment on paramètre la connexion entre le fait que je sois sur mon pc de dev et chez le client (pas le même nom de serveur) |
| |
| |
| | | |
|
| | |
| |
Posté le 19 septembre 2018 - 20:55 |
bonsoir
HOuvreConnexion(ConnexionPS_OK) HChangeConnexion("*",ConnexionPS_OK)
si je fais comme cela l'ordre est important
on peux pas faire un HChangeConnexion apres HOuvreConnexion
tu a juste a faire une modif dans hfsql dans l'analyse sans mettre a jours ton serveur juste l'analyse et vérifier que ton serveur a fait la maj en lançant l'exe
sauf HChangeConnexion je passe a chaque fois le nom de la table au lieu * |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 19 septembre 2018 - 22:22 |
je n'arrive pas à me faire comprendre, comment la synchro peut se faire lorsque j'ainstalle la modif chez mon client ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 329 messages Popularité : +28 (32 votes) |
|
Posté le 20 septembre 2018 - 07:22 |
Tu pourrais peut-être changer d’approche, moi, dans un cas de figure comme le tien, je rajoute une ligne dans mon fichier hosts contenant le nom du serveur du client et l’ip 127.0.0.1 (localhost quoi).
Ensuite dans ma connexion j’utilise toujours le nom du serveur du client même sur mon poste de dev. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 28 messages Popularité : +1 (1 vote) |
|
Posté le 20 septembre 2018 - 08:13 |
N'oublie pas de faire un WDModFic sur tes base de production avec ton analyse actuel. Ça permettra de rajouter tes nouvelles rubriques aux fichiers existant. Sinon si tu as des données à importer, personnellement, je crée un programme temporaire qui va importer les données en BDD.
Si tu veux une connexion quand t'es en prod et une quand t'es en dev, tu devrait regarder la fonction EnModeTest(), pour savoir si t'es en dev, ensuite juste avant ta connexion et après le renseignement des variables de connexion, tu réécris tes variables avec tes identifiants de base de donnée.
Exemple rapide à modifier:
gcnxMaConnexion est une connexion
gcnxMaConnexion..BaseDeDonnée = "Prod" gcnxMaConnexion..Utilisateur = "admin" gcnxMaConnexion..password = "xxxx" gcnxMaConnexion..serveur="x.x.x.x:xxxx"
SI EnModeTest() ALORS gcnxMaConnexion..BaseDeDonnée = "DEV" gcnxMaConnexion..Utilisateur = "admin" gcnxMaConnexion..password = "xxxx" gcnxMaConnexion..serveur="y.y.y.y:yyyy" FIN
SI HChangeConnexion("*", gcnxMaConnexion) = Faux ALORS Erreur("Erreur ChangeConnexion HFSQL : " + HErreurInfo()) FIN SI HOuvreConnexion(gcnxMaConnexion) = Faux ALORS Erreur("Erreur OuvreConnexion HFSQL : " + HErreurInfo()) FIN
-- (\ _ /) (='.'=) (")-(")Message modifié, 20 septembre 2018 - 08:14 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 329 messages Popularité : +28 (32 votes) |
|
Posté le 20 septembre 2018 - 08:16 |
Ma méthode est totalement transparente du point de vu code et elle permet de surcroit d'utiliser la connexion défini dans les analyses |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 20 septembre 2018 - 18:29 |
Bonsoir Dergen, merci pour ta réponse, mais comme je l'ai indiqué, j'ai déjà rajouté le nom du serveur dans mon fichier INI ! je trouve que de mette le nom du serveur de mon client dans mon analyse en dev, n'est pas du tout adaptée, lorsque mon client via son prestataire changera de serveur, ça ne fonctionnera plus et le pire c'est que je ne serai même pas au courant .... Et puis mettre le nom du serveur du client alors que j'ai plusieurs clients avec la même appli .. faudra m'expliquer la cohérence de ce choix.. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 20 septembre 2018 - 18:31 |
Merci Geoffrey pour ta réponse, je n'avais pensé à : en mode test |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 329 messages Popularité : +28 (32 votes) |
|
Posté le 20 septembre 2018 - 22:12 |
LC a écrit :
Bonsoir Dergen, merci pour ta réponse, mais comme je l'ai indiqué, j'ai déjà rajouté le nom du serveur dans mon fichier INI ! je trouve que de mette le nom du serveur de mon client dans mon analyse en dev, n'est pas du tout adaptée, lorsque mon client via son prestataire changera de serveur, ça ne fonctionnera plus et le pire c'est que je ne serai même pas au courant .... Et puis mettre le nom du serveur du client alors que j'ai plusieurs clients avec la même appli .. faudra m'expliquer la cohérence de ce choix..
La, tu rajoutes des contraintes à celle que tu as présenté dans ton premier post, alors du coup, ma proposition n’est plus judicieuse.
Tu as au le HChangeConnexion dans l’initialisation de ton projet qui peux le faire aussi en t’appuyant sur .INI, cela aussi marche pas mal . |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|