MultiViewer Flash

Galerie Photo Flash au choix pour SPIPv2

  • 4 viewers Flash au choix, de base, mais extensible...
  • paramétrable par le rédacteur,
  • possibilité de voir plusieurs galeries sur une page avec différents viewers.
  • des balises de paramétrages utilisables dans vos squelettes ou vos articles,
  • Ajouter facilement à SPIP vos propres viewers flash personnalisés (interface par fichier XML)

Ma motivation

Souvent les viewers de galerie sont figées par le webmaster. Dans le cadre d’un site web pour mon club photo, j’ai voulu laissé le choix du viewer au rédacteur de l’article. Aussi je souhaitais des balises utilisables soit dans les squelettes, soit dans la rédaction de l’article.

Dans le cadre de la rédaction d’un article, je trouvé utile également de pouvoir placer une ou plusieurs galeries, par exemple une en haut avec les photos avant traitement puis un descriptif du travail d’élaboration et à la fin les images finales.

J’avais trouvé sur des viewers flash libres qui me plaisaient beaucoup, aussi j’ai cherché une solution pour les intégrer dans SPIP. J’ai d’abord trouvé le plugin PostCardViewer, pourquoi ne pas avoir simplement utilisé ce plugin PCV, déjà ma préférence se portait sur le viewer SimpleViewer, son fonctionnement est limité à afficher tous les documents d’un article.

Comment ça marche

En observant ces viewer Flash, je me suis aperçu qu’ils utilisaient souvent un fichier de description XML de la galerie. Il est facile à SPIP de générer ce fichier interface.

Par exemple, dans un article XX, je veux :

-  Déclarer une nouvelle galerie nommée ’nomgalerie’ :

  • dans l’article : <MULTIVIEWERXX|NEW|nom=nomgalerie>
  • dans le squellette : #MULTIVIEWER{NEW,nomgalerie}

-  Ajouter le document 26 dans la galerie ’nomgalerie’ :

  • dans l’article : <MULTIVIEWERXX|ADD|nom=nomgalerie|doc=26>
  • dans le squellette : #MULTIVIEWERXX{ADD,nomgalerie,26}

-  Afficher la galerie ’nomgalerie’ :

  • dans l’article : <MULTIVIEWERXX|VOIR|nom=nomgalerie>
  • dans le squellette : #MULTIVIEWERXX{VOIR,nomgalerie}

-  Choisir le viewer de la galerie ’nomgalerie’ :

  • dans l’article : <MULTIVIEWERXX|PARAM|nom=nomgalerie|viewer=postcard>
  • dans le squellette : #MULTIVIEWERXX{PARAM,nomgalerie,viewer=postcard}

autres paramètres de viewer (livré avec le plugin de base) :

  • <MULTIVIEWERXX|PARAM|nom=nomgalerie|viewer=autoviewer>

    (sympa pour une page d’accueil, un bandeau)

  • <MULTIVIEWERXX|PARAM|nom=nomgalerie|viewer=simpleviewer>

    (Celui que j’utilise le plus, la galerie d’image sur le côté, en dessous, ou... et la grande image sur le côté, classique et efficace.)

  • <MULTIVIEWERXX|PARAM|nom=nomgalerie|viewer=postcard>

    (un peu fun, on clique ça s’agrandit, on clique le voisin, il arrive)

  • <MULTIVIEWERXX|PARAM|nom=nomgalerie|viewer=tiltviewer>

    (Le plus délire des 4, un peu comme Postcard mais en plus ça bouge en 3D)

Autres balises : ## NOUVEAU ##

  • Ajout de tous les documents par une balise unique #MULTIVIEWER ou #MULTIVIEWER{ALL}

Ce qui donne dans un article : <MULTIVIEWER> ou <MULTIVIEWER|ALL>

ou plus pour spécifier le viewer : <MULTIVIEWER|ALL|TYPEGALERIE=postcardviewer>

  • Ajout de tous les documents d’une rubrique ou d’un article : #MULTIVIEWER{ADD,nomgalerie,-1}
    Ce qui donne dans un article : <MULTIVIEWER|ADD|nom=nomgalerie|doc=-1>

Un exemple de squelette :

Exemple de squelette (simple)
Pour remplacer le portfolio dans les articles. Ce fichier remplacera celui des squelettes de bases livrés dans la version en téléchargement de SPIP (testé sur 2.0.5 et 2.0.7).

Exemple : Les 4 viewers sur une page, ils sont paramétrés petits pour que ça passe dans la page. L’esthétique a été oublié pour montrer la faisabilité technique.

Des modules d’extension

Il vous sera facile d’ajouter vos propres viewers flash. Pour cela il suffit de :
-  Dupliquer un des fichier addon-monviewer.php et de l’adapter à votre viewer.
-  Le déclarer dans le fichier : modules_liste.php
-  Dupliquer un des fichier MVW_DEFINITION-monviewer.php et d’y déclarer les variables de paramétrage de votre viewer (répertoriées en fonction de où on les ajotue : JS, XML, HTML...)

Soit : A vous de jouer en ajoutantles votres dans le dossier /modules/

Le kit de départ - liste des viewers

Les viewers livrés avec le plugin sont ceux de Felix Turner, www.airtightinteractive.com
Ces versions sont libres (mais avec un lien vers son site), des versions débridés et anonymes sont dispos mais moyennant quelques dollars.

Evolutions très prochaines

Voir une galerie de tous les documents image : (pas encore dispo dans la v1.0)

  • dans l’article : <MULTIVIEWERXX|ALL>
  • dans le squellette : #MULTIVIEWERALL
    et même plus simplement :
  • dans l’article :
  • dans le squellette : #MULTIVIEWER

Un exemple : Rédaction d’un article

Premier exemple du plugin MULTI VIEWER :
- On initialise un viewer : <MULTIVIEWER8|NOUVEAU>
- on choisi le viewer et des paramètres : <MULTIVIEWER8|PARAM|typegalerie=autoviewer>
<MULTIVIEWER8|PARAM|largeur=550>
<MULTIVIEWER8|PARAM|hauteur=450>
- on ajoute une image <MULTIVIEWER8|AJOUTERDOC|doc=2>
- on ajoute une autre image <MULTIVIEWER8|AJOUTERDOC|doc=3>
- on affiche le viewer : <MULTIVIEWER8|VOIR>

{{{La suite de l'article}}}
Puis d'autres images en illustration,....

<MULTIVIEWER8|NOUVEAU|nom=toto>
<MULTIVIEWER8|PARAM|nom=toto|typegalerie=postcard>
<MULTIVIEWER8|PARAM|nom=toto|largeur=350>
<MULTIVIEWER8|PARAM|nom=toto|hauteur=350>
<MULTIVIEWER8|AJOUTERDOC|nom=toto|doc=2>
<MULTIVIEWER8|AJOUTERDOC|nom=toto|doc=3>

- on affiche le nouveau viewer :
<MULTIVIEWER8|VOIR|nom=toto>

Ce qui nous donne :


-  En haut : une galerie avec AutoViewer
-  En bas : une galerie avec PostCardViewer

Pour le Webmaster

Dans le fichier MULTIVIEWER_OPTIONS.PHP, il est possible de définir la taille par défaut et la taille maxi autorisée pour les viewer : Dans le cas d’un rédacteur un peu mégalo ;-) .

Les balises acceptent les autres balises comme argument :
[(#MULTIVIEWER{ADD,[(#ENV{nom}|sinon{#ID_ARTICLE})],#ENV{doc}})]
Exemple issu du modèle MULTIVIEWER_ADD.HTML : prend l’Id de l’article si le nom de la galerie n’est pas défini.

Code - Développement

J’ai essayé de respecter les fonctions dédiées à la V2 de SPIP :

  • requêtes SQL : utilisation de sql_select(), sql_fetch ()
  • utilisation de interprete_argument_balise($i,$p) pour récupérer les arguments. Cette méthode permet de calculer les valeur si on récupère une balise comme : [(#MULTIVIEWER{NEW,[(#ENV{nom}|sinon{#ID_ARTICLE})]})] sinon on récupère la balise sous forme de chaine.
  • pour les dossiers : _DIR_PLUGIN_MULTIVIEWER qui retouren le dossier du plugin et s’adapte en fonction de l’espace privé ou public.
  • je teste l’existence des fichiers avant de les charger, et je vérifie l’existence des fonctions des modules à charger.

Télécharger

PLUGIN MUTLIVIEWER (v1.0.3 - STABLE - )
-  Ajout de la balise #MULTIVIEWER{ALL}
— Ajout de tous les documents d’une rubrique ou article = #MULTIVIEWER{ADD,nomgalerie,-1}

Version 1.0.3 - Stable -

Dernière version en DEV
Ajout de la visu. des paramètres possibles pour chaque viewer dans l’espace privé.
ATTENTION : Beaucoup ont eu un gros bug avec cette version DEV. voir le forum

Version en développement
On y trouve notamment une page dans l’interface privée qui liste tous les viewer disponibles et les variables de paramétrage.

Si vous aimez ce plugin, et pour encourager le développement de ce plugin : N’hésitez pas à inscrire votre site sur : plugins.spip.net. Merci,

Discussion

72 discussions

  • J’ai réussi à supprimer les messages d’erreurs en changeant un peu ce que j’avais dans mon article :

    <MULTIVIEWER90|NEW|nom=joachim>
    <MULTIVIEWER90|PARAM|nom=joachim|typegalerie=simpleviewer>
    <MULTIVIEWER8|PARAM|nom=joachim|largeur=600>
    <MULTIVIEWER8|PARAM|nom=joachim|hauteur=600>
    <MULTIVIEWER90|ADD|nom=joachim|doc=75>
    <MULTIVIEWER90|ADD|nom=joachim|doc=76>
    <MULTIVIEWER90|ADD|nom=joachim|doc=77>
    <MULTIVIEWER90|VOIR|nom=joachim>

    Alors ça avance Mais j’ai toujours rien sur la page ( article 90). Que le message :

    INFO dans le Plugin MULTIVIEWER : L’utilisation de la balise MULTIVIEWER sans paramètre n’est pas encore définie... (prochainement dispo)

     :-(

    Répondre à ce message

  • Bonjour,
    Trés Novice à SPIP - j’aimerais bien utiliser ce plugin mais j’ai pas trop bien compris non plus ...J’ai ajouter l’exemple du boucle dans mon squelette article=x.html . Dans mon article (n°80) . J’ai ajouter :

    <MULTIVIEWER90|NOUVEAU>
    <MULTIVIEWER90|PARAM|typegalerie=simpleviewer>
    <MULTIVIEWER90|PARAM|largeur=600>
    <MULTIVIEWER90|PARAM|hauteur=450>
    <MULTIVIEWER90|AJOUTERDOC|nom=joachim|doc=75>
    <MULTIVIEWER90|AJOUTERDOC|nom=joachim||doc=76>
    <MULTIVIEWER90|AJOUTERDOC|nom=joachim||doc=75>
    <MULTIVIEWER90|AJOUTERDOC|nom=joachim||doc=77>
    <MULTIVIEWER90|AJOUTERDOC|nom=joachim||doc=78>
    <MULTIVIEWER90|AJOUTERDOC|nom=joachim||doc=79>
    <MULTIVIEWER90|VOIR>

    Je recois un message d’erreur en haut de la page privé :

    Warning : Invalid argument supplied for foreach() in C :\xampplite\htdocs\website\plugins\auto\multiviewer_v1.0\modules\addon-simpleviewer.php on line 37

    J’ai aussi dan l’article :

     :ERREUR dans le Plugin MULTIVIEWER : Cette galerie joachim n’est pas encore définie.(AJOUTERDOC)

    et sur le site public rien s’affiche que

    INFO dans le Plugin MULTIVIEWER : L’utilisation de la balise MULTIVIEWER sans paramètre n’est pas encore définie... (prochainement dispo)

    J’aimerai vraiment que ça marche je vais avoir plusieurs articles avec une galerie.

    Si quelqu’un peux m’aider à mieux comprendre je serai super contente.

    Version SPIP 2.0.10

    Répondre à ce message

  • 4
    Haqqtiviste

    bonjour

    il y a apparement une icompatibilité avec google api et/ou gis qui empêche l’affichage de la google map.
    il semble que ce soit un script js du style interfade ou quelque chose comme ça...

    merci tout de même

    • Bonjour,

      As-tu un lien à proposer où l’on peut voir ce pb ?

      Merci

    • haqqtiviste

      http://muslimmag.free.fr/spip.php?article421

      c’est peut être pas ce que je pensais, autant pour moi.

      en fait le google map s’affiche bien( erreur de ma part).
      http://muslimmag.free.fr/spip.php?rubrique33

      par contre, j’ai téléchargé le inc-documents que vous avez mis en lien

      si je ne mets pas le code proposé dans l’article, le multiviewer devrait se faire automatiquement grâce au inc-doc, ilme semble.

      ce qui n’est pas le cas pour moi :

      http://muslimmag.free.fr/spip.php?article442

      dans lequel il y a 3 photos ...

    • A priori un problème de boucle résolu entre temps par l’échange de qq emails.

    • Patrick

      Bonjour,
      A priori, les viewers acceptent aussi le swf, pas le flv (j’ai essayé) comme ici : sur deux viewers.

      Un SWF de 2MO qui a eu du mal à se charger (vidage du cache) et dont le temps de visionnage se synchronise mal avec le « rotator », la première fois. Mais ensuite, ça semble passer : le swf se joue 2 fois et passe à l’image suivante.
      Encore merci.

    Répondre à ce message

  • 2

    J’ai mis le « inc-documents » fourni. Mais le souci c’est que même quand je ne met pas d’image, j’ai quand même le diapo flash qui apparaît. Comment faire pourqu’il n’apparaisse pas, quand il n’ya pas de photos (ou documents) ? Merci

    • Arnaud B.

      tiens ça le fait avec cette boucle :

      si il n’y a pas de docs de type jpg,png,gif, le viewer ne s’affiche pas, et les docs des autres type s’affiche en liste :

      [(#REM) Portfolio : album d'images ]
      <B_documents_portfolio>
      <div id="documents_portfolio">
      	<h2><:info_portfolio:></h2>
      		<BOUCLE_viewer(ARTICLES){id_article=#ID_ARTICLE}>
      			
      			[(#MULTIVIEWER{ALL,art#ID_ARTICLE,typegalerie=simpleviewer})]
      			
      			[(#REM)
      			Dans cette balise #MULTIVIEWER le paramètre peut prendre différentes valeurs :
      
      			typegalerie= autoviewer ou typegalerie=tiltviewer
      						ou typegalerie=simpleviewer
      						ou typegalerie=postcard
      						ou autre que vous auriez ajoutée...
      			]
      			
      		</BOUCLE_viewer>
      	<BOUCLE_documents_portfolio(DOCUMENTS) {id_article} {mode=document}{extension IN png,jpg,gif} {par num titre, date}{doublons}{vu=non}>
      	</BOUCLE_documents_portfolio>
      </div>
      </B_documents_portfolio>
      
      [(#REM)
      	Afficher en grand le document demande dans l'URL
      ]
      <BOUCLE_afficher_document(DOCUMENTS) {id_document}{id_article} {mode=document}{extension IN png,jpg,gif}>
      [(#MODELE{emb}|image_reduire{500,0})]
      </BOUCLE_afficher_document>
      
      
      [(#REM)
      	Si un seul document est joint a l'article, et si le texte est vide,
      	on incruste automatiquement ce document
      ]
      <BOUCLE_documents_decompte(DOCUMENTS spip_documents_liens articles) {id_article} {mode=document}{texte=''}{extension !IN gif,jpg,png} {vu=non}>[
      (#TOTAL_BOUCLE|=={1}
      	|?{[(#INCLURE{fond=modeles/emb}{id_document}
      	|trim)]})]</BOUCLE_documents_decompte>
      
      
      [(#REM)
      	Sinon, liste des autres documents joints
      ]
      <B_documents_joints>
      	<div class="menu" id="documents_joints">
      	<h2><:titre_documents_joints:></h2>
      	<ul>
      		<BOUCLE_documents_joints(DOCUMENTS) {id_article} {extension !IN gif,jpg,png} {vu=non}{par num titre, date}>[
      		<li>
      			<strong><a href="(#URL_DOCUMENT)" title="<:bouton_telecharger:>" type="#MIME_TYPE">[(#TITRE|sinon{<:info_document:>})]</a></strong>
      			<small>(<span>#TYPE_DOCUMENT[ &ndash; (#TAILLE|taille_en_octets)]</span>)</small>
      			#DESCRIPTIF
      		]</li>
      		</BOUCLE_documents_joints>
      	</ul>
      	</div>
      </B_documents_joints>
      
      <//B_documents_decompte>
    • Merci Arnaud B. Je vais tester çà

    Répondre à ce message

  • Ca ne marche toujours pas.

    Est-ce que quelqu’un qui maitrise bien le plugin pourrait m’indiquer une boucle complète à mettre dans un squelette (article=2.html par exemple) pour afficher les images des articles d’une rubrique n°2 ??

    J’ai beau retourner le truc je ne comprend rien à la Doc de ce plugin. L’exemple indiqué est en plus un cas particulier, on n’a aucun exemple de boucle complète pour un usage basique.

    Répondre à ce message

  • Bonjour,

    Ça ça m’intéresse beaucoup mais quand tu dis mes images sont ma rubrique 3, veux-tu dire :

    1) dans le texte de la rub 3

    2) en doc attachés à la rub 3

    3) dans le texte des articles de la rub 3

    4) en docs attachés aux articles de la rub 3

    Merci d’avance

    Répondre à ce message

  • A peu près pareil que le message précédent version stable du plugin sur spip 2.09, aucun autre plugin installé. J’ai tourné et retournée les choses en tout sens, je n’ai jamais rien eu qui s’affichait.

    Dommage parce que ça a l’air vraiment sympa quand ça marche et ça me serait très utile.

    Répondre à ce message

  • J’ai installé le plugin, j’ai modifié le squelette pour l’affichage du porfolio, alternativement j’ai appelé le plugin dans le corps d’un article, j’ai ajouté des images dans et à l’extérieur du porfolio, j’ai testé les 4 viewers, j’ai cherché dans les commentaires de cet article, essayé via google... et je n’arrive pas à afficher quelque image que ce soit ;-(
    Merci de votre aide

    Répondre à ce message

  • Bonjour,
    Super plugin !! Merci
    Cependant j’ai un petit soucis avec tiltviewer...
    Le maxJPGSize ne fonctionne pas chez moi et vous ?
    (Mes images se superposent....)

    Merci d’avance

    Répondre à ce message

  • ...et d’autre part, j’ai ce message d’erreur :

    « Warning : Invalid argument supplied for foreach() in /mnt/sites/africanartgalleryparis.com/web/plugins/auto/multiviewer_v1.0.3/modules/addon-tiltviewer.php on line 43 »

    J’utilise SPIP 2.0.9 + Ahuntsic

    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