Un peu d’histoire
Marcimat a reçu l’étincelle le 20 septembre 2008, on ne sait d’où elle venait et personnellement, je n’ai pas tout compris...
Utilité du plugin
Classiquement, en SPIP, on trouvera dans une rubrique située à la racine :
- des articles écrits par des auteurs qui y ajoutent parfois des mots-clés
- des sites syndiqués ou non avec parfois des mots-clés
- des brèves avec parfois des mots-clés
- des documents
- ... ?
Ces objets ont chacun des caractéristiques différentes et l’on sait que la souplesse du système de squelettes permet de les lier de différentes manières, parfois même extrêmement pointue.
La simple liste ci-dessus montre d’ailleurs bien pourquoi les « mots-clés » sont si souvent détournés de leur usage : ils sont un moyen de regrouper librement des éléments présents dans des rubriques différentes. Mais ils ne servent en principe pas à ça... Grappe bien.
Par ailleurs, la structure posée par l’usage de SPIP est faite pour durer : on ne change généralement pas les infos publiées jour après jour. Mais il peut être intéressant de grouper des informations à un moment donné pour les dégrouper ensuite... Grappe est là aussi, par exemple, pour ça.
Par exemple... un exemple
Sur mon site de militance préféré (plus de 1000 articles publiés quand même), j’ai :
- une rubrique « Espace membres », fermée aux visiteurs
- une rubrique « ECOLO à Anderlecht », ouverte, dans laquelle on reste centrés sur nous-mêmes
- une rubrique « Dans la commune », ouverte, dans laquelle on parle de choses qui se passent dans la commune ET des interpellations que nos conseillers adressent au Collège...
- des auteurs, beaucoup et de tout statut
- ...
Eh bien, dernièrement, on a mis en place des groupes de travail qui nous ont fait apparaître un besoin nouveau :
- ces GT ont besoin d’une rubrique ouverte (ECOLO à Anderlecht) ET d’une rubrique fermée (Espace Membres) [1]
- ces GT concernent des personnes qui toutes sont auteur ou visiteur de notre site
- ces GT parlent de choses qui se trouvent « Dans la commune » et pourraient vouloir référencer des sites... qui le sont parfois déjà ou qui devraient être classés « Dans la Commune » ou dans « Théma » ou...
- ces GT vont s’intéresser ponctuellement à des dossiers, pour produire des propositions...
C’est pour tenir compte de tous ces aspects, relier des éléments différents et situés dans des contextes variables qu’on va utiliser Grappes. En outre, on décidera, dans cet exemple, que les Grappes créées n’ont pas à être définitives, contrairement aux contenus réels qui, eux, sont tous à vocation d’éternité ;-)
Installation
Grappes nécessite le plugin « Sélecteur générique ». Il vous faudra donc installer celui-ci avant d’activer grappes.
Le plugin « Grappes » se trouve dans la liste des fichiers zip de la zone. Il s’installe comme les autres plugins, à la main ou en mode automatique. Pour l’installation automatique, vous pouvez utiliser la liste de plugins de spip-contrib ou copier l’adresse du ficher zip (http://files.spip.org/spip-zone/gra... et la reporter dans la case « Adresse du plugin (ou de la liste) » sous « Configuration / Gestion des plugins ».

Après, c’est valider, valider puis activer en sélectionnant Grappes dans la liste puis « Valider » une dernière fois.

Les tables de grappes
Avant d’aller plus loin, intéressons-nous aux deux tables de Grappes, puisqu’elles nous indiquent quelles balises on pourra extraire de nos futures boucles <BOUCLE_ma_grappe(GRAPPES)>, selon le principe « un_champ, #UN_CHAMP » . On pourra aussi en déduire la manière d’afficher les contenus de nos grappes
- spip_grappes contient :
| Nom du champ | type | utilité | balise |
| id_grappe | auto incrémenté | ... | #ID_GRAPPE |
| titre | texte | ... | #TITRE |
| descriptif | texte | ... | #DESCRIPTIF |
| options | tableau (?) | contient les différents paramètres d’exploitation de la grappe | ... |
| liaisons | tableau, liste | contient les types d’objets reliables | ... |
| maj | date | met en évidence la date des modifications apportées à la structure de la grappe | #MAJ |
- spip_grappes_liens contient :
| Nom du champ | type | utilité | balise |
| id_grappe | nombre | le lien avec la table ci-dessus... | ... |
| objet | texte | un des types autorisés dans la grappe (et listés dans spip_grappes | ... |
| id_objet | nombre | couplé au type ci-dessus, permet de retrouver un objet donné (son id, donc) | ... |
Grâce à la gestion des jointures externes par SPIP, on voit que cette table nous permettra d’afficher simplement les contenus de la grappe dans leurs boucles propres grâce à un simple critère {id_grappe=XX} ou plus simplement {id_grappe} pour peu que cet id soit présent dans le contexte (dans l’URL ou la boucle GRAPPES englobante).
Configuration
Il n’y a pas de configuration spécifique à réaliser. L’objet grappes est désormais disponible, il reste à en créer, comme on le ferait pour des articles, mots clés, etc.
Création d’une grappe
Grappes est accessible via le menu « Édition »...

L’interface vous propose logiquement de créer une nouvelle grappe. Allons-y par l’exemple : pour mon site, j’ai besoin d’une grappe « Groupe mandataires ». Après avoir précisé que ce site implémente à peu près tout ce que SPIP peut proposer, je vous laisse découvrir la démarche de création par l’image.

Après validation, je me retrouve devant une interface présentant ma grappe et ses zéro objets.

Il reste à en ajouter. Vous tapez quelques lettres dans une des cases et les objets concernés correspondants s’affichent. Pratique.

Cliquer sur la bonne correspondance dans la liste et puis « Valider ».

Zou. Simple. Après quelques minutes, ça donne par exemple ceci :

Afficher les contenus de mes grappes
Reste à gérer l’affichage public. C’est assez simple en fait, vu que vous disposez tout simplement d’un objet SPIP supplémentaire, avec ses boucles et balises, comme les autres :
- une boucle <BOUCLE_magrappe(GRAPPES)>
- les balises #TITRE, #DESCRIPTIF, ... pour vos boucles grappes
- les critères correspondants ( {id_grappe}, {titre}, ... (v. ci-dessus) )
- dans les boucles d’objets liés à une grappe, vous avez aussi désormais à disposition le critère {id_grappe}.
Un détail qui a toute son importance : la cohabitation avec le plugin « Accès restreint 3.0 » est parfaite. Les éléments restreints sont cachés ou affichés selon les droits du visiteur.
Deux boucles « basiques »
- Pour lister vos grappes, insérer quelque part dans un squelette :
- <BOUCLE_grappes(GRAPPES)>
- <h2><a href="#URL_PAGE{grappe,id_grappe=#ID_GRAPPE}">#TITRE</a></h2>
- #DESCRIPTIF
- </BOUCLE_grappes>
- Dans le squelette « grappe.html » placer par exemple :
- <BOUCLE_grappe(GRAPPES){id_grappe}>
- <h2>#TITRE</a></h2>
- #DESCRIPTIF
- <p>Cette grappe contient:</p>
- <ul>
- <BOUCLE_rub(RUBRIQUES){id_grappe}>
- <li>Rubrique: #TITRE </li>
- </BOUCLE_rub>
- <BOUCLE_art(ARTICLES){id_grappe}>
- <li>Article: #TITRE</li>
- </BOUCLE_art>
- <BOUCLE_mot(MOTS){id_grappe}>
- <li>Mot-Clé: #TITRE</li>
- </BOUCLE_mot>
- <BOUCLE_aut(AUTEURS){id_grappe}>
- <li>Auteur: #NOM</li>
- </BOUCLE_aut>
- <BOUCLE_site(SYNDIC){id_grappe}>
- <li>Site: #NOM_SITE</li>
- </BOUCLE_site>
- </ul>
- </BOUCLE_grappe>
Voilà, voilà. Bon amusement !



grappes_2_0.zip
Vos commentaires
# Le 8 janvier 2011 à 16:27, par Matthieu Marcillaud
En réponse à : Grappes
Pour corriger un bug avec le plugin « afficher_objets » à jour, j’ai modifié, avec la version 0.3 de grappes la fonction
inc_lister_objets_dist()qui était présente. Elle s’appelle maintenantinc_grappes_lister_objets_dist()et n’entre plus en conflit.Ceux qui utilisaient la fonction lister objets de grappes de la sorte :
Doivent maintenant utiliser :
Nota :
La fonction
lister_objets()du plugin « afficher_objets » est maintenant présente dans SPIP 2.3 en développement, et permet d’afficher les listes d’éléments en utilisant des squelettes, comme le propose également grappes. Dans l’avenir, il faudra sûrement harmoniser ce plugin grappes avec la fonction de SPIP proposée.# Le 20 janvier 2011 à 00:21, par nddinechin
En réponse à : Grappes
Matthieu, encore merci pour ces modifs.
J’en profite pour suggérer une todo list pour Grappes - au cas où ça donne des idées à un contributeur ! -, au risque de repasser une couche sur certains points déjà abordés ci-dessous dans les commentaires. A noter que j’utilise le plugin en installation mutualisée pour permette à mes utilisateurs de composer la page d’accueil de leur site ainsi que leur newsletter (il ne s’agit en gros que d’articles, de fait).
- ajouter le tri des éléments dans les grappes comme dans le plugin « sélection d’articles » (sorry Suske ! ;-)
- rendre compatible avec Autorité pour empêcher la création/modification de grappes aux administrateurs non webmestres (je ne sais pas si ça se fait coté Autorité ou coté Grappes ce genre de choses !)
- import/export de la configuration des grappes via yaml.
- est-il possible d’ajouter un critère de filtre du genre grappe=x pour les boucles Articles, Rubriques, etc. ?
- enfin, il serait pratique de pouvoir grouper les grappes en catégories pour pouvoir afficher des sous-ensembles de grappes indépendants (ex : grappes de composition d’une newsletter, grappes de configuration du portail, etc.)
Voilu !
Répondre à ce message
# Le 12 août 2010 à 11:50, par ast79
En réponse à : Grappes
Pour réaliser un carnet d’adresse composé de groupes j’utilise les grappes :
sauf qu’il ne tient pas compte de l’id car il m’affiche que le contenu de la première grappe.
je suis sous spip 2.1.1
merci de votre aide
# Le 12 août 2010 à 11:51, par ast79
En réponse à : Grappes
voici ma boucle
BOUCLE_aut(AUTEURS)id_grappe=2 par nom
# Le 12 août 2010 à 14:55, par ast79
En réponse à : Grappes
résolu
le pb était au niveau des squelettes
Répondre à ce message
# Le 28 mai 2010 à 08:12, par soon7
En réponse à : Grappes
En réfléchissant sur le truc, une idée lancée en l’air, qu’en pensez vous ?
Imaginons qu’un champ id_position soit rajouté dans spip_grappe_liens, et permette de définir l’ordre d’un élément de la grappe, quel que soit son type.
Donc on aurait
et dans /squelettes, un sous répertoire « ligne_element » avec article.html, rubrique.html, bref les squelettes du type d’éléments dont vous avez besoin pour votre ligne d’éléments avec par exemple dans ligne_element/article.html :
dans ligne_element/rubrique.html
et ainsi de suite...
# Le 4 juin 2010 à 16:10, par Suske
En réponse à : Grappes
Salut,
En fait, il n’y a un truc que j’arrive pas à saisir : d’où vient ce besoin de mettre un ordre indépendant des types d’objets dans la grappe ? Autrement dit : quel intérêt d’avoir auteur1 puis article99 puis auteur 53 plutôt que auteurs 1 puis 53 et ensuite les articles... (etc.)
Je suppose que vous avez un cas de figure, si vous voulez bien me l’expliquer :-)
# Le 4 juin 2010 à 16:45, par soon7
En réponse à : Grappes
« Le cas qui revient le plus souvent chez moi » (TM © ) c’est d’avoir la possibilité de mélanger articles et rubriques,ceux ci n’étant pas forcément enfants de la même rubrique , sans avoir à jongler avec des date ou des num titres, ou encore les fixer en dur dans les squelettes.
Répondre à ce message
# Le 27 mai 2010 à 17:41, par filnug
En réponse à : Grappes
Je comprends pas trop les exemples de boucles. Est ce possible de faire une boucle grappe qui classe tous les articles + les rubriques selon un ordre défini ?
Du type :
# Le 28 mai 2010 à 07:58, par soon7
En réponse à : Grappes
Hello,
J’ai exactement le même besoin que toi...
D’autre part, il faudrait je pense rajouter un champ dans spip_grappe_lien, genre id_position, afin de pouvoir ordonner les éléments d’une grappe, quels que soient leurs types (article,s rubriques, etc)
en tout cas merci pour ce plugin, qui permet déjà et permettra de faire encore plus de choses en Spip.
# Le 3 juin 2010 à 13:54, par Suske
En réponse à : Grappes
Salut,
Trier des objets différents selon un critère donné, externe ou commun, c’est pas vraiment un problème lié à Grappes... La difficulté est de trier sur un critère commun des objets présents dans des boucles/tables différentes. Je suis pas spécialiste de ça du tout mais il existe des bidouilles pour faire ça, j’en ai vu :-) Ah voilà... C’est facile grâce à Bonux : http://www.erasme.org/SPIP-requete-....
Grappes est un objet comme les autres, sauf que sa vocation est de lier des objets :-p
Donc, @filnug : ta boucle ne sortira que le titre de la grappe 1... Pour sortir d’autres objets, il faut insérer d’autres boucles... Mais tu as raison, les exemples de boucles c’est ce qui manque ici : revenez quand vous en aurez (moi je suis plus là dessus pour l’instant :-/). Sinon pour ce qui est de trier des objets divers, v. plus haut.
@soon7 : Je suis pas très sûr de moi mais j’ai pas l’impression que tu prends la voie facile, si elle existe... Et s’il manque des choses à Grappes, ce serait plutôt des autorisations variables et des fonctions de contenu (genre autoriser des auteurs à créer ou gérer des grappes, limiter des grappes à des types de contenus...) plus que de placement, mais bon je réponds à côté, je sais :-)
Répondre à ce message
# Le 21 mai 2010 à 10:58, par Djinnoll
En réponse à : Grappes
Petit souci en 2.1 sur une grappe auteurs-rubriques, le sélecteur trouve bien les rubriques, mais affiche « Nom inconnu » après l’ajout. En revanche, ajoute bien les auteurs
# Le 27 mai 2010 à 13:06, par filnug
En réponse à : Grappes
je viens de constater le même problème. impossible pour moi de sélectionner une rubrique. j’ai toutjours le « nom inconnu » qui apparaît
# Le 27 mai 2010 à 13:20, par Suske
En réponse à : Grappes
J’ai passé mon site « grappé » en 2.1 et mis à jour les plugins. Je ne reproduis pas...
Je suspecte donc votre version du sélecteur générique : la mienne, c’est Version : 0.5 [37313]
# Le 27 mai 2010 à 13:21, par filnug
En réponse à : Grappes
juste pour info, je viens de changer de navigateur (FF) et ça marche !
j’ai ensuite testé d’autre navigateur (safari, opera) et c’est ok. Le « coupable » pour l’instant est Flock
# Le 27 mai 2010 à 13:23, par filnug
En réponse à : Grappes
est ce que le plugin sélecteur générique est dispo en installation auto ?
# Le 27 mai 2010 à 13:30, par Suske
En réponse à : Grappes
Ils est dispo via le lien « Téléchargements » ici-même (sous le bandeau).
Le lien direct : http://files.spip.org/spip-zone/sel.... Je ne sais pas s’il est dans les paquets... Plus le temps de vérifier là... S’il n’y est pas merci de mailer à spip-zone@rezo.net :-)
Répondre à ce message
# Le 20 mai 2010 à 18:11, par fd
En réponse à : Grappes
installé sur une 2.1 mais quand je met le titre de l’article pour l’ajouter rien napparait :( jai bien tout installé pour tant. Meme si je met le bon nom darticle rien à faire..
# Le 27 mai 2010 à 13:22, par Suske
En réponse à : Grappes
Je ne reproduis pas, donc... Que dire ? Avez-vous vidé le cache ?
Il importe d’avoir une version récente du sélecteur générique (chez moi, Version : 0.5 [37313] -> je n’ai aucun souci)
Répondre à ce message
# Le 3 mai 2010 à 17:24, par Clem87
En réponse à : Grappes
Ce plugin est formidable un grand merci.
Il est juste dommage de ne pas pouvoir faire des groupes de grappe comme il existe des groupes de mots clés. Lorsque l’on crée beaucoup de grappe, on a tendance à plus les retrouver.
Répondre à ce message
# Le 21 mars 2010 à 08:22, par klaus++
En réponse à : Plugin Grappes
Est-ce que tu as pensé à anonymiser les noms de personnes dans grappe_alimentee-90604.png ?
# Le 21 mars 2010 à 13:31, par Suske
En réponse à : Plugin Grappes
Je ne l’avais pas fait par paresse et parce qu’ils/elles occupent des mandats publics... Mais tu as raison, je vais le faire ! Merci.
Répondre à ce message
# Le 5 mars 2010 à 18:55, par Nicolas
En réponse à : Plugin Grappes
Bonjour !
Un comportement bizarre de Grappes auquel je me heurte (je ne crois pas l’avoir vu mentionné) : Grappe refuse de prendre en compte les articles « soumis à l’évaluation ». Le plugin « sélecteur générique » les prend bien en compte, mais au moment de faire ajouter, Grappes les ignore. Ça oblige à publier/ ajouter à grappe/ remettre en évaluation les articles si on veut une preview sur un squelette utilisant les Grappes. Pas pratique...
Y a-t-il un moyen simple de corriger ça ?
Merci tout plein !
Répondre à ce message
# Le 14 février 2010 à 20:44, par Shnoulle
En réponse à : Plugin Grappes
2 fichiers zip :
- un menu pour les grappes : test si le fichier grappe.html existe : si oui : propose un lien vers page=grappe et en sous menu : page=grappe&id_grappe=X : si Matthieu est daccord , je peut commiter
- un squelette tous prèt pour squelettes de type Z reprenant l’ensemble des grappes avec les rubriques et les auteurs dans extra , les articles en résumé dans le contenu et les sites dans le contenu. Si le squelette est appelé sans id_grappe : il affiche la liste des grappes et un texte d’introduction. (si un plugin de type Z est activé)
TODO : gérer l’affichage ou non des grappes
Concernant le TODO, je me demandais si il ne serait pas intéressant d’avoir des grappes publiques et des grappes privées ? Dans ce cas ajouter un filtre publique=on dans les boucles suffirait à passer en 404 si aucune grappes n’est publiques.
Qu’est ce que vous en pensez ? Je n’aurais sans doute pas le temps cette semaine, mais pitete le week end prochain (si j’arrive à comprendre coment marche une mise à jour de base SQL)
Merci
- http://shnoulle.net/IMG/zip/zgrappes.zip
- http://shnoulle.net/IMG/zip/menusgrappes.zip
# Le 14 février 2010 à 22:10, par Suske
En réponse à : Plugin Grappes
Je testerai jeudi. D’ici là : famille et militance IRL ;-)
Merci pour cette super-réactivité !
# Le 24 février 2010 à 17:53, par Suske
En réponse à : Plugin Grappes
Bon, j’ai tenté les tests... Pas avec trop de réussite mais je n’ai pas encore pris de temps pour vraiment m’intéresser à Z... Et je n’en n’ai pas pour l’instant.... Désolé. Je garde ça dans un todo... (Mais après des exemples de boucles simples ;-) )
Répondre à ce message