2 L'organisation disk
Adr est organisé sous la forme standard projet/module des outils
FRIDU [cf Common].
2.1 Demo/Etc
Contiens le fichier projets.mk qui défini le répertoire
d'installation est les options de compilation par défaut des
démonstrations.
Nota: La demo Adr n'utilise aucun modules compilé mais elle a
toutefois besoin du fichier projects.mk pour l'installation dans le
référenciel de production avec la commande build.mk.
2.2 Demo/Adr/Etc
Contiens deux fichiers:
- module.mk défini le sous répertoire d'installation dans le
référentiel de production [lib/Adr].
- packages.jTcl defini les path d'accès au déférent
module de la démonstration, c'est ce fichier qui permet de trouver les
fichiers/path en fonction du mode dans lequel se trouve le programme
[développement | production] Au démarrage le fichier
package.jTcl registre dans la base jTcl les labels qui permettrons au module
d'importer les différent ficher de la demo Ad [cf: fonction
jCLassRegister/jClassImport]
2.3 Demo/Adr/server/Tcl
Contiens le fichier httpAdr.jTcl qui est le programme principal de la
démonstration, ce programme récupère les trois
information nécessaire au lancement d'un server WEB RPC dans la base de
registrery de jTcl:
- ROOT_DIR la directory de base utilisée par le server WEB, en mode
développent ce répertoire est égal a $TOP/Demo/Adr.
- AUTO Défini le path de recherche des modules jTcl applicatif, dans
le cas de la démonstration Adr ce path ce résume au seul
répertoire rpc. Au démarrage du serveur la class TcpHttpdRpc
recherche les fichiers Etc/Slaves.jTcl dans ce path. Par la suite a chaque
nouveau login d'un client WEB ces fichiers seront sourcés dans
l'interpreteur esclave attaché à la connection.
- INDEX donne le nom du fichier a retourner quand le path de l'URL est "/"
Dans la demo Adr l'index est un frame composé des trois
éléments qui définies l'application.
2.4 Demo/Adr/rpc
Ce répertoire contiens la partie applicative de la
démonstration, il est compose de deux répertoires.
- Etc qui contiens le module de registration slaves.jTcl qui est
sourcé au login dans l'interpréteur esclave attaché
à la connexion. Ce module force aussi l'inclusion du programme
principale de l'application qui dans le cas de la demo Adr est le seul module
présent.
- Tcl qui contiens le module applicatif en lui même, le fichier
rpcAdrDemo.jTcl qui possède une procédure par form disponible
dans les pages HTML plus les fonctions login et logout qui sont appelée
automatiquement par la classe TcpHttpdRpc.
- login cette fonction n'est pas implemente car l'application possède
une fonction explicite de login.
- logout bien que l'application possède aussi une fonction explicite
de logout, la fonction logout doit être implémentée en
effet l'application peut quitter soit parque l'utilisateur le demande, mais
aussi parce qu'elle tombe en timeout.
- login.adr, cette fonction est attachée à la forme login.adr
du fichier loginAdr.html, elle reçoit en paramètre le nom de
login et l'utilise soit pour créer un fichier de sauvegardé par
sérialisation des adresse saisie, soit pour recharger les objects
crée lors d'une précédente session.
- set.adr reçoit en paramètre tous les champs saisie dans la
form set.adr du fichier setAdr.html, elle appelle la méthode set de
l'object HtmlAdress crée lors du login. Cette méthode
créer un object par adresse, chaqun des objects adresse est
agrégé a l'object principal.
- get.adr reçoit en paramètre le nom recherché,
âpres l'avoir transformé en minuscule vérifie que le nom
existe bien dans l'object HtmlAdress puis récupère l'object et
gérère dynamiquement la pge HTML de retour.