PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Réplication réseau ?????
Réplication réseau ?????
Débuté par ds, 20 oct. 2004 00:14 - 3 réponses
Posté le 20 octobre 2004 - 00:14
Bonjour,

J'ai besoin de maitre en place une réplication réseau sur un programme déjà existant.
Je ne sais pas du tout comment commencer.

J'ai déjà transformé mon analyse, mais je n'arrive pas à aller plus loin.

Est ce que quelqu'un aurait un exemple de réplication réseau à me communiquer.

Merci d'avance

Damien
Posté le 20 octobre 2004 - 00:46
Recherche dans les anciens messages du forum, je crois qu'un exemple
didacticiel est fourni dans la LST 56.
Antoine

Damien wrote:
Bonjour,

J'ai besoin de maitre en place une réplication réseau sur un
programme déjà existant. Je ne sais pas du tout comment commencer.

J'ai déjà transformé mon analyse, mais je n'arrive pas à aller plus
loin.

Est ce que quelqu'un aurait un exemple de réplication réseau à me
communiquer.

Merci d'avance

Damien
Posté le 20 octobre 2004 - 13:46
Voici un exemple de replication

-------------------------------------------------------------------------------------
Après avoir finalement mené à bien mon projet de réplication programmée,
j'ai enfin compris la procédure à suivre pour
créer COMPLETEMENT une réplication réseau à partir d'un poste réseau CLIENT,
car cela est possible, n'en déplaisent à ceux ou celles qui auraient conjecturés
que
la création de certains réplicas devaient nécessairement être effectués

depuis
le poste maitre,
cela est TOTALEMENT FAUX.
Ce qui est obligatoire, c'est d'être en tout instant connecté à la bonne
base de fichiers et à la bonne base de fichiers journaux lors de l'application
des différentes fonctions nécessaires à la mise en place de la réplication
programmée. En voici donc l'explication:

// Les variables entre ** ci-dessous ne sont qu'une facon
// d'imager les différents contrôles que
// vous aurez programmé (des chemins d'accès initialisés
// à partir de .ini par exemple)
// Les procédures de création sont à effectuer dans l'ordre
// Les fonctions W-Language entre <> aussi.

-------------------------------------------------------
1-Initialisation du projet:

SI *Reseau_Accessible* ALORS
*Rep_Base_En_Cours* = *Rep_Base_Reseau_Maitre*
SINON
SI *Base_Abonne_Existe* ALORS
*Rep_Base_En_Cours* = *Rep_Base_Abonne*
SINON
FinProgramme()
FIN

<HChangeRep(*Rep_Base_En_Cours*)>

SI *Je_Veux_Placer_Les_Journaux_Dans_Rep_Autre* ALORS
<HChangeRepJNL(*Rep_Base_En_Cours*+*Rep_JNL_Autre*)>
SINON
<HChangeRepJNL(*Rep_Base_En_Cours*)>
FIN

<HCréationSiInexistant("*")>
-------------------------------------------------------
2-Procédure CreationDuReplicaMaitre()

// *Chemin_Replica_Maitre* doit être un
// chemin ciblé vers un répertoire partagé
// du poste maitre.
// Notez que vous devez, si vous ne voulez pas vous
// compliquer la vie, désigner le même chemin pour
// les fichiers journaux que celui que vous avez
// choisi dans le code d'initialisation du projet
// lors du test:
// *Je_Veux_Placer_Les_Journaux_Dans_Rep_Autre*
// HJournalReCrée() est utilisé pour éviter
// l'erreur 'JournalIdentification introuvable'
// lors des premières synchronisations si vous
// n'avez modifié aucun fichier de la base maitre et
// si les fichiers journaux n'existent pas (suite à
// une suppression par exemple :p )
// ATTENTION: n'utilisez pas HJournalRecrée() si vous avez
// déjà d'autres postes en réplication activée !!!

SI Base_En_Cours = Base_Reseau_Maitre ALORS
<HCréeRéplicaMaitre(*Chemin_Replica_Maitre*)>
FIN

<HJournalRecrée("*",*Mon_Choix_Rep_JNL__Init_Projet*)>
-------------------------------------------------------
3-Procédure CreationDuReplicaAbonne()

// *Chemin_Replica_Abonne* doit être un
// chemin ciblé vers un répertoire partagé
// du poste abonné.


<HCréeRéplicaAbonné(*Chemin_Réplica_Maitre*,...
*Chemin_Replica_Abonne*,*Identifiant_Abonne*,...
*Plage_De_Depart_Des_Identifiants*)>
-------------------------------------------------------
4-Procédure InitialisationDuReplicaAbonne()

// C'est ici que se trouve le piège !!!
// Et oui, une vulgaire copie de fichiers suffira
// à fournir les enregistrements de la base maitre.
// Cependant, veillons bien à les initialiser.
// Tout d'abord, il faut se placer dans la base abonné.
// Notez que vous devez, si vous ne voulez pas vous
// compliquer la vie, désigner le même chemin pour
// les fichiers journaux que celui que vous avez
// choisi dans le code d'initialisation du projet
// lors du test:
// *Je_Veux_Placer_Les_Journaux_Dans_Rep_Autre*
// Ici aussi HJournalRecrée() évitera l'erreur
// 'JournalIdentification introuvable'

<HFerme("*")>

<fCopieFichier(Rep_Base_Maitre+"\*.fic",Rep_Base_Abonne>

<fCopieFichier(Rep_Base_Maitre+"\*.ndx",Rep_Base_Abonne>

<fCopieFichier(Rep_Base_Maitre+"\*.mmo",Rep_Base_Abonne>

<HChangeRep(Rep_Base_Abonne)>

<HChangeRepJNL(Rep_Base_Abonne+...
*Mon_Choix_Rep_JNL__Init_Projet*>

<HOuvre("*")>

<HInitAbonné(*Trou_De_Memoire_Voir_Aide_WinDev*)>

<HJournalRecrée("*",*Mon_Choix_Rep_JNL__Init_Projet*)>

<HFerme("*")>

// Retour sur la base maitre, la réplication est prête

<HChangeRep(*Rep_Base_Maitre*)>

<HChangeRepJNL(Rep_Base_Abonne+...
*Mon_Choix_Rep_JNL__Init_Projet*>

<HOuvre("*")>
-------------------------------------------------------

PS: Afin de pouvoir utiliser la base abonné en local total ( c'est à dire
sans connexion réseau active ), vous devez trouver un moyen de fournir à
l'application le chemin LOCAL du répertoire de données abonné ( à l'inverse
du chemin donné pour le réplica abonné qui est, lui, un chemin réseau vers
le répertoire local du réplica.

NB: Dans mon descriptif, le terme réplica désigne TOUJOURS un fichier. Les
répertoires sont, eux, désignés par l'abréviation Rep.

Pour plus d'infos, vous pouvez me mailer à sonicpsyche@hotmail.com (évitez
les mails sans objet, merci)

Cet exemple ne concerne que l'activation d'une réplication réseau dont le
but est d'utiliser un poste ponctuellement sur le réseau, voir en déconnection
totale du réseau.
Les fonctions HSynchroniseRéplica() ne sont pas expliquées car ce sont les
plus simples à préparer.




-------------------------------------------------------------------------------
Posté le 24 novembre 2005 - 18:21
Il ne s'agit pas d'un exemple de réplication mais d'une procédure de mise en place de réplication réseau programmée !

Je le sais, puisqu'elle est issue de mon post:

http://forum.pcsoft.fr/post.awp…

Merci à l'avenir de ne pas confondre exemple et procédure ;)