Non aux brevets logiciels

SpipLab

MotsCles

PagePrincipale :: DerniersChangements :: Vous êtes 38.103.63.16 (Connexion)

Denis : une fonctionnalité qui aiderait pas mal les sites ayant beaucoup de mots clés par rubrique ou article, c’est celle qui permettrait de choisir plusieurs mots clés en même temps et ensuite les valider (et pas un par un comme actuellement).

Paracelse : Remarque : Je ne sais pas si c’est dans le cadre de cette réflexion que s’inscrit cette remarque, mais je pensais à quelque-chose qui paraitrait bien utile à pas mal d’admin (mais je me trompe peut-être) : la notion d’héritage. Il se trouve que parfois on a besoin d’attribuer automatiquement un ou plusieurs mots clés à des articles situés dans une rubrique. Par exemple pour faire ce genre de requête : je veux tous presque tous les articles (mais pas tous, certains sont exclus) dans cette rubrique plus ceux dont le mot clé est "xxxx" situés dans plusieurs rubriques transversales.

Ne serait-il pas envisageable de créer le "mot clé collant". Ce serait juste une petite case à cocher à coté des mots clés au niveau des rubriques qui attribuerait automatiquement le mot clé aux articles créés dedans. On aurait bien sûr la possibilité de l’enlever par la suite, mais cela automatiserait un peu les tâches d’admin. Qu’en pensez-vous ?

(jpyrat) : J’aime bien l’idée. Je complèterais par le fait que j’ai aussi besoin parfois que les sous-rubriques héritent d’un mot clef (l’agenda d’Epona est un exemple typique)

Gérer une arborescence de mots clés, autrement dit, des groupes et sous-groupes, et non plus un seul niveau avec les groupes. (bof) (NicolasHoizey : fait dans SpipAgora).

FrancoisSchreuer : si l’on pousse cette idée, on aboutit logiquement à dire que l’arborescence de spip n’en est qu’un sous-produit. C’est intéressant, ça simplifie spip (mais ça risque sans doute de déconcerter pas mal de monde). En généralisant encore plus (et en simplifiant par la même occasion), on peut créer un système en rhizome : on n’a plus que des mots-clés qui peuvent être liés de façon totalement libre à n’importe quel autre mot-clé (avec éventuellement la possibilité de définir, au niveau du groupe de mots-clés, un mode "rhizome" ou un mode "arborescence", ce qui calme le jeu pour ceux qui veulent). C’est le plus déroutant mais c’est sans doute le plus efficace. Et ca permet de créer des sites vraiment étonnants, subtils, avec une navigation multidimensionnelle.

NicolasHoizey : là je pense que c’est super intéressant intellectuellement, mais que ça risque dans les faits de limiter le public de SPIP...

FrancoisSchreuer : comme ça, ça a l’air uzine à gaz et conceptuellement difficile à appréhender. Mais je suis convaincu que l’idée n’est pas totalement conne pour autant. C’est vrai que ça innoverait fortement, ça amènerait des sites comme on n’a pas l’habitude d’en voir. Mais quelle amélioration. Il me semble que la formule suivante est viable :

AlexandreHelias : Comme c’est mon premier galop d’essai avec Spip, je ne voudrais pas non plus m’imposer. Mais comme j’apprecie les choses complexes, en lisant les threads de discussions concernant ce besoin fortement émis par certains, ca m’a donné envie d’essayer.

En effet la méthode de gestion peut devenir un "enfer" dans certains cas utilisateurs, en imaginant un webmestre de site qui lui a besoin d’une foultitude de mots-clés. (Ex : la gestion d’une bibliothèque, avec en plus des raffinements, certains mots-clés finalements intégrés dans d’autres pour gérer ses bouquins). Pardon aussi à Agora, mais je n’ai pas trouvé la méthode proposée très commode d’utilisation, ne parvenant personnellement pas à ressentir ou même à voir clairement l’arborescence d’un arbre dans l’outil. De plus des choix étaient pour moi différents, J. Pyrat m’a recommandé la gestion d’un arbre par représentation intervallaire et c’est vrai que c’est ce qu’il y a de plus "sexy" à utiliser.

E. Le Bescond de Clever Age m’a recommandé d’utiliser Agora, et DB_NestedSet (une classe de PEAR). Mais, sans vouloir y aller au couteau, et après avoir parcouru le code, je pense que le framework complet de Nested, bien qu’un état de l’art dans une gestion d’arbre récursif, n’apporte rien pour une "simple" gestion d’arborescence de mots-clés. De plus la reintégration de code d’Agora n’apporte rien, autant utiliser Agora. Donc devant ce dileme et comme la philosophie de programmation de SPIP m’a parru être d’avoir ses propres méthodes de développement, j’ai fait le choix d’ajouter quelques briques nouvelles pour cette gestion. Aussi, pour l’interface j’ai retenu la vision "simple" que tout le monde maitrise bien, du moins connait, une vue en 2 blocs façon Explorateur classique. De quoi toucher concretement donc 95% des utilisateurs finaux.

On sélectionne le parent dans l’arbre, on sélectionne un mot ou un groupe dans cette liste, on clicke sur "Transférer" et l’élément se voit ainsi ajouté dans l’arbre en tant que fils. Tous les éléments du groupe, dans le cas ou l’on clique sur un champ de groupe. Tous les intitulés des groupes représentés par une couleur distincte.

Cela se fait via l’utilisation d’une bibliothèque Javascript développée pour la gestion de cet arbre, pour gérer notamment l’indentation, les déplacements, suppression.. Cela offre le fort avantage de ne jamais recharger la page jusqu’à Validation.


Ce qui à été Réalisé :

-  La possibilité ou non d’utiliser et d’afficher l’arbre des mots-clés.
-  Une interface schématiquement à la ’Explorateur’, un arbre à gauche, une liste des éléments présents, structurés par groupes/mots-clés, et par ordre alphabétique à droite.
-  On choisit dans l’arbre l’élément sur lequel on souhaite ajouter l’ensemble d’un groupe, ou un mot.
-  On peut construire ainsi l’arbre (multilingue bien sur) en copiant les mots-clés d’une liste à l’autre, puis en sauvant cet arbre ainsi construit.
-  La méthode de gestion d’arbre retenue est réalisée par représentation intervallaire des arborescences, avec un raffinement supplémentaire de conservation du niveau d’arbre atteint par l’élément défini sur un rang de la table afin de pouvoir générer une représentation complète de l’arbre en une seule requette SQL et sans récursivité.
-  La correction d’un bug dans mots_edit.php3 qui malgrés l’appel &new=oui, passait par une requette SQL selectionnant les champs de $mot_id, donc à zéro, rang sur lequel à été posé la définition de la Racine de l’arbre (cf ecrire/inc_base.php3)
-  Le développement d’une librairie Javascript qui est naturellement réutilisable à d’autres méthodes dans l’avenir.
-  Les tests unitaires sur chaques fonctions créées, la mise en oeuvre sous Geckos.


AlexandreHelias : Après le premier draft produit d’interface de gestion des mots-clés, qui lui permettait de melanger les mots et les groupes entre eux, cette 2e version s’intègre à présent fonctionnelement dans SPip. En effet, l’intégration dans les boucles est réalisée, et l’utilisation fonctionnelle a été revue.

Au menu, chaque groupe de mots dispose de son propre arbre (ces arbres sont en fait des branches de l’arbre fondamental pour ne pas avoir eu à faire de fix. Des méthodes aditionnelles ont étés ajoutées à l’interface, notamment à mots_edit.php afin de pouvoir lors de la création d’un nouveau mot, ajouter celui ci dans un bout de l’arborescence.

Une méthode de Wharfs Wharf c’est une puce ouvrante/fermante, nom qui provient de NextStep ?/Afterstep http://www.tldp.org/FAQ/AfterStep-FAQ-6.html* permet d’ouvrir l’interface et présente la gestion de l’arborescence sous chaque groupe de mots.

L’ajout d’une selectbox des groupes disponibles dans mots_tous.php avec retrait du while qui suivait afin de n’afficher que le groupe que l’on édite.

ajout des méthodes en tant que boucle :

critères actuellement disponibles :

on peut ajouter rapidement n’importe quel type d’appel à cet arbre. cousins, grand-oncles.. id_* (avec les memes token) : donne la liste correspondante mais par id plutot que par donnée littérale.

<BOUCLE_2(MOTS_ARBRE){id_enfants=2177}>
#TITRE
</BOUCLE_2>

=> résultat : plop fils de miasaki

Ce qui est encore à faire :

Il est téléchargeable à l’adresse suivante

fr :je ne sais pas si c’est le bon endroit pour ce genre de commentaires mais les fichiers téléchargeables ne sont pas forcément faciles à utiliser par non spécialiste. je ne sais pas trop quoi faire avec le fichier patch. c’est en embétant car cette contrib à l’air génial.

je sais pas si ça peut être utile mais voilà de quoi dessiner l’arbre http://www.aidejavascript.com/article103.html


Ajout de Beurt (le 31/05/06) :

Je vous propose une autre manière de concevoir «l’arborescence» de mots-clés. Une hiérarchie arborescente est finalement assez restrictive. Nous sommes d’ailleurs beaucoup à préférer le classement de nos articles dans Spip par des mots-clés plutôt que grâce au tri arborescent autorisé par les rubriques.

J’en viens à mon idée : une idée simple et élégante pour hiérarchiser les mots clés, serait de... pouvoir mettre des mots clés aux mots-clés.

Cela fait quelques semaines que j’y pense et cela résoudrait nombre de problème que l’on rencontre avec la hiérarchisation des mots clés et cela d’une manière très élégante et moderne (tagging à toutes les sauces).-

Ainsi si avec il suffit d’ajouter le mot-clé «légume» aux mots-clés «poireaux», «haricots», etc.. pour créer cette hiérarchie (d’ailleurs, le mot-clé «haricot» pourra aussi être attribué à «haricot-rouge», «flageolet», etc. sachant qu’ils auront aussi le mot-clé «légume». On a ainsi plusieurs mots clés imbriqués dans une hiérarchie).

Bien sûr compte tenu de la souplesse d’un système d’étiquetage (tagging) par rapport à une simple arborescence cela pourrait ouvrir Spip à des possibilités d’indexation totalement nouvelles.

Cela peut déjà être implémenté, je crois (sans avoir testé), grâce à http://www.spip-contrib.net/Des-mot... mais cela présente tous les désavantages d’une modif’ du noyau (au niveau mise à jour & co). Je ne crois pas que les modifs de Spip à faire seraient très importantes pour implémenter les mot-clés aux mot-clés.

Qu’en pensez-vous ?

Ajout de ivandps(le 05/03/08) :

j’arrive probablement après la bataille, mais je suis pour la proposition de Beurt : des mots clés dans les mots clés !