Plugin Diapo

Galerie / diaporama en modèle

Plugin ajoutant le modèle <diapoXX> permettant d’insérer les images de l’article XX sous forme de galerie/diaporama reprenant le fonctionnement de la galerie Walma.

But

Ayant besoin d’une galerie photo pour un site, j’ai d’abord créé un squelette spécifique (incluant un bloc inc-walma...).
Puis, la question s’est posée d’utiliser plutôt les brèves ou les rubriques...

J’ai finalement opté pour un modèle pour me libérer de cette contrainte.
Le résultat est visible sur le site du Pays Bourgogne-Nivernaise (v1) et sur ce site de test

Cette approche permet en plus de personnaliser / réutiliser facilement les développements.

Installation

C’est un plugin, il suffit de le placer en sous-répertoire du dossier /plugins et de l’activer.

Utilisation

Vous disposez alors d’un nouveau raccourci typographique <diapoXX> permettant d’insérer les images de l’article XX sous forme de galerie/diaporama.

Vous pouvez spécifier le mode par defaut :
-  <diapoXX|diapo> (équivalent à <diapoXX>) pour le diaporama
-  <diapoXX|pause> pour le diaporama en pause
-  <diapoXX|left> pour une galerie avec vignettes à gauche
-  <diapoXX|right> pour une galerie avec vignettes à droite
-  <diapoXX|center> pour une galerie avec vignettes en haut et grande image

Le modèle fonctionne avec JQuery, utilisant des appels AJAX pour la pagination et le chargement des images, mais reste fonctionnel sans javascript.

Personnalisation

Avec la version 2 du plugin, compatible SPIP3 et responsive, les paramètres sont définis dans une page de configuration. Plus besoin donc du fichier mes_fonctions.php.

Avec les versions antérieures :
Vous pouvez definir plusieurs paramètres de personnalisation dans votre fichier mes_fonctions.php :
-  le temps de pause du diaporama (en millisecondes, par défaut 8000) :

//temps de pause 5 secondes :
$GLOBALS['diapo_temps']=5000;

-  le nombre de vignettes par page (par défaut 8) :

//10 vignettes par page :
$GLOBALS['diapo_vignettes']=10;

-  la largeur maximum de la « grande » (diaporama et center) image (en pixels, par defaut 560) :

//largeur de la grande image  500px maxi :
$GLOBALS['diapo_grand']=500;

avec la feuille de style par défaut (diapo.css.html), le diaporama fera 4px de plus en largeur (2px de marge).

-  La taille des vignettes (calculée automatiquement si elle n’est pas précisée pour que les vignettes tiennent sur une ligne en mode center).

//largeur et hauteur maxi des vignettes 80px :
$GLOBALS['diapo_vignette']=80;

-  la largeur maximum de la « petite » image :

$GLOBALS['diapo_petit']=350;

Par défaut, il n’y a pas de restriction en hauteur pour les images (petite et grande) mais les vignettes sont réduite en largeur et hauteur.

Vous pouvez préciser également ces paramètres :

$GLOBALS['diapo_grand_h']=400;
$GLOBALS['diapo_petit_h']=300;
$GLOBALS['diapo_vignette_h']=70;

Il n’y a pour l’instant pas de véritable gestion de modèles, mais c’est en réflexion. Vous pouvez déjà surcharger le modèle en posant le vôtre dans /squelettes/modeles/diapo.html.

[(Attention : certaines règles strictes (bidouilles) doivent être respectées en attendant mieux.

Regardez les commentaires dans le code des squelettes si vous personnalisez le modèle.

Mais il y a déjà de quoi faire avec la feuille de style et les modèles de pagination.)]

Discussion

169 discussions

  • 1
    Eric02

    Bonjour

    en lisant le texte je vois ... "Puis, la question s’est posée d’utiliser plutôt les brèves ou les rubriques...

    Est ce à dire, farfelu que je suis, que je pourrais dans une rubrique contenant X articles, chacun ayant une photo, créer un article appelé « Diaporama », et arrivé à recupérer toutes les photos contenues dans tous les articles ...

    Quitte à bidouiller un chouilla le modele ?

    Où je me suis encore levé trop tot ce matin ???

    Merci à toutes et à tous

    • Ce que je voulais dire, c’est qu’on peut utiliser <diapo12|left> dans le texte d’une brève, mais ca sera quand meme le diaporama des images de l’article 12.

      Maintenant pour faire un diaporama sur autre chose, il suffit de modifier le modele ou d’en faire un spécifique.

      Si je ne dis pas de betises, <diapo12|toto> ira chercher le modele diapo_toto.html.

      Il faut proceder en 2 temps : d’abord collecter les images puis les ressortir avec un critere doublons.

      Mais c’est pas si évident en fait, car il faut modifier le modèle ET diapo_img.html (ou faire un diapo_img_toto.html mais il faut alors modifier le script aussi => mpage dans la fonction diaposlide)

      En tous cas, c’est faisable...

      @++

    Répondre à ce message

  • 2
    calamityjaane

    Bonjour,
    excusez moi si dejà ce probleme a trouvé solution mais, en parcourant le forum, je n’ai pas trouvé de réponse....

    J’ai installé spip v1.9-2d
    J’ai testé avec window XP Pro et IE7 + Windows et Firefox 2 + Mac et safari... Le bug est identique

    Mes soucis :
    1- La première photo de l’article reste visible « en dessous » et ne s’affiche pas dans la liste des vignettes.
    2- Par ailleurs cette première photo reste toujours visible « par en dessous » quelque que soit la photo que l’on demande a s’afficher
    3- Elle s’affiche en taille de 520 px (comme je lui ai demandé par [(#TEXTE|image_reduire520,0)] et n’est pas resizée en 320 px comme voulu par le plug in (ce qui est plus confortable pour un diaporama...) ...

    Voir sur :

    http://www.sfrus.fr/spip/spip.php?rubrique11

    Bon mon squellette est vraiment simplifié. Par ailleurs je n’ai pas vraiment besoin de toutes les fonctionnalités qu’offre spip.

    Merci de vos réponses...

    • Désolé, l’utilisation du modèle dans le texte est incompatible avec le filtre image_reduire.

      Le filtre passant après, il redimensionne les images et met la zone, mais le plugin ne peut rien y faire...

    • calamityjaane

      Bonjour,
      J’ai supprimé le filtre -> plus d’image en dessous...
      Premier bon point...
      Mais pour que tout s’affiche comme il faut j’ai aussi crée un fichier mes_fonctions.php

      <?php
      
      $GLOBALS[’diapo_vignette’]=60 ; 
      
      $GLOBALS[’diapo_petit’]=320 ;
      
      $GLOBALS[’diapo_grand’]=600 ; 
      
      ?>

      + dans la configuration du site, activé la méthode de fabrication de vignettes gd2 + vidé le cache...

      Et ca marche :-)

      ouf !

    Répondre à ce message

  • 1
    Cedric34

    Bonjour,

    Je souhaite utiliser ce plug-in, mais plusieurs questions se posent :
    -  est’il possible de faire un import en masse de photos ? exemple un répertoire de 100 photos ?
    -  existe t’il une gestion multipage pour l’index ?

    D’avance merci

    • Pour importer des documents en masse il faut être administrateur.

      1. On place les photos dans le répertoire /www/tmp/upload en utilisant le ftp.
      2. On retourne dans l’interface privée, dans l’article voulu, et on déplie « Ajouter un document ». On trouve l’option de joindre tout le contenu de /www/tmp/upload.

      Cela dit, je ne sais pas s’il y a des limitations. Il n’est peut-être pas judicieux de mettre 100 photos d’un coup, sans plus de tri !..

    Répondre à ce message

  • 2
    Pascale

    Très nouvelle sur Spip.
    J’ai activé le plugin. J’importe des images, img51, 52, 53. Dans mon article, je tape diapo avec son n°, le pipe, center (enfin, le truc habituel, sauf que je remplace img par diapo. Absolument rien ne se passe, aucun affichage d’images. J’ai activé Thickbox V2 dont je préférerais me passer (je voudrais juste un album très classique) , quant à JQuery, je ne sais si c’est installé ou pas, mais le plugin Couteau Suisse l’est. Visiblement, il y a une manip hyper-basique que je n’ai pas comprise.
    Merci de bien vouloir renseigner la folle du village !
    NB ; je suis sur Spip 1.9.2c

    • Cedric34

      Salut,

      Il ne faut pas mettre le n° de la diapo mais le n° de l’article, car le disporama va utiliser toutes les photos de l’articles.

      Cordialement

    • Merci de votre prompte réponse. Effectivement, la solution, elle était simple ! Merci beaucoup donc.
      Pas directement du fait de votre excellent plugin : comment ajouter des photos, depuis mon ordi, c’est simple, mais depuis le portfolio ? Merci d’avance ! (dès que je sais tout ça, je suis en route pour la grande aventure !) Cordialement.

    Répondre à ce message

  • Bonjour,

    Je viens d’installer le plug-in (Revision : 16473), il fonctionne bien sauf la prise en compte des valeurs définies dans la fichier mes_fonctions.php, je n’arrive pas à définir la taille max de l’image à 320px.

    Cordialement

    Répondre à ce message

  • 2
    ClaireOCaire

    Bonjour,

    Après avoir bien lu toutes les explications de ce plugin, je n’arrive toujours pas à m’en servir. Les photos ne s’affichent pas comme je le souhaite, ni comme elles le devraient.

    Qu’en pensez-vous ? Qu’ai-je oublié ?
    Je suis en version SPIP 1.9.2c [10268]. Diapo est le seul plugin dont je me sers. Selon les articles que j’ai lus, ça devrait suffire.

    La page concernée se trouve ici

    Merci pour votre aide !

    • Il doit te manquer #INSERT_HEAD dans tes squelettes.

      si tu ne veux pas t’embeter à le mettre, tu peux utiliser le plugin couteau suisse qui permet de s’en passer.

      @++

    • ClaireOCaire

      Ca marche ! La solution du Couteau suisse est idéale.
      Merci pour le tuyau !

    Répondre à ce message

  • 3
    Florent

    Bonjour.

    Sur le site en exemple, les transitions entre les photos ont un effet de « fading ». Je ne parviens pas à voir quelle variable peut donner cet effet ? Est-ce quelque chose en plus du plugin ?

    J’ai tenté de combiner ce plugin avec le plugin Diaporama en innerfade, sans trop de succès jusqu’ici ...

    D’où ma question : comment avoir un effet de « fading » pour le mode diaporama du plugin ?

    Merci.
    Flo.

    • réponse ici mais du coup ca date un peu, il y a mieux qu’interface maintenant.

      Mais bon, les changement sont à faire au meme endroit quel que soit l’effet ajouté et la librairie utilisée.

      @++

    • Merci pour ta réponse, j’ai parcouru le forum trop rapidement !

      Ce plugin diapo est vraiment chouette, simple, sobre, très joli et facilement intégrable à son squelette, bravo. Par contre, comme je l’ai indiqué, j’aimerais juste ajouter un effet de « fading » au diaporama en utilisant : InnerFade with jquery mais pour l’instant sans succès !
      Quand j’ajoute la fonction aux endroits indiqués j’ai aucun effet. Et quand j’ai réussi à avoir un effet de « fading », c’est tout le formulaire qui s’est chopé l’effet, ce qui n’est pas top ;-)

      Je continue mes investigations mais si tu as une idée, elle est la bienvenue.

      Merci.
      Flo.

    • Bonjour,

      moi aussi je cherche à ajouter un effet de transition. J’ai fait plusieurs tentatives avec les effets jquery (fadeIn, fadeOut, etc.) et je n’y arrive pas, du moins sur la dernière version stable du plugin, alors que sur les anciennes ça marche !
      Le fichier « diapo.js.html » est considérablement changé dans sa dernière version et du coup, je me trompe certainement d’endroit et de méthode pour l’intégration des effets. Pourriez-vous nous dire comment intégrer ces effets jquery ?

      Merci beaucoup en tout cas pour votre travail.

    Répondre à ce message

  • 4

    Bonjour et merci pour ce plugin astucieux.
    Je rencontre toutefois un petit problème : malgré la balise |left, les vignettes sont toujours au-dessus de mon image, et je n’ai pas les icones du haut.
    Je suis sous spip 1.9.2, j’ai installé thickbox, mon squelette est basique et je découvre spip...
    Merci de vos lumières.

    • Des erreurs javascript ?

      D’autres plugins ?

      C’est visible en ligne qqpart ?

    • Non, pas d’erreur à l’écran.
      Les plugins installés sont : cfg / envoyer par mail / thickbox2 / formulaires&tables / captcha2

      Visible ici (ça ne ressemble à rien, c’est en développement)

    • JamesNicolas

      Il faudrait peut-être que l’on puisse voir quelque chose, non ? Parce que là on ne voit que « www.sur-la-plage.info

      ici, bientôt...

       » Ton plugin en travaux est activé ?

    • N’ayant pas eu de réponse, j’ai supprimé le plugin et je me suis tourné vers une autre solution.
      Merci de bien vouloir supprimer ce post.

    Répondre à ce message

  • 7
    JamesNicolas

    bonjour et tout d’abord merci pour ce plugin qui fonctionnait à merveille avant que je passe en version je ne sais plus combien de la SVN (cela fonctionnait au début et à partir de la version 11200 et quelques, plus possible)

    • cela fonctionnait au début et à partir de la version 11200 et quelques, plus possible

      oui, mais encore.... quels sont les symptomes ?

    • JamesNicolas

      Mince je suis bête^^ Les symptômes sont que la première image se charge convenablement, mais lorsque j’essaye de voir les autres photos cela ne fonctionne pas voire ici => http://baf.servhome.org/Les-photos-de-BAF La première image de chaque « page/série » s’affiche et lorsque je choisit une autre photo (ou que je mets le diaporama et dès la deuxième photo) j’ai une page complètement blanche, une page qui essaye de se chargé mais aussi le mot « arrêté » dans la barre d’état (au lieu de terminé, ou en attente de ...)

      Cependant quand j’ouvre dans une autre fenêtre l’image « 2 » là ça fonctionne. Est-ce une incompatibilité entre les plugins ? (j’utilise les crayons, autorité, forms & tables couteau suisse, Plugin de compatibilité avec SPIP 1.9.3 SVN 9919 et plus, cfg, Activer le pluginBoutons d’administration supplémentaires et Barre Typo V2 pour 1.9.2 et suivantes) cependant j’ai désactivé les plugins un a un et ça fonctionne toujours pas.

      ah et ça fonctionne dans l’espace privée !

    • Bon, il y a un truc bizarre sur le $.get chez toi, il n’entre pas dans la fonction de callback.

      Mais bizarrement, tu es en jQuery 1.1.1 ?

      le probleme vient sans doute de la.

      il faudrait à minima passer en jquery 1.1.4, mais normalement tu devrais etre en 1.2.1 avec cette version de spip

      tu as peut etre d’anciens fichiers dans /squelettes ou dans un plugin

      @++

    • JamesNicolas

      Euh d’anciens fichiers de quels types ? les plugins il ne me smeble pas mais le squelettes je n’ai que des iamges des squelettes de page et de formulaire en quoi cela modifie jQuery ?

      Sinon, comment mettre à jour jQuery ? il a un dossier spécial ?

    • renomme simplement /squelettes/jquery.js.html en /squelettes/jquery.js.html_old, vide le cache et voit si ca marche mieux....

      si oui, tu peux le supprimer

    • JamesNicolas

      Je viens enfin de trouver The problème, mais je ne sais pas pourquoi ça me faisait ça !

      Bref, c’est dans le couteau suisse le module Belles URLs, je l’avait mis en mode étendu au lieu de basique ou Non

      Bref merci pour tout.

      Me reste un problème, jQuery semble inactif dans l’interface privée ><

    • JamesNicolas

      Et bien non, je viens de me fourvoyer !

      C’est le module « Validateur XML » du couteau suisse qui faisait bugger le truc ! et non les belles URLs !

      Bref ! jQuery fonctionne aussi très bien depuis que je viens d’enlever le module En_traveaux, un couac là aussi ?

    Répondre à ce message

  • 1
    J Christophe

    Bonjour

    Je repose mon problème dans ce nouveau post :

    Je teste ce plugin sur un SPIP 1.9.2.d et j’ai 2 soucis :
    -  icones pour changer la présentation inactifs (les vignettes restent résolument à droite si je les mets au départ à droite)
    -  tout ce que je mets dans mes_fonctions.php n’est pas pris en compte

    Que faire, docteur ?

    • J Christophe

      Bon j’ai tout réinstallé et ça fonctionne.

      Désolé pour le bruit et merci pour ce plugin.

    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