This is an old revision of the document!


Spécifications de la Classification par tags

Attention. Certaines fonctionnalités décrites n'ont pas été implémentées dans PWG.

Spécification fonctionnelle

Principe

Chaque photographie est associée à N tags (N allant de 0 à autant qu'on veut). Les tags sont une technique de classification au même titre que les catégories. La différence principale étant que les catégories sont une classification hierarchique et les tags sont une classification plane.

Comme expliqué sur le blog de Pierrick sur le billet Système de tags, on constate généralement qu'un élément n'appartient qu'à une catégorie alors que chaque élément est associé à plusieurs tags. Cela n'est pas vrai dans le cas de PWG, car chaque photographie peut être associée à plusieurs catégorie (principe des liens virtuels).

Le principe de classification par tags est popularisé par des sites comme Flickr.

Navigation progressive

Ce qui est intéressant avec les tags, c'est d'explorer un ensemble d'éléments dont le nombre d'éléments se réduit à mesure que l'on rajoute des tags (ou des règles car un tag est une règle simple), on commence avec vacances, puis vacances+mer, puis vacances+mer+erwann et au final, tu visionnes les photos d'Erwann en vacances à la mer.

Le menu de la page principal category.php présente une nouvelle section tags. On y trouve une liste plane de tags. Initialement, les tags les plus associés sont présentés dans le menu, par ordre alphabétique. Chaque tag est affiché dans une police plus ou moins grande selon son poids. Le nombre de tags affichés dans le menu est paramétrable.

Lorsqu'un tag est sélectionné, le menu présente les tags liés au tag affiché, avec la possibilité d'ajouter un tag à la recherche.

Comme seul un sous-ensemble est affiché, un lien menera vers le nuage complet de tags, enfin… plus complet car certaines très grosses galeries pourraient compter des centaines de tags ! Le nombre de tags affichable dans le nuage sera paramétrable.

Navigation transversale

Sous la photographie présentée par picture.php, la liste des tags associés est affichée. Chaque tag est un lien vers la liste des photographie associée au tag sélectionné.

Gestion des tags

  • L'écran [Administration»Tags»Gérer] permettra d'ajouter et supprimer des tags.
  • L'écran de gestion par lot (accessible par le panier [Administration»Images»Panier] ou la gestion des éléments d'une catégorie proposera d'associer les photographies aux tags.
  • L'écran de gestion d'une photographie permettra de associer et dissocier les tags à la photographie.

Les tags peuvent comporter des caractères accentués, mais ceux-ci seront remplacés par leur équivalent ASCII lorsque présenté dans une URL. Les tags sont sensibles à la casse. La longueur maximal du nom d'un tag est de 255 caractères, même s'il est conseillé de privilégier la concision.

Catégories ou tags ?

Le système de catégories ne disparaît pas au profit du système de tags, il vient en complément. L'administrateur pourra choisir s'il souhaite avoir:

  1. catégories uniquement
  2. tags uniquement
  3. catégories et tags (par défaut)

Ce paramétrage sera disponible pour le menu et pour l'affichage des miniatures.

Spécification technique

Paramétrage

  • Le nuage affiché dans le menu de la page category.php sera limité à $conf['menu_tag_cloud_items_number'] tags.
  • La page tags.php affichera le nuage complet de tags, avec une limitation à $conf['full_tag_cloud_items_number'].
  • $conf['menu_tags'] à true/false permettra d'afficher par défaut le nuage réduit de tags. A partir du moment où l'utilisateur affichera une liste de photos associées à un tag, le nuage des tags liés sera affiché dans le menu.
  • $conf['menu_categories'] à true/false permettra d'afficher l'arbre descatégorie telle qu'il est présenté par défaut en branche 1.5 et précédentes.
  • $conf['default_display_thumbnails'] = <tags|categories>. Pour les miniatures de la page d'accueil, on peut choisir d'afficher une miniature par catégorie (comportement identique aux branches antérieures) ou une miniature par tag du menu.

URL

Les URL présenteront les tags à afficher de la manière suivante :

  • tag.php?tags=12-erwann : toutes les photos associées au tag erwann (tag d'identifiant 12)
  • tag.php?tags=12-erwann,2-marion : toutes les photos associées aux tags erwann (id 12) et marion (id 2).
  • picture.php?tags=12-erwann,2-marion&picture_id=324 : affiche la photographie 324 dans la liste des photos associées aux tags erwann et marion.

Backend

Les tags remplacent les anciens #images.keywords. Leur mode de stockage n'est pas adapté à des requêtes fréquentes.

ALTER TABLE phpwebgallery_images DROP colum keywords;
 
CREATE TABLE phpwebgallery_tags (
  id smallint(5) UNSIGNED NOT NULL,
  name varchar(255) BINARY NOT NULL,
  PRIMARY KEY (id)
);
 
CREATE TABLE phpwebgallery_image_tag (
  image_id mediumint(8) UNSIGNED NOT NULL,
  tag_id smallint(5) UNSIGNED NOT NULL,
  PRIMARY KEY (image_id,tag_id)
);

Suivi de réalisation

Planning

  • (à la date du 12 janvier 2006) initialement prévue pour la branche 1.6

Liens relatifs à cette fonctionnalité

 
Back to top
fr/fonctionnalites/tags.1231849364.txt.gz · Last modified: 2009/03/07 22:13 (external edit)
 
 
github twitter newsletter Donate Piwigo.org © 2002-2024 · Contact