Mosaïque

Ce plugin permet d’organiser les images du portfolio par simple glisser-déposer des vignettes d’une mosaïque accessible depuis la page d’édition de l’article.

Dépendances

Ce plugin nécessite les plugins Champs extra et Saisies pour fonctionner.

Utilisation

Le plugin Mosaïque ajoute un lien « Trier les images du portfolio » sur la page d’édition des articles (bouton « Modifier cet article ») dont le portfolio contient au moins deux images.

Ce lien ouvre une popup qui présente les images (jpg, png et gif) du portfolio de l’article dans une mosaïque. On peut ordonner les vignettes de la mosaïque par simple glisser-déposer.

Lorsque l’ordre est déterminé, un clic sur « Enregistrer » ferme la popup, et un message informe le rédacteur qu’il doit encore enregistrer l’article pour que l’ordre des vignettes soit sauvegardé dans la base.

Affichage de la mosaïque

Il y a plusieurs moyens d’afficher la mosaïque :

Avec les squelettes de la dist
Le squelette de la dist inclure/documents.html est surchargé par le plugin pour prendre en compte l’ordre de la mosaïque. Sur les sites qui utilisent les squelettes par défaut, l’affichage de la mosaïque fonctionne donc sans modification supplémentaire.

Par les modèles
Le plugin introduit également deux modèles spécifiques :

  • <articleXXX|mosaique> permet d’afficher la mosaïque de l’article XXX.
  • <ordre_mosaique|id_article=XXX> retourne l’ordre des id des images de la mosaïque de l’article XXX, séparés par des virgules : 35,2,56,1,etc.

Utilisation dans les squelettes
Pour récupérer l’ordre d’une mosaïque dans une boucle DOCUMENTS, on utilise la méthode suivante (dans un contexte où l’id_article est défini) :

<BOUCLE_exemple(DOCUMENTS) {id_document IN #MODELE{ordre_mosaique,id_article}|explode{','}}>
[...]
</BOUCLE_exemple>

Remarquons qu’aucun critère de tri (critères {par ...} ou {tri ...}) ne doit être précisé dans la boucle.
De même, on veillera à n’insérer les autres éventuels critères qu’après l’appel d’ordre_mosaique dans les critères :

<BOUCLE_exemple(DOCUMENTS) {id_document IN #MODELE{ordre_mosaique,id_article}|explode{','}} {extension IN jpg,gif} {titre=='bob'} {','}>

Remarque concernant le fonctionnement

L’ordre de la mosaïque est conservé dans un champ extra mosaique de la table spip_articles.
Il existe donc une balise #MOSAIQUE utilisable dans le contexte des boucles ARTICLES. Cependant l’utilisation de cette balise est à proscrire, car elle contient le dernier ordre défini par le rédacteur et ne tient pas compte des éventuels ajouts (ou suppressions) ultérieurs d’images dans le portfolio. Dans 99% des cas on préférera donc la méthode décrite ci-dessus pour récupérer l’ordre de la mosaïque dans les squelettes.

Développements possibles

On peut imaginer deux principaux axes de développement de ce plugin :

  • Le principe pourrait être généralisé aux objets d’une rubrique (articles, brèves, documents...), ce qui permettrait de se passer de la traditionnelle numérotation (parfois laborieuse) des objets par leur titre.
  • Dans la perspective du développement d’un nouvel objet éditorial « album », le principe pourrait être retenu afin que l’album prenne en compte la notion d’ordre, et ce de manière intuitive pour le rédacteur.

Migrer vers Ordoc

Le plugin Mosaïque est déprécié, il est préférable d’utiliser le plugin Ordoc : ordonner les documents attachés qui offre une interface plus moderne pour gérer la position des documents sur un article.

Il existe un plugin de migration Migration de Mosaïque vers Ordoc.

Discussion

15 discussions

  • 1

    Bonjour,

    Ce plugin marche-t-il avec SPIP 2.1.x ? Sinon, serait-il possible de le rendre compatible ?
    Existe-t-il un code pour que la mosaïque s’alimente aléatoirement d’images de tous les articles publiés, qui une fois cliquées renverraient vers les articles d’où elles proviennent ?

    Merci d’avance

    • Bonjour,

      Non, le plugin n’est pas compatible avec Spip 2.1.x et je n’ai pas prévu d’assurer cette compatibilité. Mais les contributions sont les bienvenues !

      Sur le deuxième point, je ne comprends pas vraiment l’intérêt de passer par ce plugin pour afficher des images dans un ordre aléatoire. Mosaïque n’est rien de plus qu’une solution pour ordonner les images d’un article dans l’espace privé. Le plugin ne s’occupe pas de la présentation des images sur la partie publique (ou plutôt, il conserve le comportement natif de spip à ce niveau-là). Sa seule utilité est d’établir un ordre (34, 5, 2, 12...).

      Du coup je comprends mal cette dernière question...

    Répondre à ce message

  • 7

    Bonjour,

    Très bonne idée de pouvoir organiser les images de façon graphique dans l’interface privée et les insérer dans l’article là où on le désire...

    Petite question : comme les images doivent être présentes dans le portfolio, il y a une redondance « image de la mosaïque dans l’article / image dans le portfolio »... Moi, cela ne me gêne pas, je peux « bidouiller » ; mais je suis en train de construire un site pour quelqu’un qui n’est pas familier avec spip...

    Y a-t-il un moyen d’adapter de sorte que si une image est incluse dans une mosaïque, elle n’apparaisse pas dans le portfolio ?

    En tout cas, merci pour cette fonctionnalité que je mets de côté pour d’autres occasions !

    KMk.

    • Bonjour,

      Je ne suis pas sûr de bien comprendre la question...

      Dans l’idée, la mosaïque n’est pas un groupement d’images distinct du portfolio (ce que sont, par exemple, les albums), mais un ordre appliqué aux images du portfolio. Autrement dit, toutes les images du portfolio apparaissent dans la mosaïque.

      « Y a-t-il un moyen d’adapter de sorte que si une image est incluse dans une mosaïque, elle n’apparaisse pas dans le portfolio ? »

      ==> De fait, ça reviendrait à ne pas du tout afficher les images du portfolio, puisqu’elles sont toutes dans la mosaïque. Or ça me semble délicat, dans la mesure où si elles ne sont plus affichées, impossible de les sortir du portfolio... et donc de la mosaïque !

      Ou alors je vous ai mal compris...

    • Bonjour,

      Je crois que j’ai fait une confusion entre album / diaporama et la possibilité offerte par votre plugin.

      Dans l’idée, la mosaïque n’est pas un groupement d’images distinct du portfolio (ce que sont, par exemple, les albums), mais un ordre appliqué aux images du portfolio.

      Je pense avoir compris le principe : on peut réorganiser l’ordre de TOUS les documents joints - ou tout au moins inclus dans le portfolio - plus facilement. Ce qui m’a mise sur une mauvaise voie, c’est le code <articleN|mosaique> : ce code serait alors plutôt applicable à un article différent de N ? ???

      Merci pour votre contribution et votre réponse,
      Cordialement,
      KMk

    • Oui, l’idée est à peu près ça. Plus précisément, le plugin permet d’ordonner les images du portfolio (petite nuance).

      Contrairement à l’ordre traditionnel par le num titre, l’ordre des images est ici propre à chaque article. Par exemple, on peut avoir :

      article 1 > img1, img2, img3
      article 2 > img2, img3, img1

      Du coup le code <articleN|mosaique> retoune la mosaïque de l’article N (c’est-à-dire les images du portfolio de l’article N, dans l’ordre établi par glisser-déposer sur la page dudit article et présentées sous forme de mosaïque), quel que soit le contexte d’utilisation.

    • Bonjour,
      Tout d’abord, merci pour ce plugin.
      J’ai toutefois 2 affichages avec le code
      <article2|mosaique>

      -  la mosaïque ordonnée par mes soins... et
      -  mon portfolio habituel en dessous.
      J’ai bien sur réussi à supprimer la visibilité du portfolio (plugin Compositions) mais existe t il un moyen d’éviter d’en passer par ce stratagème ?
      Quel code placer dans la rédaction de l’article 2 pour faire apparaitre ma mosaïque ?
      Merci.

    • Bonjour,

      Oui, en effet, l’un n’empêche pas l’autre, et c’est normal : c’est pour cela qu’il y a plusieurs modes d’insertion possibles.

      Si vous utilisez les squelettes par défaut (dist), normalement le portfolio devrait automatiquement prendre l’ordre de la mosaïque. Donc si le portfolio est déjà appelé par vos squelettes (ce qui est le cas dans la dist), placer <article2|mosaique> dans le texte affichera logiquement un doublon. Effectivement ça peut être gênant quand on veut insérer une mosaïque dans le texte sans avoir de doublon après.

      Voici une solution qui permet de ne pas afficher le portfolio quand la mosaïque est déjà présente dans le texte. Les modifications sont à faire dans une surcharge du squelette inclure/documents.html :

      Au tout début (ligne 2), ajouter :

      [(#INFO_TEXTE*{article,#ENV{id_article}}|match{<article#ENV{id_article}\|mosaique>}|non) #SET{afficher_portfolio,1}]

      Puis remplacer les critères de la BOUCLE_documents_portfolio par :

      <BOUCLE_documents_portfolio(DOCUMENTS) {id_article} {id_document IN #MODELE{ordre_mosaique,id_article}|explode{','}} {si #GET{afficher_portfolio}}{doublons}{vu=non}>

      Je n’ai pas trop le temps de m’en occuper en ce moment, mais ce sera ajouté dans la prochaine version du plugin.

      Merci pour ce retour !

    • Merci pour ce retour rapide.
      Je teste dés que possible.

    • Voilà, c’est testé et ça marche.
      Merci.

    Répondre à ce message

  • 3

    Bonjour,

    Excellente idée de plugin !

    Je viens de l’installer sur un SPIP 3.05 et rien ne s’affiche, quelle déception, j’ai 100 photos à ordonner ...

    -  J’ai désactivé tous les plugins (sauf les dépendances à Mosaique), et rien n’y fait.
    -  Le champ « mosaique » a bien été crée dans la table article.
    -  Les documents sont bien activés sur les articles, j’ai un bouton en bas « Ajouter un document », mais pas de bloc « Ajouter un document ou une image » à gauche, ni de bloc Mosaique

    Une idée de la cause de cette déchirante absence ?

    • Bonjour,

      En fait, le lien « Trier les images du portfolio » doit normalement s’afficher sur la page d’édition de l’article où se trouve le formulaire d’édition du texte, etc. (et non sur la page de résumé des infos). Sur votre copie d’écran, il faut donc cliquer sur le bouton « Modifier cet article » en haut à droite pour y avoir accès.

      J’avoue que ce n’est pas forcément le chemin le plus intuitif. Il y a deux ou trois petits détails ergonomiques qui mériteraient d’être améliorés dans ce plugin. Peut-être pour une prochaine révision...

      En attendant j’ai mis la doc à jour pour qu’elle soit plus explicite.

    • Au temps ou autant pour moi, extraordinaire !

      Merci pour ce travail, c’est un gain de temps énorme.

      PS : dans l’espace privé, les images ne s’affichent pas par ordre mosaïque ?

    • Non, et ça fait partie des améliorations de l’ergonomie prévues ;)
      À l’heure actuelle il reste possible (et pas très difficile) de changer ça dans les squelettes concernés de plugins-dist/media/ pour que l’ordre soit pris en compte dans le privé.
      Merci pour vos retours !

    Répondre à ce message

  • 2

    Super !!!
    Ça fonctionne dans l’admin.
    Dans les dépendances requises mais non installée il faut ajouter YAML (mais qui n’est pas une dépendance directe)

    Je ferai un test en production dans quelque temps, pour le moment pas de soucis avec un spip 3.05

    • Bonjour,

      Sauf erreur de ma part (?), c’est l’interface des champs extra qui nécessite yaml. Or c’est l’API de champs extra qu’on utilise ici.

      Sinon, le plugin est en phase de test (je croise les doigts pour qu’aucun bug monstrueux ne se manifeste...), et tous les retours sont bienvenus !

    • Tout à fait, cela étant j’ai du installer YAML « manuellement » car son absence bloquait l’affichage complet des articles dans l’admin.

    Répondre à ce message

  • 1

    Bonjour,
    Bonne idée, ce plugin, il faut que je teste au plus vite !
    Concernant le plugin albums, je sais pas si tu as vu, il est en développement ici : http://contrib.spip.net/Albums-v2-DEV
    Il faudra que je regarde comment y intégrer ta contribution, pour l’instant je manque un peu de temps et il y a d’autres choses à finaliser avant, mais n’hésite pas à commiter.

    • Bonjour,

      Cette page me dit quelque chose, j’avais déjà dû tomber dessus auparavant.

      Je viens de télécharger la version dev d’Albums V2 et (vu de loin) il semble que ce ne serait pas trop compliqué d’ajouter la gestion des albums à une future révision du plugin mosaïque. C’est peut-être plus simple dans ce sens là pour commencer, non ?

    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