Objectifs

Gérer une liste de liens pour un site web. Les liens doivent être rangés par catégorie, et les catégories peuvent être imbriquées. Génération d'une portion de code HTML correspondant à la liste.

Modélisation

On doit modéliser 2 entités : les liens et les catégories

Les catégories

Modèlisation de la table URL_CATEGORY
Colonne Type Gestion Commentaires
SID Nombre Entier SID > 0 Auto-incrémentée
GID_PATH 256 caractères maximum /((/[0-9A-Za-z]+)+)|(/)/ "Chemin de la catégorie" : '/' + liste des GID_NAME des ancêtres séparé par '/', du plus ancien jusqu'à la mère.
GID_NAME 256 caractères maximum /[0-9A-Za-z]+/ Nom de la catégorie. La taille maximum pour le nom : 256 - strlen(GID_PATH).
PID Nombre Entier PID >= 0 Si PID > 0, fait référence à un SID existant
RANK Nombre Entier RANK >= 0 Ordre d'affichage. On tri par RANK puis par LABEL pour un PID ou un GID_PATH donné.
LABEL texte libre Nom affiché de la catégorie.
DESCRIPTION texte libre Texte libre.

Les liens

Modèlisation de la table URL_ITEM
Colonne Type Gestion Commentaires
SID Nombre Entier SID > 0 Auto-incrémentée
GID 256 caractères maximum URL valide L'adresse web (URL)
PID Nombre Entier PID >= 0 Si PID > 0, fait référence à un URL_CATEGORY.SID existant
RANK Nombre Entier RANK >= 0 Ordre d'affichage. On tri par RANK puis par LABEL pour un PID ou un GID_PATH donné.
LABEL texte libre Titre du site.
DESCRIPTION texte libre Texte libre, description du site, bannière, etc...
STICKY_RANK Nombre Entier STICKY_RANK >= 0 Marque les liens à mettre en evidence. La valeur détermine l'ordre d'affichage
NEW Nombre Entier 0 ou 1 Marque les liens à afficher comme "nouveaux". Le classement est effectué en fonction de CREATION_DATE.
CREATION_DATE 12 caractères Date (AAAAMMJJHHmm) Date officielle de création du lien
UPDATE Nombre Entier 0 ou 1 Marque les liens à afficher comme "mis à jour". Le classement est effectué en fonction de MODIFICATION_DATE.
MODIFICATION_DATE 12 caractères Date (AAAAMMJJHHmm) Date officielle de dernière modification du lien.