• Aucun résultat trouvé

3. RICERCAR : de l’Internet à un intranet

4.5 R éalisation du modèle présenté

4.5.3 Le modèle

4.5.3.2 Enrichissement des classes

L’étape qui suit consiste simplement à spécifier plus finement les propriétés des différents éléments, à partir du modèle déjà décrit. Une série de nouveaux

attributs25ainsi que des classes supplémentaires sont définis, dont la combinaison va permettre d’offrir une meilleure ergonomie à l’utilisateur final ainsi qu’une simplification dans la conception des documents publiés :

 La classe Serveurs permet de répertorier l’ensemble des informations nécessaires pour référencer un nouveau serveur sur l’intranet.

Serveurs est implémenté par les tables RICERCAR et ALTERNATE.

Attributs Type Description Contrai

nte/ Défaut

srank I

(Integer) Identifie de façon unique le serveur.Automatiquement préfixé à l’identifiant des objets crées par les utilisateurs (ce qui permet de garantir l’unicité des identifiants sur l’ensemble de l’intranet).

server A50 (chaîne de 50 caractères)

le nom logique du serveur.

s_alt Servers serveur de substitution non utilisé

fqdn A255 le nom DNS du serveur.

ip A32 L’adresse IP du serveur

root A255 Le chemin physique correspondant à la racine du serveur.

db_unc A50 Le chemin complet vers la base de données du serveur

db_name A50 Le nom de la base de données du serveur.

db_file A50 Le nom (éventuel) du fichier de la base de données du serveur.

log_date DT

(DaTe)

Date à laquelle les log du serveur ont été centralisées.

adm Users L'administrateur du serveur

25

Nous avons choisi de nommer les attributs en anglais pour des raison pratiques (de traduction en vue de publications internationales) mais aussi pour rester homogène avec les nommages HTTP et HTML habituel s.

 La classe Documents est ainsi enrichie de différents attributs qui décrivent, par des textes brefs, les objets référencés. Une série d’indicateurs booléens et différentes dates (création, modification, etc.) fournissent de plus les éléments nécessaires pour que la modification des méthodes goto permettent de générer des Documents plus sophistiqués :

Attributs Type Description Contrainte/Défaut

key A50 Identifiant global de l’objet. Unique, sauf si

(eq (send (send self 'isa) 'type) ‘SYSTEM)26

active BL

(BooLéen) Indique si le documentcorrespondant est disponible ou pas (permet d’invalider provisoirement l’accès).

Vrai

new BL Indique que le document

mérite d’être signalé dans les nouveautés du serveur

Faux

modif BL Indique que chaque modification du document mérite d’être signalée

Faux

(n’a de sens que si (send self 'new).

Indexed BL Indique si le contenu du document correspondant doit être indexé.

(send (send self 'isa) 'indexed)

log BL Indique si chaque accès à

l'objet doit être enregistré dans les logs du serveur

Vrai

title A255 Titre du document (utilisé par la méthode ... comme ancre au lien correspondant au document).

Obligatoire.

descr A255 Description brève du contenu du document comment Avar (chaîne de caractères de longueur VARiable) commentaire supplémentaire pour décrire le contenu du document.

cr_date DT date de création de l’objet (Now)

26

Attributs Type Description Contrainte/Défaut

modif_date DT date de la dernière modification

index_date DT date d’indexation (éventuelle).

n’a de sens que si

(send self 'indexed)

reset_date DT date de remise à zéro du compteur d’accès affichable du document

icon Icons Identifiant de l’icône associée au document.

(send ( send self 'isa) 'icon)

dual_key Documents Identifiant (éventuel) d’un

document dual associé au document. Il référence notamment une traduction.

count_total I Nombre d'accès total au document à la date ct_date

Ne peut être remis à zéro

ct_date DT Date à laquelle count_total a été calculé

version I Numéro de version du document.

Exploité pour gérer les accès à des versions successives d’un même document

Utilisé en affichage uniquement.

content HTML code HTML du document. Stocké directement dans le champ de l’objet.

N’a de sens que si

(eq(send (send self 'isa) 'type)

‘VIRTUAL)

url A255 chemin relatif pour accéder au code HTML du corps du document

Si(eq (send (send self 'isa) 'type) ‘WWW)alors self.urlest une URL, sinon c’est le chemin relatif d’un fichier

aut Users Le propriétaire de l'objet

Documents, ainsi que ses différentes sous-classes, sont implémentées par les

 il a par ailleurs semblé intéressant de subdiviser un menu en rubriques (columns en anglais), ce qui est rendu possible par la création de la classe Rubriques qui regroupe un ensemble ordonné de Documents. Elle est ensuite agrégée dans

Menus :

Attributs Type Description

ctitle A255 Titre de la rubrique

ccomment Avar Texte de commentaire descriptif

rank I Ordre de la rubrique dans son Menus La classe Rubriques est alors implémentée par la table Cols ;

 à partir de la classe Images, un ensemble de sous-classes permettent de réifier les différents éléments graphiques globaux aux différents serveurs, les rendant ainsi accessibles par l’ensemble des Documents.

Elles représentent les icônes ou puces associées aux Documents, les différents fonds de page, les lignes de séparation stylisées et les flèches utilisées pour indiquer les retours au sommaire, précédent, suivant, etc.

Attributs Type Description

img A50 Identifiant de l'image

url A255 URL (ou chemin relatif) de l'image

alt Avar Texte ALTernatif décrivant l’image

tsize I Taille de l’image en octets (fournie par l’OS via CF)

tdate DT Date de création de l’image (fournie par l’OS via CF)

Ces différentes images sont créées et chargées dans le cache du serveur lors de l’exécution de la première requête d’utilisateur, et sont ensuite directement accessibles dans l’ensemble des méta-scripts.

Les classes Icons, Bkg, Lines, Arrows et Images sont implémentées par la table

ICONS ;

 il s’avère enfin nécessaire de représenter plusieurs types de Documents qui justifient la création de nouvelles sous-classes de Documents (décrites en § 4.5.3.5, p.127 ) : Sty_Post, Sty_Pages-en, Sty_Img, Sty_www, etc.