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

  • 2

    Bonjour,

    je suis trés intéressée par ce plugin et notamment pour les documents, je viens de tout ré installer le site en partant from crash, j’ai toujours le message « not ; $boucle = &$boucles[$idb] ; $arg = calculer_argument_precedent($idb, ’id_groupe’, $boucles) ; $c = « calcul_mysql_in(’ » . $boucle->id_table . « .id_groupe’, calcul_branchemot($arg), ’’) » ; if ($crit->cond && true) $c = « ($arg ? $c : 1) » ; if ($not) $boucle->where[]= array( »’NOT’« , $c) ; else $boucle->where[]= $c ; } ?> » qui s’affiche sur toutes les pages.
    j’ai la version spip 1.9.2d et il n’y a que ce plugin d’installer, le message est sur les fichiers dist et dans la zone privée.
    Merci de votre aide.

    Ps je me perd totalement dans la spipzone ...

    • Salut,
      Ce problème intervient quand il y a un espace dans un des fichiers du plugin en dehors des balises php ... ce doit être mon éditeur qui a du rajouté ca ...
      regardez dans cette voie... Pour ma part je ne ferais pas évoluer ce plugin pour spip 192... j’essaierai de faire le passage en spip 2.0 avant de rajouter des fonctionnalités.

    • Je me répond mais cela peut servir à ceux qui rencontrent le problème il manque dans le fichier : public > criteres_motspartout.php "

      <?php" en début du fichier ...

    Répondre à ce message

  • 3

    Bonjour,
    pour attacher les mots clés aux articles, on voit apparaitre les différents groupes de mots, que l’on peut dérouler et ainsi faire un choix de tous les mots de l’arborescence. Mais les sous-groupes apparaissent également séparément, ce qui ne sert pas à grand chose et surcharge le tout. Est-il possible d’éliminer cet affichage ? Quel fichier gère l’éffichage des mots clés dans la page de validation de l’article ?
    d’avance merci

    • Salut il s’agit de modifier le fichier du plugin inc/editer_mot.php et tout se passe dans la fonction select_sous_menu_groupe_mots vers la ligne 518.

    • merci, mais j’ai beau essayer de modifier des paramètres dans ce fichier, je n’arrive pas à éliminer l’affichage double des sous-groupe. Quelqu’un a-t-il résolu ce problème ?

    • Salut,
      le problème est résolu dans la version svn du plugin ( pas dans le fichier zip mais récuperez par le tortoise par exemple les fichiers )

    Répondre à ce message

  • 1
    Jean-Baptiste

    Bonjour,
    j’ai installé avec succès la version 0.3 de mots-partout-stable sur un site spip 1.9.2c, en prenant soin de renommer le répertoire du plugin en _mots_partout_1_9_2. Les autres plugins sont

    • Agenda pour SPIP 1.9.2
    • SpipCarto
    • Squelette par mot clef
    • Widget Calendrier

    J’ai également configuré mot partout sur les syndic_articles. Un menu déroulant s’affiche donc en regard de chaque article syndiqué dans Edition > Sites référencés.

    Le problème : Mes boucles affichent bien les articles syndiqués sauf ceux pour lesquels un mot clef n’a pas été attribué.

    Voici la boucle utilisée pour afficher les articles syndiqués :

    <B_liste_articles_syndiques>
    	[<strong>Pages&nbsp;:</strong>(#PAGINATION{page_precedent_suivant})<p>&nbsp;</p>]
    <BOUCLE_liste_articles_syndiques(SYNDIC_ARTICLES){id_rubrique}{par date}{inverse}{pagination 6}>
    	<div class="actu-cartouche">	
    		<div class="actu-texte">
    			[<p class="actu-date">(#DATE|affdate)</p>]
    			[<p class="actu-type">(#NOM_SITE)</p>]			
    			[<p class="actu-titre"><a href="#URL_ARTICLE" target="_blank">(#TITRE)</a></p>]
    			[<p class="actu-descriptif">(#DESCRIPTIF)</p>]
    		</div>
    		</div>
    	</div>			
    </BOUCLE_liste_articles_syndiques>
    	[<strong>Pages&nbsp;:</strong>(#PAGINATION{page_precedent_suivant})<p>&nbsp;</p>]
    </B_liste_articles_syndiques>

    Est-ce un bug ou une erreur de ma part ? Merci.

    • la question a été posée sur la liste user et donc la réponse aussi :)

    Répondre à ce message

  • J’adore avoir des idées/besoins de dev et de les retrouver ici dans la foulée même ! :)

    Je passe en test et prépare mes retours sur la zone.

    Merci et bravo !

    Etienne B.

    Répondre à ce message

  • 1

    Bonjour,

    Juste un petit mot pour saluer l’initiative de ce plugin, et remercier son auteur pour le travail déjà réalisé. Bon courage à tous ceux qui y contribueront ;-)

    • ivandps

      Bonjour,

      je m’associe aux remerciements ci-dessus, l’idée est excellente, attendue avec impatience, notamment pour les développement à venir, je cite :

      « faire une arborescence des mots (entre eux) : un mot peut-être parent d’un autre mot »

      Je suis dispo pour tester et vais de ce pas me brancher sur la zone.
      Merci

    Répondre à ce message

  • 4
    artisan-multimedia

    Bonjour, je suis en 1.9.2c 10268, j’ai désactivé tous les plugins, et j’ai installé la version de développement de mots partout depuis le svn. Je veux associer des mots clefs à des documents d’articles déjà créés de longue date. Et ça ne marche pas, ni par l’interface de modification des documents dans les articles, ni par l’interface mots partout du menu édition.

    -  Aucun menu n’apparait dans le premier cas.
    -  Dans le second cas (mots partout du menu édition), la liste des mots clefs (à gauche) disparait quand je sélectionne les Documents. J’ajouterai enfin que lorsqu’on veut se déplacer d’un « bloc » de documents à l’autres, on revient toujours aux menu « Articles ».

    En fait, si je crée un nouveau document afin de lui associer un mot clef, ça ne fonctionne pas non-plus.

    Encore une fois, j’ai essayé avec à peu près toutes les versions disponibles (et avec le plugin seul), ça ne foctionne pas.

    Désolé. C’est la deuxième fois que je tente d’utiliser ton plugin qui représente pour moi tout ce qu’il faudrait faire dans SPIP, mais c’est la deuxième fois qu’ilo ne marche pas ou me paraît inutilisable.

    • la version svn du plugin n’est pas du tout mais alors pas du tout fonctionnelle ... du moins pour le moment. Récupére plutot le zip sur la zone( je l’ai remis ya tellement pas longtemps que je n’ai pas encore modifié cet article ) .

      je t’assure par contre ( sur mes tests et on était 2 ) que le plugin fonctionne. Par contre il y a de gros efforts en termes d’interface surtout, en terme d’amélioration du code pour permettre a quiconque de pouvoir modifier les interfaces ( par des squelettes ).

      http://files.spip.org/spip-zone/mots-partout-dev_1_9_2.zip

    • S’lt

      Désolé de te contrarier je viens de tester la version que tu indiques sur un SPIP 1.9.2c [10900]
      Je ne fais rien de plus et lorsque je consulte une page article (exec=articles) je me chope :

      Fatal error: Call to undefined function: select_sous_menu_groupe_mots() in /var/alternc/html/a/admin/prod/plugins/mots_partout_1_9_2/inc/editer_mot.php on line 496

      Pour une page rubrique (exec=naviguer&id_rubrique=XX) c’est un poil mieux c’est un bout de page mais avec un beau :

      Fatal error: Call to undefined function: select_sous_menu_groupe_mots() in /var/alternc/html/a/admin/prod/plugins/mots_partout_1_9_2/inc/editer_mot.php on line 496

      Bon va falloir que je mette à la svn et casser du code :=)

    • le probleme a déjà été réglé .. c’est juste que je me suis planter dans la verison du sabot ( j’en était sur de celle la :p )

      je corrigerai ca trés trés prochainement...

    • Bonjour

      Merci c’est corrigé plus de bogue à l’affichage :)

    Répondre à ce message

  • 1
    Tropicaloo

    Bonjour,

    Est-il prévu de personnaliser l’affichage des groupes de mots-clés disponibles en fonction des rubriques ?
    Ainsi, on pourrait affecter un « statut » à un groupe de mots pour une rubrique donnée :
    -  1- inactif (non utilisé et donc non affiché) pour la rubrique x...
    -  2- unique (1 seul mot obligatoire) pour la rubrique y...
    -  3- multi (1 à plusieurs mots) pour la rubrique z...
    -  4- option (0 à plusieurs mots) pour la rubrique a...
    Ceci afin d’alléger et de faciliter l’interface des rédacteurs.

    • Salut,
      je t’encouragerai a suivre cette discussion sur la liste spip-zone qui traite des plugins...

      alors sinon pour répondre a ta question, effectivement j’aimerai bien implanté une solution de ce type, mais pour le moment je n’y ai pas encore vraiment réfléchi, sur la maniére de le faire et sur le but exact. Donc c’est en stand-by.
      Les futures évolutions sont une « simplification du code » afin qu’il soit plus facilement maintenable ainsi qu’une squeletisation des interfaces pour permettre une surcharge plus simple.

    Répondre à ce message

  • 1

    Bonjour, merci pour ce plugin.

    Cependant un bug apparaît à l’utilisation lorsque l’on définit un groupe de mots clés et que l’on demande à l’associer aux articles ainsi qu’aux documents : les articles ne sont plus accessibles en édition côté administration mais le redeviennent si on autorise ce groupe de mots clés uniquement sur les documents ou uniquement sur les articles mais la combinaison des deux n’est pas possible.

    C’est un bug non bloquant mais bon si ça peut faire avancer le smilblick ;-) : testé avec SPIP 1.9.2b et 1.9.2c

    • merci pour ce retour de bug, j’ai rajouté ca dans le todo du plugin...
      mais va vraiment falloir que je m’y mette a bosser dessus ...

    Répondre à ce message

  • 3

    Bonjour,
    quand j’utilise le critère id_parent pour une boucle appliquée à groupes_mots, j’obtiens une erreur : le critère id_parent n’existe pas. J’avais cru comprendre qu’avec ce plugin, il existait ????????????????

    • le critére id_parent n’existe que sur une boucle (GROUPE_MOTS) et pas sur une boucle MOTS , je pense que ce doit être ton erreur.

    • Merci pour ta réponse, j’ai bien appliqué le critère id_parent à (GROUPES_MOTS) , j’ai copié-collé l’exemple ci-dessus et il semble marcher correctement, par contre j’ai effectivement les erreurs suivantes qui s’affichent :
      -  Erreur(s) dans le squelette
      -  Erreur sur le site, boucle critère inconnu id_parent
      Le critère id_parent ne semble pas connu de spip mais semble fonctionner correctement... Serait ce un bug à signaler ? Et comment puis je faire pour que cette notification d’erreurs n’apparaisse plus ? Merci d’avance pour vos réponses.

    • je n’ai pas eu ce genre de d’affichage... tu pourrais remonter le bug sur la liste spip-zone ?
      mais moi je ne pense pas savoir corriger le probléme...

      Merci

    Répondre à ce message

  • 3
    Nicolas Hoizey

    C’est vraiment pas clair.

    Quelle version stable dois-je prendre pour SPIP 1.9.2c si je n’ai que faire des arborescences (de groupes et non de mots, en plus, si j’ai bien compris) ?

    Merci.

    • Bon zerax, tu nous met (enfin) à jour ce nommage, histoire de le faire correspondre avec la réalité du développement.

      Merci d’avance

      @+ NicolasR

    • j’ai mis dans le archive list les 2 noms : mots-partout-stable qui correspond a la version avec un sabot ( avant le dév de l’arborescence ) et la version mots-partout-dev qui correspond a la version avec l’arborescence.

      Je pense que ca doit répondre a ta question Nicolas H.

    • je viens de mettre a jour le nommage des plugins.
      Dans ton cas la version stable suffit.
      mots-partout-stable.zip sur la zone

    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