Carnet Wiki

Gestion-avec-Mots-Clés Gestion-avec-Mots

Version 13 — Mai 2019 YannX

Les mots-cles, leur gestion par groupes, et leurs utilisations : cela constitue un sujet spécifique, d’usages variés, et qui pourront etre largement remis en cause, ou étendus, au passage en Spip 3

D’où l’idée d’une première synthèse(2012), actualisée en 2019 ...
que vous êtes invités à compléter !

Tentons de regrouper l’utilisation des mots-clés (36 rubriques semblent concernées sur Contrib et plus de 400 articles) :
-  l’utilisation pour des navigations transversales (utilisation normale théorique, finalement assez peu mise en pratique.. à l’exception des squelettes Blip proposés par Cent20 )
-  l’utilisation pour un enrichissement sémantique (glossaires..)
-  les usages « techniques » (pour piloter des squelettes, ou y positionner certains éléments..)
-  d’autres usages spécialisés

Nota Bene : cas particulier en SPIP, dans les critères de boucles, les mots clés peuvent être gérés dans les squelettes, aussi bien par un #ID_ (comme les secteurs et les variantes), que par leur titre : attention à ne pas modifier l’orthographe.....
-  la gestion des groupes de mots-clés, et leur prochaine capacité a traiter divers objets, ouvre la possibilité à des imbrications de boucles complexes, pas toujours faciles a maitriser.


Description des Utilisations identifiées

-  les nuages de Tags : concernent plus l’affichage... comme les Squelettes pour mots-clés,

-  les boucles ou squelettes complémentaires http://www.spip-contrib.net/Groupe-..., le plugin Formulaire Etiquette, les articles connexes

-  les outils de gestion privée des mots-clés[[Ajouter le Sélecteur Générique, la polyhierarchie : le masquage des mots techniques, l’importation ciimport le plugin de Fusion pour les ré-organiser.. une voie abandonnée ou une page d’interface privée pour les choisir (à refaire pour SPIP 3), la syndication

-  les glossaires : en-dehors du raccourci vers Wikipédia, et dela forme analogue pour les sigles, la contribution initiale de Schreuer, son integration en plugin, avec des regexp , sa variante ou lame du CS, d’usage plus automatisé,se rapportent toutes à un groupe spécifique de mot-clés, comme l’ancienne contribution.

-  d’autres usages apparentés dans les textes : http://www.spip-contrib.net/Un-racc..., en lien vers desplans

-  les nombreuses utilisations liées a la recherche, avec le Critere-mots, les recherches avancées, multi-critères, avancées ou par Intervalles

-  les plugins d’extensions du role et des possibilités des mots-clés : les Mots-Objets préfigurant SPIP3 , Mots Partout, Motus qui restreint des groupes de mots a certaines rubriques dans l’interface privée

-  les grappes, le nouveau Momots (dans Carnet !) MotsSurMots avec déjà MotsClesDeMotsCles, sans oublier la solution de... brèves

-  des utilisations plus spécialisées (suivi d’articles « sans »,... )

-  Usages « techniques » divers
-  les divers Affichages selon mots-clés (auxquels on pourrait rajouter le plugin des squelettes par Profil de statut,qui mérite le détour..)
-  souvent utilisation personnalisée pour sélection d’articles pour telle position (dans le sommaire, dans le pied) sans devoir recourir au Webmestre
-  tous les usages cachés et individuels que l’on fait dans tous les sites.....

Structuration interne en Tables et Objets Spip

à ecrire pour documentation...

N.B : une question au niveau du compilateur des critères : le simple fait d’ecrire {id_xxxx= .. ne permet-il pas de générer implicitement le ’objet’ correspondant au xxx, et cette généralisation ne permettrait-elle pas d’avoir une méta-ecriture pour atteindre facilement l’occurrence ciblée.

Restructuration avec SPIP 3

L’un des changement cachés importants dans Spip 3 concerne l’unification de plusieurs tables spip_mots_... dans une seule table spip_mots_liens : cette simplification factorisant le code est a priori invisible pour l’utilisateur SPIP, mais elle apporte déjà de nombreuses simplifications pour les plugins (nombreux) sur le sujet.
Détaillons cette nouvelle organisation, tables... et fonctions d’accès (à suivre)

Vers un usage généralisé

A partir des mots seulement utilisés comme liens entre obkjets, on a déjà vu fleurir de nombreux plugins -plus ou moins compatibles entre eux- pour diverses utilisations.

D’autre part, les questions tombent parfois sur la meilleure facon d’insérer de nouvelles relations entre les tables actuelles, en ajoutant une caractéristique sur les liens structurels ; la solution la plus facile, si l’on n’est pas expert développement de nouveaux objets éditoriaux, c’est de en détournant les mots-clés, avec des usages plus particuliers, mais avec les risques d’incompatibilités entre usages, et également de« confusion informatique » entre des $id_ de provenance différente car la structure interdit de faire la différence entre deux occurrences de liens entre le meme mot et le meme objet.

Enfin certains besoins (lien avec attribut) ne peuvent directement se traiter avec cette structure ; d’où naissent les plugins Momo (déjà réalisé en SPIP2 : à porter) et un plugin « Relation-Objet » à définir ci-dessous !

On va appuyer le raisonnement suivant, de façon implicite, sur une modélisation en Entités et Relations normalisée, ou sur une structuration en Triplets, l’une des implémentations informatiques des Réseaux Sémantiques et moteurs de systèmes-experts...

Plugin « Relation-Objet »

Plugin évoqué sur IRC en début de semaine : objectifs =
-  pouvoir lier des objets de deux natures différentes
-  pourvoir « ordonner » ou « qualifier » les liens de meme groupe sur un meme objet (ou une meme occurrence)
-  pouvoir gérer des liens de liens
Le modèle actuel ne permet que de gérer la relation « Mot » à n’importe quel objet (y compris « groupe de mot »), mais sans qualificatif supplémentaire, et sans pouvoir choisir l’objet de départ, contrainte qu’il est possible de contourner en attribuant un meme mot aux deux cotés de la relation voulue...

Rappel memorisation d’une questionsur IRC :
sur le compilateur : au niveau des critères
qd on ecrit {id_xxx
comment le compilateur trouve-t-il la « bonne » table dans laquelle rechercher la valeur donnée en second ?

-  dans la description de la table de la boucle
et sinon c’est compliqué, faut relire le code à chaque fois ; heureusement, c’est bien documenté
-  actuellement les fonctions php utilisent « objet » et « id_objet »
cette pseudo-syntaxe pourrait-elle etre simplifiée (au seul niveau exterieur du langage SPIP) ?
YannX je rumine mon idée de plugin « relation-objet » et je ’minquiète de son utilisation plus facile en squelettes
(et du coup, ta question me fait pt-etre abouteir a la solution)
pour l’instant mots_liens utilise implicitement ’objet’ et ’id_objet’
la réorg de BOUCLES(MOTS) déduit de {id_article= que 'objet-table' = 'articles'

{id_article = XX} {table-source="articles"}{id_source="#ID_ARTICLE_source..} comme critères de selectiosn de la liaison
alors qu’on pourrait peut-etre /etant en contextuel/ ecrire {id_article=.. } {id_1article= }
et pour relier deux rubriques (non plus par mots, mais par relations-objet)
on ecrirait de facon compatible {id_rubrique= } {id_1rubrique= }
mais definir une ecriture demande une tres bonne connaissance du compilateur....