ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

un exemple de mouchard   



L'auteur

Jean à Grenoble
France France
Membre Actif (personne physique)
# 0000000032
enregistré le 16/10/2004

http://www.j-maurice.fr
69 ans
MAURICE JEAN
38000 GRENOBLE
Fiche personnelle


Note des membres
15/20
1 vote


Contributions > 20 - Trucs et Astuces

un exemple de mouchard
# 0000000758
ajouté le 24/05/2010 15:39:02 et modifié le 24/05/2010
consulté 9192 fois
Niveau débutant

Version(s) Foxpro :
VFP 9.0
VFP 8.0
VFP 7.0
VFP 6.0
FPW 2.6
FPD 2.x


Télécharger le PDF (77.77 Ko)
Description
un mouchard (fichier de log, ...) est un fichier dans lequel on enregistre, au fil de l'eau, tous les évenements survenants dans une application. Il permet, en cas de problème ou d'erreur de connaître tout ce qu'il s'est passé avant cette erreur et donc d'en trouver l'origine.

Après plusieurs essais, j'utilise un fichier texte comme mouchard. Je vous expose ici comment.

Jean à Grenoble
Commentaires
le 25/05/2010, Jean-Marc TESTUD a écrit :
Jean,

J’utilise aussi beaucoup la notion de mouchard dans mes applications mais je ne la limite pas à la traçabilité (pistage des actions utilisateurs), je l’utilise aussi comme suivi des modifications des données dans les tables critiques.

J’ai une structure un peu identique à la tienne mais basé sur plusieurs tables.

J’ai une table « Mouchard » principal ou je stocke les lancements de programmes à partir du menu de l’application ou à partir d’un programme déjà en cours d’exécution dans laquelle je garde l’heure de lancement et quand je reviens au menu ou dans mon programme appelant, via un tableau de variables globales, je retrouve mon enregistrement et je stocke l’heure de retour ce qui permet d’avoir la traçabilité que qui lance ou utilise quoi et pendant combien de temps.
En fait j’ai une procédure « DOPROGRAMME » qui me sert à lancer les programmes à partir du menu ou à partir d’un programme.

D’autre part, j’ai des tables « Mouchards » spécifiques pour les tables importantes de mon application ou je stocke les modifications de données (Ajout, Modification et Suppression) avec toujours le même principe, c’est à dire Date, User, etc. …). Mais surtout les données avant et après ajout, modification ou suppression de l’enregistrement. Par contre, j’utilise ces tables pour la maintenance mais elles sont aussi surtout à la disposition des utilisateurs à l’intérieur des « Forms » applicatifs pour qu’ils puissent retracer à tout moment la vie d’un enregistrement.

Je n’ai jamais regardé du coté d’un mouchard en fichier texte mais ton approche me paraît intéressante et dés que j’ai du temps je vais essayer de voire mais dans tous les cas ton idée est bien sympathique.

Jean-Marc TESTUD

le 25/05/2010, Jean à Grenoble a écrit :
Moi aussi, j'essaie de garder un historique des modifications mais j'ai choisi une autre voie (!) : à la table toto.dbf est associée une table toto.old qui a la même structure que toto.dbf mais avec 3 champs supplémentaires : datanulmod T contient la date/heure de modification/suppression, orgmodif C(1) contient "S" pour suppression, "M" pour modification, etc ... et codoperat contient le code de l'opérateur. Chaque fois que l'on modifie ou supprime une ligne dans la table toto j'INSERT INTO l'enregistrement original dans toto.old .

bonne journée.
Jean à Grenoble


Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3