Attention, ceci est l'archivage statique d'un ancien site qui a maintenant disparu. En savoir plus.

Bienvenue sur , le recueil de réflexions et créations en tous genres de Nicolas Hoizey, passionné de Web depuis 1996, co-créateur et Directeur de l’Innovation de Clever Age, photographe amateur, créateur du jeu HTML5 / SVG « esviji », etc.

La galerie SPIP, pour réutiliser facilement les images et documents

Publié le

par Nicolas Hoizey,

tagué SPIP

et commenté 17 fois

Une fonctionnalité intéressante de SPIP, si elle est bien exploitée, est de pouvoir utiliser tout document (ou image) attaché à un article ou une rubrique dans n’importe quel autre élément. Il est ainsi possible de gagner de l’espace disque en évitant les doublons.

Le problème est qu’il faut pour cela connaître l’identifiant du document en question, ce qui peut s’avérer pénible quand on se souvient l’avoir déjà utilisé, mais sans savoir où.

Heureusement, voilà une galerie qui va simplifier la procédure !

L’idée est tout simplement d’ajouter dans la barre d’aide à la saisie un bouton qui lance dans une autre fenêtre une galerie de tous les documents déjà présents dans SPIP.

Depuis cette fenêtre, il est alors possible de se déplacer dans l’arborescence des rubriques et articles du site, et ainsi de visualiser tous les documents qui leurs sont attachés.

Une fois le bon document retrouvé, des liens permettent d’ajouter simplement le bon raccourci typographique à la zone de saisie qui était active.

Démonstration en images

1 - Ouvrez la galerie

Tout d’abord, cliquez sur le nouveau bouton de la barre d’aide à la saisie des raccourcis typographiques :

2 - Naviguez dans l’arborescence

Déplacez-vous dans l’arborescence du site pour y retrouver le document ou l’image qui vous intéresse :

3 - Visualisez l’élément et ses liens d’ajout

Une fois le bon élément retrouvé, cliquez sur le lien correspondant à l’affichahe souhaité :

4 - Continuez à travailler normalement

Après avoir cliqué sur l’un des liens, le code correspondant est ajouté à la zone de saisie et la galerie est refermée :

Installation

Tout d’abord, téléchargez cette archive :

galerie.zip
Les fichiers de la galerie pour SPIP 1.7.2

Elle contient les quatre fichiers suivants :

  • galerie.php3 est le script qui affiche la galerie, il est à placer dans le répertoire ecrire/
  • galerie.png est une nouvelle icône pour la barre, elle est à placer dans le répertoire IMG/icones_barre/, et elle pourra être avantageusement remplacée par une autre plus jolie
  • inc_barre.php3 est une version modifiée de la version fournie avec SPIP 1.7.2. La seule différence est l’ajout des lignes 69 à 72 suivantes :
    1. // Galerie
    2. if (!$forum) {
    3. $ret .= bouton_barre_racc ("javascript:barre_galerie('$champ')",
    4. 'galerie.png', 'Ouvrir la galerie', $formulaire, $texte);
    5. }

    Télécharger

  • spip_barre.js est une version modifiée de la version fournie avec SPIP 1.7.2. La seule différence est l’ajout des lignes 89 à 91 de la fonction barre_galerie() :
    1. function barre_galerie(champ) {
    2. window.open('galerie.php3?field=' + champ, 'galerie',
    3. 'width=550,height=400,menubar=no,scrollbars=yes')
    4. }

    Télécharger

P.-S.

Cette galerie a également été testée avec succès avec la version 1.8 alpha 1 CVS du 7 juin 2004.

Vos commentaires

  • Le 30 janvier 2005 à 18:14, par gerard En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents

    Bonsoir
    je trouve cette fonction tres intéressante effectivement. Bravo pour ce travail.

    J’ai implementé cette fonction sur notre Site mais je rencontre un petit problème.Apres le lancement de la fonction par un clic sur l’icone voilà ce que j’obtiens :

    Fatal error : Call to unsupported or undefined function sous_arborescence() in
    ......./ecrire/galerie.php3 on line 15

    je dois faire une erreur, mais ....
    Peut être une aide !

    @+
    gerard

  • Le 25 février 2005 à 22:35, par Nicolas Hoizey En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents

    La fonction sous_arborescence() est pourtant bien dans le script fourni, je ne vois vraiment pas ce qui peut causer cette erreur, désolé ...

  • Le 9 juin 2005 à 12:56, par Bou1024 En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents

    Bonjour,

    J’ai un problème pour faire fonctionner votre galerie... Lorsque je clique sur Galerie quand je rédige un article, un pop-up s’affiche avec ca :

    Galerie de documents
    ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showDocs() ; function hideAll() hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideDocs() ; function showNice() hideAll() ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showDocs() ; function showDocs() showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; showOne(’ ’, ’’) ; function hideDocs() hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; hideOne(’ ’, ’’) ; —>

    Puis il affiche la liste des rubriques. Et quand je clique sur droite, centré ou gauche rien ne se passe....

  • Le 15 juin 2005 à 15:53, par defro En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents

    J’ai eu le meme probleme que ci-dessus apres l’installation de la "gallerie SPIP".

    J’ai trifouille dans le code PHP du fichier « gallerie.php3 » pour chercher cette erreur.
    J’ai pu facilement identifier l’erreur ! Tout fonctionne parfaitement sur un site SPIP (qui est en construction).
    Pour obtenir ce fichier corrigé merci de m’ecrire un mail en citant : “ fichier gallerie.php3 pour la Gallerie SPIP ”.

    J’espere vous etre utile. :)

  • Le 21 juin 2005 à 09:09, par defro En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents

    Desole j’ai oublie de preciser mon adresse mail pour obtenir le fichier corrige : j.gaujard [at] laposte [dot] net

  • Le 6 décembre 2005 à 13:45, par Jacques PYRAT En réponse à : La galerie SPIP, pour réutiliser facilement les images et documents

    Est-ce que tu en a fait une version compatible SPIP 1.8.2e ?

    Merci.

  • Le 6 décembre 2005 à 14:10, par Nicolas Hoizey En réponse à : La galerie SPIP, pour réutiliser facilement les images et documents

    Salut Jacques,

    j’avoue ne pas avoir touché à ce code depuis sa publication ici, n’étant d’ailleurs finalement pas utilisateur moi-même...

    Fil avait trouvé l’idée intéressante, mais ça n’a une fois de plus rien donné, malheureusement.

  • Le 9 décembre 2005 à 13:38, par Paul En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents

    Salut,

    Plutôt que de donner ton mail, tu aurais pu donner un lien vers le fichier à télécharger, ou expliquer directement dans ce forum comment tu as corrigé.

    Je t’envoie un mail pour voir si tu réponds.

    Paul

  • Le 18 décembre 2005 à 17:17, par defro En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents

    Comme l’a propose si malicieusement Paul voici le lien direct vers le fichier pour vous eviter une attente :
    http://j.gaujard.free.fr/stuff/galerie.php3.zip

    Bon dev a tous ;)

  • Le 19 décembre 2005 à 12:19, par defro En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents

    Il y a un petit souci avec le compte Free avec le fichier zip. J’ai donc du changer le nom de l’archive.

    Voici le lien (definitif) :
    http://j.gaujard.free.fr/stuff/galerie.zip

  • Le 20 décembre 2005 à 09:37, par Nicolas Hoizey En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents

    Mais quelle était cette erreur, justement ???

  • Le 6 février 2006 à 20:26, par ju En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents

    L’erreur était dans a déclaration du js.. bizarre bizarre.
    Sinon, moi j’en ai eu une autre (d’erreur) avec le source "corrigé". que j’ai "résolu" en remplaçant :
    $v = str_replace('<script type="text/javascript"><!--', '', $v);
    par $v = str_replace('<script type="text/javascript" ><!--', '', $v);
    un simple espace m’a enlevé beaucoup de bruit....

  • Le 18 octobre 2006 à 19:18, par gg33bdx En réponse à : > La galerie SPIP, pour réutiliser facilement les images et documents

    J’ai voulu installer la galerie sur un spip 1.8.3
    avec sarka spip

    j’ai ce message d’erreur

    Galerie de documents

    Fatal error : Call to undefined function : texte_vignette_document() in /home.1/g/i/r/girondin/www/ecrire/galerie.php3 on line 179

    Merci pour votre aide

  • Le 28 mars 2007 à 16:16, par ? En réponse à : La galerie SPIP, pour réutiliser facilement les images et documents

    Je pense qu’il y a un bug dans galerie.php3 - function sous_arborescence($id_rubrique)
    ligne 270

    while (list(, $article) = each($listeArticles))

    que devrait-il y avoir avant la virgule de "list(, " ?

  • Le 28 mars 2007 à 17:43, par Nicolas Hoizey En réponse à : La galerie SPIP, pour réutiliser facilement les images et documents

    Pourquoi manquerait-il quelque chose ?

    Y a-t-il un plantage quelconque ?

  • Le 28 mars 2007 à 20:09, par Coyote En réponse à : La galerie SPIP, pour réutiliser facilement les images et documents

    oui, j’ai un plantage en essayant d’adapter cette contrib à spip192.
    le programme stop à la fonction "list"
    pb transmis par email...

  • Le 29 mars 2008 à 20:45, par se7en En réponse à : La galerie SPIP, pour réutiliser facilement les images et documents

    Bonsoir,
    Bravo pour avoir eu l’initiative de lancer ce plug-in qui mériterait d’être soutenu et peaufiné davantage.
    Nous l’avons fait tourner correctement sur la 1.9.2, mais intégré au plug-in "Barre Typo V2 pour 1.9.2 et suivantes" Version 2.4.1, il reste un problème de javascript dans certains environnements. Ce bug est bien frustrant tant la fonction peut être attendue par certains, je dis ça pour encourager les développeurs à poursuivre leur effort, pas pour râler ! ;-)
    Une piste d’amélioration :
    Il faudrait afficher le numéro identifiant de l’article quelque-part en regard de chaque image ou document disponible dans le repository.
    Ainsi on aurait pas forcément à cliquer sur le lien pour exploiter le fichier (à la mano via un raccourci customisé par ex).