SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

290 Plugins, 198 contribs sur SPIP-Zone, 82 visiteurs en ce moment

Accueil > Navigation > Mots arborescents > Mots arborescents

Mots arborescents

12 octobre 2015 – par Matthieu Marcillaud – 15 commentaires

14 votes

Ce plugin permet de gérer une arborescence de mots-clés. La configuration d’un groupe de mots dispose d’une nouvelle option pour autoriser pour ce groupe les arborescences de mots-clés. Dans ces groupes, des mots enfants peuvent être créés pour former donc des arborescences de mots.

Présentation vidéo

Vidéo disponible en différents formats sur Médias SPIP

Fonctionnement

Ce plugin étend le fonctionnement du plugin « Mots » (inclus dans SPIP) afin de permettre de gérer des arborescences de mots. Il ajoute pour cela certains champs dans les tables spip_groupes_mots et spip_mots. Il surcharge également quelques fichiers du plugin « Mots ».

Une nouvelle option est présente dans les groupes de mots, pour autoriser dans ce groupe des mots arborescents (la valeur est non par défaut) :

Option mots arborescents sur les groupes de mots

Notons tout de suite, que si cette option est active, revenir à "non" aplatira tous les mots arborescents présents dans ce groupe de mot ! Attention donc !

Option mots arborescents sur les groupes de mots : message de précaution

L’option active, la création d’un mot dans un tel groupe de mots ajoute un champ de saisie pour définir éventuellement un mot parent :

Sélecteur de mot parent

À chaque profondeur dans la hiérarchie, un losange est ajouté. Dans l’image suivante, le mot clé a un parent sélectionné :

Un mot parent est défini ici pour ce mot clé

Notons qu’il n’est pas possible de changer le groupe de mots d’un mot clé qui a le champ parent rempli : pour déplacer un mot clé dans un autre groupe de mots, il faudra mettre le champ « Mot parent » sur vide. Voilà ce qu’on obtient si on essaie ici de changer de groupe sans effacer le mot parent sélectionné :

Une erreur apparait si l’on tente changer un mot enfant de groupe, avec le mot parent défini

Enfin, déplacer un mot qui contient des mots enfants dans un autre groupe de mots est possible, mais si le groupe destination n’accepte pas de mots arborescents, l’arborescence sera aplatie. C’est ce qu’indique le message de prévention suivant :

Un avertissement est présent sur les mots clés ayant des enfants
Si un mot clé a des enfants, et s’il existe des groupes de mots clés qui n’autorisent pas les mots arborescents, un message d’avertissement s’affiche.

En dehors de ces quelques détails, les fonctionnements sont assez identiques concernant les mots clés ou l’ajout de mot clé aux objets éditoriaux.

Prérequis

Ce plugin nécessite SPIP 3.0 minimum.

Il est compatible avec
-  le plugin « Mots techniques »,
-  le plugin « Motus » (à vérifier).

Contre-indication

Incompatible actuellement avec le plugin « Groupes de mots clés arborescents (gma) » car ils surchargent tous les deux des fichiers du plugin « Mots » (ça va encore), et parfois les mêmes fichiers (là ça ne va plus) !

Technique

Table spip_groupes_mots :

L’option de mots arborescents sur la table des groupes de mots est définie avec le champ mots_arborescents qui peut valoir oui ou non. Toute autre valeur que oui, est cependant considérée comme non !

Table spip_mots :

Des champs sont ajoutés dans la table des mots clés :

  • id_parent : contient l’identifiant du mot clé parent, sinon 0. Ce champ sert au calcul des critères {racine}, {branche_mot}, et bien évidemment {id_parent}.
  • id_mot_racine : contient l’identifiant du mot racine (c’est l’équivalent de id_secteur sur les rubriques).
  • profondeur : contient la profondeur dans la hiérarchie de mots. Les mots racines ont une profondeur 0 (comme le champ profondeur sur les rubriques donc).

Boucles :

Un squelette de test est disponible dans test/motsar.html du plugin, et exécutable par un webmestre avec http://le_beau_site/?page=test/motsar. Il liste les groupes de mots acceptant les mots arborescents, et toute l’arborescence.

Voici un simple exemple listant, pour un mot clé donné, l’arborescence de ses mots enfants :

  1. <BOUCLE_mot(MOTS){id_mot}>
  2.         <h2>#TITRE</h2>
  3.  
  4.         Enfants de ce mot :
  5.         <B_enfants>
  6.                 <ul>
  7.         <BOUCLE_enfants(MOTS){id_parent}{par num titre, titre}>
  8.                         <li>#TITRE
  9.                         <BOUCLE_recursif(BOUCLE_enfants) />
  10.                         </li>
  11.         </BOUCLE_enfants>
  12.                 </ul>
  13.         </B_enfants>
  14.  
  15. </BOUCLE_mot>

Télécharger

Voir en ligne : http://plugins.spip.net/motsar

Dernière modification de cette page le 8 juin 2017

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 22 juin à 19:54, par Julien En réponse à : Mots arborescents

    Je viens signaler un petit bug.
    Lorsque l’on ajoute un champ extra dans la table « groupe_mots » et que l’on restreint ce nouveau champ « Par groupe », le plugin « Mots arborescents » ne répond plus.

    Répondre à ce message

  • Le 4 décembre 2017 à 09:02, par Johan En réponse à : Mots arborescents

    Bonjour,

    Je constate un souci avec les crayons :
    -  j’ai un mot-clé avec un parent
    -  je modifie en partie publique le titre du mot-clé avec les crayons
    -  le mot-clé perd alors son parent

    Constaté avec un SPIP 3.1.7 et les crayons en dernière version.

    Répondre à ce message

  • Le 20 mai 2016 à 16:47, par philooo En réponse à : Mots arborescents

    Je seconde le dernier commentaire.

    Il serait vraiment benefique a l’ensemble de la communauté d’integrer les deux plugins ’mot arborescent’ ET ’groupe de mot cle arborescent’ au noyau SPIP.

    Il semble evident que les groupes de mot cle ET les mot cle puissent avoir des parents.

    Je suis prêt a contribuer financièrement au development ;) $$$

    Phil

    • Le 18 octobre 2017 à 17:11, par Julien. En réponse à : Mots arborescents

      Je suis bien d’accord !

    Répondre à ce message

  • Le 27 mars 2017 à 10:13, par JMR En réponse à : Mots arborescents

    Bonjour,
    Impossible de créer un mot clé enfant, j’obtiens l’erreur ci-dessous, alors que je ne déplace pas le mot clé (création) et que je sélectionne bien un groupe permettant les mots arborescents.

    « Le groupe de mot d’origine a été remis. Pour déplacer ce mot dans un autre groupe de mot, vous ne devez rien mettre dans le champ mot parent. »

    Et lorsque je créé un mot sans définir de mot parent à la création, impossible de le renseigner après, malgré que le mot parent sélectionné soit dans le bon groupe de groupe et qui permet les mots arborescents et que je ne change pas de groupe de mots...

    « Vous ne pouvez pas définir un mot parent qui n’appartient pas au groupe de mot sélectionné. »
    et
    Le groupe de mot d’origine a été remis. Pour déplacer ce mot dans un autre groupe de mot, vous ne devez rien mettre dans le champ mot parent.

    • Le 27 mars 2017 à 14:47, par JMR En réponse à : Mots arborescents

      Voici une piste pour l’erreur rencontrée : j’avais contrairement à la vidéo de démo, des cases à cocher au lieu d’un select pour choisir le mot parent. En forçant le select dans selecteur_mot_parent.html , cela fonctionne désormais :

      [(#SAISIEmots_recursif, id_parent,
      id_groupe,
      label=<:motsar:mot_parent :>,
      exclus=#GETexclus,
      forcer_select=oui
      )]

    Répondre à ce message

  • Le 15 février 2017 à 17:55, par goony En réponse à : Mots arborescents

    Il semble impossible de supprimer un mot cle depuis le backend si il est parent d’autres mots cles. Des lors, il n’y a aparemment aucune page du backend qui liste ces mots enfants, et je n’ai ete en mesure de supprimer le mot parent qu’apres avoir effectue des updates de ma base avec PHPMyAdmin, ce qui n’est pas tres pratique, surtout pour ceux qui n’ont pas ce genre de privileges.

    Répondre à ce message

  • Le 26 juillet 2016 à 22:07, par goony En réponse à : Mots arborescents

    Bonjour,

    Merci pour ce plugin. Toutefois j’ai du le modifier pour qu’il permette d’associer des mots de groupes differents. Je suggere d’offrir cette possibilite dans ce plugin, car il y a plein de cas de figures ou les mots appartiennent a des groupes differents. Je soupsconne d’ailleurs ceux qui souhaitent une compatibilite avec le plugin « groupes arborescents » d’etre dans le meme cas. Par exemple, si nous avons une structure avec des mots cles de pays, de regions, et de villes. Il peut etre tres utile de creer une hierarchie entre ces mots, mais il est probablement aussi plus pratique de conserver ces mots dans des groupes separes.

    Pour ce qui est de la mise en oeuvre de mon cote, j’ai du commenter le test dans motsar_formulaire_verifier, et pour ce qui est du formulaire de selection du mot parent, cela se fait avec deux listes deroulantes (au lieu d’une seule dans le systeme actuel). La premiere nous permet de selectionner le groupe du parent (seuls les groupes avec l’arborescence active sont affiches). Une fois un groupe de mot selectionne, je rafraichis en AJAX la seconde liste deroulante, qui presente la liste des mots du groupe selectionne. Si cela interesse l’auteur du plugin, je peux fournir mon code (que l’on peut probablement ameliorer, j’ai juste fait en sorte que ce soit fonctionnel)

    Répondre à ce message

  • Le 26 juillet 2016 à 22:08, par goony En réponse à : Mots arborescents

    Bonjour,

    Merci pour ce plugin. Toutefois j’ai du le modifier pour qu’il permette d’associer des mots de groupes differents. Je suggere d’offrir cette possibilite dans ce plugin, car il y a plein de cas de figures ou les mots appartiennent a des groupes differents. Je soupconne d’ailleurs ceux qui souhaitent une compatibilite avec le plugin « groupes arborescents » d’etre dans le meme cas. Par exemple, si nous avons une structure avec des mots cles de pays, de regions, et de villes. Il peut etre tres utile de creer une hierarchie entre ces mots, mais il est probablement aussi plus pratique de conserver ces mots dans des groupes separes.

    Pour ce qui est de la mise en oeuvre de mon cote, j’ai du commenter le test dans motsar_formulaire_verifier, et pour ce qui est du formulaire de selection du mot parent, cela se fait avec deux listes deroulantes (au lieu d’une seule dans le systeme actuel). La premiere nous permet de selectionner le groupe du parent (seuls les groupes avec l’arborescence active sont affiches). Une fois un groupe de mot selectionne, je rafraichis en AJAX la seconde liste deroulante, qui presente la liste des mots du groupe selectionne. Si cela interesse l’auteur du plugin, je peux fournir mon code (que l’on peut probablement ameliorer, j’ai juste fait en sorte que ce soit fonctionnel)

    Répondre à ce message

  • Le 13 mai 2016 à 12:14, par ivandps En réponse à : Mots arborescents

    Bonjour, merci pour votre travail.
    Pensez-vous rendre ce plugin compatible avec Groupes de mots arborscents ?

    Cordialement

    Répondre à ce message

  • Le 14 décembre 2015 à 10:17, par Tederic Merger En réponse à : Mots arborescents

    Bonjour Matthieu,
    Merci pour votre réponse.
    Je viens de refaire un essai d’installation.
    mysql.log ne reçoit aucun message nouveau.
    Mais dans maj.log, j’ai le message suivant, le seul de toutes les logs qui signale une erreur :
    Dec 14 09:39:48 88.167.109.86 (pid 30267) :Pri :ERREUR : maj 1 fonction motsar_definir_heritages non definie
    Cordialement
    T. Merger

    Répondre à ce message

  • Le 2 décembre 2015 à 15:40, par Tederic Merger En réponse à : Mots arborescents

    (complément au commentaire précédent)

    Lors d’un nouvel essai de déinstallation-réinstallation, je retrouve les messages d’erreur mentionnés plus haut :

    « L’installation du plugin « Mots arborescents » (version : 1.0.2) a échoué
    MAJ init .

    L’opération a échoué. init 2

    Actions réalisées

    L’activation du plugin « Mots arborescents » (version : 1.0.2) s’est correctement déroulée
    L’installation du plugin « Mots arborescents » (version : 1.0.2) a échoué

    Installation du plugin Mots arborescents
    MAJ init

    L’opération a échoué. init 2
    L’opération a échoué. »

    Il semble que l’installation échoue mais que l’activation réussit !
    Et je subodore que c’est l’installation qui devrait créer les champs supplémentaires...

    Cordialement.

    • Le 2 décembre 2015 à 17:36, par Matthieu Marcillaud En réponse à : Mots arborescents

      Oui, il faudrait voir ce qui crée une erreur à l’installation.

      Peut être y a t’il quelques logs dans tmp/log/mysql.log ou sqlite.log qui indiquent que les champs n’ont pas pu être créés ?

      En regardant rapidement le code, je ne vois rien de spécial qui semble clocher pourtant.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Installation de SoyezCréateurs

    24 juin 2009 – 171 commentaires

    SoyezCréateurs est un squelette très paramétrable, multi-usages, RWD et accessible (WCAG/RGAA). Créé à l’origine pour SPIP 1.6 en 2003, il a évolué avec SPIP et est parfaitement adapté à SPIP 3.2 ! Installation Le squelette SoyezCreateurs est un (...)

  • Grappes 1.0

    23 novembre 2012 – 38 commentaires

    Présentation et nouveautés Cette version 1.0 du plugin Grappes est un portage pour SPIP 3.x. Le plugin permet de grouper des objets de SPIP dans des grappes. Les objets du core (articles, rubriques, auteurs, etc.) sont pris en charge, ainsi que (...)

  • Story (HTML5UP)

    17 mai – 16 commentaires

    Squelette SPIP "onepage" pour intégrer le thème Story de HTML5UP https://html5up.net/story Ce squelette permet de réaliser très simplement des sites de type "one page" sans toucher une ligne de code. Site de démonstration Installation A (...)

  • Mediabox avec texte

    30 mars 2015 – 20 commentaires

    Tout pareil que la Mediabox de SPIP sauf qu’on affiche le titre entier et la description entière de l’image dans l’agrandissement de l’image. La présence simultanée de texte et image n’est pas forcément évidente à réaliser dans un agrandissement (...)

  • Bouquinerie V2 : guide de l’utilisateur

    3 janvier – 12 commentaires

    Configuration quels contenus Selon la maquette adoptée pour votre site, vous pouvez décider que certains éléments des livres ou auteurs de livre ne sont pas utilisés. Vous trouverez dans la page de configuration du plugin la possibilité de (...)