mot clefs partout

ou gestion des mots clés avec un principe d’arborescence

Ceci est une archive périmée mais qui reste intéressante, parfois autant pour l’article que les commentaires associés.

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

NOTA EDIT 20-06-2009


Des modifications ont été faites pour rendre le plugin compatible SPIP 2 ... Ce n’est pas complètement fini mais c’est en grande partie opérationnel.

NOTA contenu avant le 20-06-2009


Pour le moment, au vu des travaux en cours sur le plugin, le zip mots_partout_dev.zip est figé (il possède un sabot) sur la zone, mais si vous voulez tester la dernière version vous pouvez toujours le récupérer avec svn (pour le moment pas du tout terminé ).
Cette contrib permet d’utiliser les mots clefs dans une structure en arborescence. Il permet aussi d’ajouter facilement les mots clefs sur les documents.
df

Avertissement !!!!

Cette évolution du plugin « mots partout » (voir les explications historiques plus bas) en est à ses débuts et est toujours en phase de test (mais bon ça marche chez moi :p) donc soyez indulgents pour les bugs rencontrés :). Merci de remonter vos bugs sur la liste spip-zone et pas sur ce forum en bas de page. En cas de problème, testez en désactivant vos autres plugins, et si cela ne fonctionne toujours pas : précisez bien votre version de SPIP.

Si vous avez le plugin agenda d’activé , renommez le répertoire du plugin « mots-partout » par « _mots_partout » en rajoutant un « _ » au début. Cela permettra de dire à SPIP de prendre en priorité ce plugin. [1]

Nommage des ZIP

mots-partout-stable : correspond a la version stable 1.9.2 du plugin mots partout, cette version n’intègre pas l’arborescence.

mots-partout-dev : cette version intègre l’arborescence de groupe de mots clefs. Elle est comme son nom l’indique en cours de développement, donc non stable.

Si vous avez besoin de l’arborescence de groupe de mots clefs alors il vous faut le second zip ( mots-partout-dev ).
Si vous n’en avez pas besoin préférez alors la version (mots-partout-stable), a moins que vous ayez envie de voir ce que donne l’ajout des mots aux documents ( l’autre fonctionnalité ajoutée ).

Principe

Compte tenu du fait que sur des gros sites, on peut vouloir utiliser de nombreux mots clefs voire même reprendre l’arborescence du site carrément pour avoir par exemple un menu contextuel sur chaque rubrique, une organisation en arborescence des groupes de mots clefs serait utile.

Questions techniques

Il a été question d’avoir cette fonctionnalité dans le coeur de SPIP, puis plutôt dans un plugin du genre mots_partout ou mots_techniques. La méthode choisie ici est celle d’une évolution du plugin « mots_partout ».

Il a aussi été abordé la question d’utiliser la gestion d’arbre par la méthode intervallaire. J’ai préféré la méthode classique. Simplement pour pouvoir utiliser les boucles dans les squelettes plus simplement (le critère id_parent pouvant être utilisé dans les boucles récursives ( attention uniquement sur les boucles GROUPES_MOTS )

Le présent plugin intègre aussi l’ajout d’une interface pour l’ajout de mots clefs sur les documents.

interface d’ajout de mots clefs sur les documents

Installation

Cette contrib a été testée sur SPIP 1.9.2b [9381],or la dernière version a ce jour est la 1.9.2e, néanmoins elle devrait fonctionner sur cette dernière.

Il existe une version pour SPIP 2.0, pour cela voir l’édit en fin d’article.

Pour l’installer, téléchargez le dernier fichier sur la zone mots_partout

Ensuite, il suffit de dé-zipper le plugin dans votre répertoire « plugins » a la racine de votre site , comme pour tous les autres plugins.

et ça fonctionne, copie d’écran en prime...

Interface mots_tous de l’administration

Squelettes

Pour l’utilisation dans les squelettes une simple boucle récursive avec comme critére id_parent suffira pour boucler sur les groupes de mots.

Un exemple :

<BOUCLE_grp_mots(GROUPES_MOTS)>

  <BOUCLE_grp_mots_enfants(GROUPES_MOTS){id_parent}>
	groupe:   #TITRE
  <BOUCLE_mots(MOTS){id_groupe}>
          mot: #TITRE
  </BOUCLE_mots>

  <BOUCLE_recursive(BOUCLE_grp_mots_enfants)></BOUCLE_recursive>

</BOUCLE_grp_mots_enfants>
</BOUCLE_grp_mots>

Nouveau critère

Un nouveau critère a été ajouté {branchemot} qui est équivalent au critère {branche} des rubriques ou articles.
On peut ainsi se passer de la récursivité dans les boucles :

<BOUCLE_grp_mots(GROUPES_MOTS)>
 
  <BOUCLE_mots(MOTS){branchemot}>
          mot: #TITRE
  </BOUCLE_mots>

</BOUCLE_grp_mots>

Ce critère fonctionne autant sur les boucles GROUPES_MOTS que MOTS.

TODO

-  squeletiser les interfaces pour permettre a tous de modifier ces interfaces d’ajouts de mots sur des objets.( et éventuellement de créer ces interfaces spécifiques pour d’autres type d’objet, non défini dans spip, ex pour spip_carto ).
-  faire une arborescence des mots ( entre eux ) : peut etre parent d’un autre mot. A l’heure actuelle, ce sont les groupes de mots qui sont arborescents.
-  Le jeu c’est de fournir un plugin qui permette toutes les approches,
mots clés sur tout, y compris sur groupes de mots,
et même mots/mots dès que ca sera jouable (avec les déclarations des
join dans tables_des_tables). Pour le moment cette approche mots sur mots et mots sur groupe de mots reste a faire.

A propos des branches de développement de « mots partout »

EDIT : voir le premier paragraphe par rapport au nommage des zip et des plugins. Cette partie est conservée à titre d’historique (même si on en a plus besoin)

L’introduction de l’arborescence se fait actuellement sur la Zone dans [la branche 1.92]. Le évolutions non encore stabilisées nécessitent de conserver mot_partout « ancienne manière » dans la branche « 1.9.1 ». Ce nommage n’est pas encore stabilisé, voir les explications ci-dessous d’un des auteurs

De : Stephane
Date : 25 septembre 2007 10:17:35 GMT+02:00
Cc : spip-zone at ezo.net
Objet : Rép : [SPIP Zone] mots partout et mots partout arbo

... en fait, c’est juste un problème de nommage des zips. Il faudrait sans doute que l’actuel mots_partout devienne mots_partout_0.3 et mots_partout_arbo devienne mots_partout. Mais il faut le préciser dans le plugin.xml et éventuellement le repasser en « dev » si il n’est pas stable (ou le stabiliser et sortir une version stable).

Il y a les utilisateurs de spipcarto et ceux qui veulent faire cohabiter
certains plugins qui l’utilisent, il faut penser à eux, c’est tout
(c’est pour ca que le nommage actuel a été mis en place de mémoire)

Le futur avec SPIP 2

Les nombreuses évolutions faites autour des mots clefs dans SPIP 2 vont amener ce plugin a « muter ». Il ne devra a terme servir qu’a fournir des interfaces pour ajouter des mots sur les différents types d’objets.

[EDIT 22-12-2008]

Suite aux modifications apportées par Esj au plugin, afin de le rendre compatible SPIP 2.0, un ZIP vient d’être généré. Vous pourrez le trouver la : mots_partout 2.0.

Notes

[1Nota SPIP-Contrib : cette appellation « mots_partout » fait en fait référence à la nouvelle branche dite 1.9.2 de « mots_partout »

NOTA

Pour le moment au vu des travaux en cours sur le plugin, le zip mots_partout_dev.zip est figé (posséde un sabot de version) sur la zone, mais si vous voulez tester la toute dernière version ( qui ne fonctionne pas du tout encore ) vous pouvez toujours le récupérer via la svn. yepd

Discussion

50 discussions

  • 3
    Eric Luyckx

    après un upgrade en spip 2.0.3 et avec la dernière version du plugin, j’ai le même bug

    Fatal error : Cannot redeclare splitarrayids() (previously declared in /var/www/etopia/public/plugins/mots_partout_2/mots_partout_choses.php:35) in /var/www/etopia/public/plugins/mots_partout_2/mots_partout_choses.php on line 35

    remarque : quand le plugin est « on », l’arborescence est correctement récupérée

     ;-)

    • Penchaki

      Bonsoir ...

      J’ai posté un peu vite, j’ai la même erreur

      Cela veut dire koi :

      quand le plugin est « on », l’arborescence est correctement récupérée

      Merci,
      Penchaki

    • que quand le plugin est actif, il récupère l’arborescence qui existait en 1.9.2.
      malheureusement celle-ci est inutilisable ailleurs que dans l’onglet « mot-clef »

    • Penchaki

      Bonjour,

      Pour être sure de ne pas récupérer une arbo 1.9.2 :

      J’ai remonté un nouvel espace SPIP en local version : SPIP 2.0.5 [13790]
      Téléchargé la dernière version : mots-partout-spip2.zip 03-Mar-2009 19:33

      Voici les problèmes que je rencontre :
      1) pas d’interface pour la configuration (configuration site)
      2) je ne peux plus ajouter de mots-clés via « edition ==> Mot-cle SPIP » interface classique SPIP

      Penchaki

    Répondre à ce message

  • 3

    Bonjour,
    Je viens de basculer de la 1.9 a la version SPIP 2.0.1
    Et j’utilise la mots-partout-spip2 du plugin :
    voici le bug que je rencontre :

    id_table . « .id_groupe’, calcul_branchemot($arg) » . ($crit->not ? « , ’NOT’ » : ’’) . « ) » ; $boucle->where[]= $crit->cond ? « ($arg ? $c : 1=1) » : $c ; } ?>

    Afficher au dessus du menu dans le back office.
    Même message dans configuration des menus mais non placé au même endroit.

    Quelqu’un a-il une idée ?
    Merci
    penchaki

    • Je viens d’upgrader ma version se SPIP : SPIP 2.0.3 [13596]
      et j’ai téléchargé le ZIP : mots-partout-spip2

      mais je rencontre toujours le même problème !!

      id_table . « .id_groupe’, calcul_branchemot($arg) » . ($crit->not ? « , ’NOT’ » : ’’) . « ) » ; $boucle->where[]= $crit->cond ? « ($arg ? $c : 1=1) » : $c ; } ?>

      Y a t-il une modif à faire dans les fichiers ? ce n’est pas la bonne version ...

      HELP

      penchaki

    • Salut, effectivement je viens de faire une modification qui devrait réparer le problème (cette résolution a été signalée sur ce forum plus bas).

    • Penchaki

      Bonsoir,

      J’ai corrigé le tag ... merci
      Par contre j’ai une autre erreur :

      Fatal error : Cannot redeclare splitarrayids() (previously declared in C :\wamp\www\ERMES\plugins\mots-partout-spip2\mots_partout_choses.php:35) in C :\wamp\www\ERMES\plugins\mots-partout-spip2\mots_partout_choses.php on line 62

      Penchaki

    Répondre à ce message

  • Hello,

    Sur une spip 2.0.3, avec 3 plugins (Barre Typo V2 pour 1.9.2 et suivantes, Enluminures typographiques pour 1.9.2 et suivantes, Le Couteau Suisse) mais si je les désactive, ca fait pareil.

    1) message d’erreur quand je vais dans une rubrique :
    Fatal error : Cannot redeclare splitarrayids() (previously declared in /home/www/NavilandIntra/plugins/ _mots_partout/mots_partout_choses.php:35) in /home/www/NavilandIntra/plugins/ _mots_partout/mots_partout_choses.php on line 62

    2) Impossible de créer de groupe de mots cle si le plugin est activé.

    Chag

    Répondre à ce message

  • 2

    Bonjour,

    Je teste ce plugin sur une version 203 et j’ai ce message d’erreur quand je vais aux rubriques dans le back-office :

    Fatal error : Cannot redeclare secureintarray() (previously declared in /homepages/0/d160156354/htdocs/(...)/plugins/_mots_partout_2/mots_partout_choses.php:22) in /homepages/0/d160156354/htdocs/(...)/plugins/_mots_partout_2/mots_partout_choses.php on line 22

    Argh Dommage
    Y a t il une solution ?

    Merci d’avance

    • salut,
      je n’ai pas ce message la ... mais je n’ai fait qu’activer le plugin et je n’ai pas encore fait de vrai test.

      par contre si tu rajoutes (la première ligne ) dans le fichier mots_partout_choses.php

      if(!function_exists('secureintarray'))
      function secureintarray(....

      ca donne quoi ?

    • Il ne le prend pas
      Il déclare quand meme
      Bizarre

    Répondre à ce message

  • 3

    Est-ce que quelqu’un arrive à faire fonctionner le plugins sous la 2.02 ?

    Répondre à ce message

  • Zerax tu m’as mis sur la voie. Ce que je ne comprends pas, c’est que le problème vient bien de la structure de la table spip_groupe_mots, mais que celle-ci n’a pas changé sur la version 2.xx de spip. Or, le plugins « anticipe » il me semble ce changement. Ou alors il est développé sur une version spéciale ??? Voir ce qui suit :

    J’ai trouvé un début de l’origine du problème en regardant le prive_mysql.log, lorsque je crée le groupe de mot, la requête d’insert donne :
    Dec 24 11:41:43 127.0.0.1 (pid 2464) Unknown column ’articles’ in ’field list’ - INSERT INTO spip_groupes_mots (titre,texte,descriptif,unseul,obligatoire,minirezo,comite,forum,id_parent,articles,rubriques,breves,syndic) VALUES (’test’,’’,’’,’oui’,’oui’,’oui’,’oui’,’’,’0’,’oui’,’oui’,’oui’,’oui’)

    Un problème de structure de la base surlaquelle est développée le plugins car sur mon install 2.02 vierge, la table spip_groupe_mots utilise encore la colonne « table_liee » pour indiquer si on peut appliquer ce groupe à un article, une rubrique, une breve, un site syndic. Or la requete que produit le plugins ne l’utilise pas et s’attend à ce qu’il y ait 4 colonnes à la place de table liée. En ajoutant ces 4 colonnes à la main via phpmyadmin (varchar 3 not null), ça fonctionne ! Enfin, pas vraiment, le groupe est inséré mais comme table_liee n’est pas remplie, ça doit générer des bugs.

    Autre bug un peu gênant, la fonction javascript toggle() ; ouvrir / fermer un groupe de mots ferme le groupe à chaque action (par exemple, s’il y a suffisamment de mot pour faire une pagination, en cliquant sur la pagination, le groupe est refermé. Mieux vaut ne pas intégrer la fonction tant qu’elle n’est pas « compatible ».

    Répondre à ce message

  • 1

    mais malheureusement les journées sont trop courtes ...

    Je suis bien d’accord :(

    Je test sur une version vierge et j’essaye de trouver pourquoi sur ma version migrée 1.8->1.9->2.01 ça disfonctionne, et je reviens pour vous donnez la solution si je trouve. Ca pourra toujours servir, il y en a bien encore quelques uns qui sont sous 1.8 et qui vont migrer.

    Bonnes fêtes à tous en passant !

    Merci à zerax pour ses réponses et à Esj pour le beau boulot !

    • Entre 192 et 2.0, il y a eu une modification de la structure des données concernant les mots, en passant d’une table spip_mots_xxxxxx ou xxxx est une objet ( article, rubrique, ...) vers une struture plus osuple et plus évolutive d’une seule table : id_lien , type_objet, id_objet ( j’ai pas vérifier mais c’est dans cette idée ). A mon avis c’est cette « migration » qui n’a pas du fonctionné... donne les infos sur la mailing liste spip_dev si ca concerne uniquement spip ou spip-zone si ca concerne le plugin.

      Merci

    Répondre à ce message

  • 3

    Merci pour tes messages ! Ca donne chaud au coeur de voir que c’est encore d’actualité. Par contre :
    La version svn dans root/_plugins_/_test_/mots_partout/2.0
    ne fonctionne pas du tout chez moi (testée ce matin avant 9h) sur un spip 2.01 tout propre sans aucun plugins (avec un zazouminiwebserver pour apache / mysql). C.a.d qu’il s’installe, mais après, impossible d’ajouter un mot ou un groupe de mots. Bon, c’est le seul truc pas propre c’est la base qui est une base migrée de 1.8 vers 1.9.2e puis vers 2.01. J’essayerai sur une base vierge pour vérifier.

    Sinon, l’arborescence sur un mot ou sur un groupe, pour mon cas, ça ne change rien du tout... Tant qu’il est possible d’avoir une arbo sur l’un de ces objets, ça résoud mon problème de lourdeur.

    Je retente avec le zip... arf, non, il est retiré de la zone, le lien marche po. Sniffffffffff !

    • Le lien vers le zip sera fonctionnel demain.

      Mais si tu as la version SVN alors pas la peine de mettre le zip ( c’est la même chose ) .

      il vaut mieux a mon avis partir d’une base de mots « vierge » a cause de toutes les modifications qui ont été faites sur la structuration des infos ... je ne sais pas si esj a permit la migration ...

      bref ce n’est pas mort loin de la ... mais malheureusement les journées sont trop courtes ...

    • Cher Zerax, le plugin 20 0.4.1 [25251] fonctionne chez moi. Mais tu as oublié l’ajout d’un mot clé à un mot clé. Argh. Je sais ce n’est pas encore le 24 décembre, mais je n’en puis plus d’attendre. A quand l’id_parent sur un mot clé ? C’est la condition sine qua non pour créer des ontologies, web sémantiques et tout le toutim. Pitié !!! Tous ensemble, tous ensemble !

    • Rendons a César ce qui lui appartient... C’est Esj qui a fait cette migration ... je n’y suis pour rien ( mais j’aurais bien aimé :p )

      Pour ce qui est des mots sur les mots, c’est clair que ce serait un gros plus ... mais le gros moins c’est le temps ... et je ne n’en ai pas bcp

    Répondre à ce message

  • 1

    bonjour zerax

    à quand le plugin pour spip 2.0 est surtout : des mots sur des mots !!!

    merci pour le travail réalisé

    • le plugin pour SPIP 2.0 est déjà sorti ... merci a Esj de l’avoir fait :)

      Tu dois pouvoir trouver cela sur SVN
      ou dès demain en zip sur http://files.spip.org/spip-zone

      Ceci dit « la notion d’arborescence » est a revoir complètement ...

      Dans les évolutions, je pense supprimer la notion d’arborescence des groupes de mots pour passer a une arborescence de mots uniquement... car plus parlant et ergonomiquement plus intelligible.

    Répondre à ce message

  • 1

    Pour gérer une arborescence « virtuelle » de mots clés, je construis des rubriques et sous rubriques qui ont le même nom que les mots clés, ce qui est vraiment lourd.

    J’espère que ce plugins sera rapidement fonctionnel pour spip 2, actuellement, j’ai testé toutes les versions du plugins dev sur spip 2 final et aucune ne fonctionne (création de groupes ou de mots clés impossible après installation).

    La colonne id_parent dans spip_groupe_mots me fait pourtant tellement saliver... :)
    Une idée de date pour une version opérationnelle pour l’arborescence ?

    • j’ai eu fait un ajout dans le plugin ( mais pas trés « générique » donc pas commité ) qui permettait d’associer un mot a une rubrique ( de manière a dire tel mot correspond a telle rubrique). On a dans l’interface de l’édition du mot la même liste déroulante que dans l’édition d’un article.

      J’ai donc tout ca sous le coude ... mais depuis tellement longtemps que je ne vais pas m’avancer a donner une date sur la sortie d’une telle fonctionnalité.

      Par contre, j’utilise toujours ce plugin sur chaque site que je fais et donc je ne vais pas tarder a le tester sous SPIP 2. Mais Esj a déjà fait un portage de la version stable ( il me semble ), vers SPIP 2. Sauf que cette version n’intégre pas tout le principe d’arborescence.

      Bref la refonte est déjà bien entamée et est sur la bonne voie ... maintenant ne reste plus qu’a s’y coller...

      Je ferais une annonce quand on aura quelque chose de concret... le plus rapidement possible je l’espére.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom