SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 171 visiteurs en ce moment

Accueil du site > Rédaction > Archives Rédaction > Outils rédaction pour avant SPIP 1.9 > Recycler des documents

Recycler des documents

19 juillet 2005 – par mortimer – 10 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

1 vote

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Une fois un document associé à un article, il est copié sur le site, mais on ne peut le réutiliser qu’a travers une balise <docXXX|...>. Voici un petit outil qui permet d’associer des documents déjà sur le site à d’autre article, sans les introduire dans le texte.

Motivations

Avec les versions actuelles de SPIP, il est possible d’afficher des documents avec les articles de deux façons :
-  en les attachant à l’article (les documents sont alors juste affiché en bas de l’article [1]),
-  en utilisant les balises <docXXX|...> pour insérer un document directement dans le texte.

Cette dernière méthode permet d’utiliser n’importe quel document, même si il n’est pas à l’origine attaché à l’article. Plusieurs contribs permettent déjà de parcourir tous les documents du site, pour trouver le bon ID.

Malheureusement, il y a des cas où l’on ne veut pas insérer le document dans le texte. Dans ce cas, il n’y a pour l’instant aucun moyen de réutiliser un document déjà sur le site. Il faut alors le re-télécharger et avoir un fichier en double sur le serveur. Si l’on fait cela avec beaucoup de documents, le quota du fournisseur va vite exploser.

Par exemple, sur mon site, je gère une galerie d’image avec le squelette qui suppose que les images à afficher soit associées à l’article, mais pas dans le texte — il n’y a pas de texte à une galerie. Si je veux donc avoir une image dans plusieurs galerie, je dois la télécharger plusieurs fois.

Un deuxième cas est la gestion des traductions. Quand on fait une traduction sur SPIP, on aimerait dans certain cas utiliser les mêmes documents dans chaque langue de l’article. Si ces documents n’ont pas pour but d’être insérés dans le texte, alors on est encore confronté au problème discuté ici.

Solutions

SPIP gère l’association des documents à un article à travers une table mysql très simple :

id_document id_article
234 1
235 1
345 2
... ...

On peut donc facilement associer des documents à des articles en ajoutant une nouvelle ligne :

INSERT INTO spip_documents_articles (id_document, id_article) VALUES ($id_document, $id_article)

Utilisation

Cette nouvelle page s’intègre à l’interface privée de SPIP, vous pouvez y accéder à partir de l’adresse : votre_site.net/ecrire/associer_document.php une fois le fichier installé.

L’association se passe en deux temps :

PNG - 16.9 ko
choix des articles

vous devez d’abord choisir l’article où vous voulez prendre les documents et l’article où vous voulez les mettre.

PNG - 33.4 ko
choix des documents

Ensuite, vous choisissez les documents que vous souhaitez associer et validez.

Et VOILA.

ATTENTION

Il faut tout de même faire attention à deux choses :

  1. Les documents sont associés à d’autres articles et peuvent donc être effacé par d’autres personnes. SPIP est fait de tel façon que si l’on efface un document dans un article, il sera effacé dans tous les articles.
  2. Ces autres articles peuvent être mis à la poubelle. Ils ne seront pas physiquement effacés et les documents qui y sont attachés ne seront pas touchés. Vous pouvez donc mettre un article à la poubelle sans que les documents qu’il partage soient enlevés des autres articles.

P.-S.

Les fichiers fournis en .php3 et .php marchent pour des versions antérieures à la 1.8. Ils ont été testés sur la 1.6, la 1.7 et la 1.7.2. Mais attention, pour ces versions, la contrib ne marche que si il n’y a pas de modification du prefix des tables spip.

La version 1.8 fournie permet d’utiliser la contrib même si on a un autre prefix de tables.

Notes

[1en fonction du squelette.

Retour en haut de la page

Vos commentaires

  • Le 20 mars 2006 à 16:30, par fulvio En réponse à : Recycler des documents

    Premièrement bravo pour cette magnifique contribution !!!

    Sur la 1.8.3 j’ai utilisé cette contrib en y apportant les modifs mentionnées ci-dessous par thierrybo en août 2005.

    Par contre il me laisse une erreur concernant la variable texte_vignette_document à la ligne 104 du script. Ligne qui doit probablement afficher les vignettes des images.

    Il faudrait donc mettre à jour le fichier avec les modifications ci-dessous et ajuster ce problème à la ligne 104. Penser également à la version 1.9 et le système de plugins car cette contribution est très utile pour les sites en plusieurs langues.

    Moi j’ai simplement effacé cette ligne, cela ne m’a pas permis de voir les vignettes des images que je devais sélectionner mais pas grave il restait leur nom, et ca à marché !!! Merci

    • Le 20 mars 2006 à 17:48, par mortimer En réponse à : Recycler des documents

      oui, la fonction d’affichage des vignettes à changer il y a qq temps.

      ça fait longtemps que je n’ai pas utilisé/mis à jour cette contrib.

      je regarderai à la passer en plugin comme certaines autres... j’attend un peu que la 1.9b se stabilise tout de même.

    • Le 16 avril 2006 à 21:36, par thierrybo En réponse à : Recycler des documents

      Bonjour,

      je viens d’avoir à nouveau besoin de cette contribution, et pour que çà marche sur la 1.8.3 avec affichage de toutes les images en vignettes, faire cette modif :

      Remplacer toutes les lignes de 90 (après le commentaire ’Récupérer le vignette’) à 119 (echo "</div>";) par cette ligne unique :

      echo integre_image($id_document, ’center’, ’IMG’) ;

    Répondre à ce message

  • Le 26 août 2005 à 12:52, par thierrybo En réponse à : > Recycler des documents

    Je viens de le tester sur SPIP 1.8.2, et... çà marche !

    Pourtant j’ai quand même cette erreur affichée une fois que je clique VALIDER :

    Warning : array_filter() : The first argument should be an array in h :\pf_normal\httpd\htdocs\spip-v1-8-2\ecrire\inc_abstract_sql.php3 on line 59

    Ce composant s’ajoute, mais ne remplace pas à mon avis le composant qui ajoute le bouton ’Galerie’ à la barre typographique qui lui insère la balise doc.

    Juste une petite remarque, quand l’article source comporte des images en ’images’ jointes et d’autres en ’documents’ (portfolio), sur votre écran, la distinction n’est pas faite, on ne sait plus d’où elles viennent.

    Je préfère quand même l’insertion d’une balise car tant que SPIP ne testera pas, lorsqu’on supprime un document, s’il est encore lié à d’autres (même par une balise ), votre méthode restera très risquée en environnement multi utilisateur (et même si on est seul à éditer les messages).

    Non obstant ma remarque ci-dessus, çà serait parfait si cela était directement intégré à SPIP...

    • Le 26 août 2005 à 13:17, par mortimer En réponse à : > Recycler des documents

      Merci pour toutes ces remarques tout à fait pertinantes.

      Quand j’aurais un peu de temps, je ferais une vraie mise à jour de la contrib pour la dernière version de spip.

    • Le 26 août 2005 à 15:50, par thierrybo En réponse à : > Recycler des documents

      Ah, çà y est, j’ai travaillé dessus et maintenant çà marche avec SPIP 1.8.2. Voici les modifications à apporter :

      Par exemple,

      152c152

      signifie remplacer l’ancienne ligne 152 (commençant par

      <

      ) par la nouvelle (commençant pas

      >

      ) à la ligne 152. Les anciennes lignes sont séparées des nouvelles par

      ---

      .

    Répondre à ce message

  • Le 1er août 2005 à 09:14, par DoriaN En réponse à : > Recycler des documents

    pas utilisable avec un prefixe de tables différents de spip contrairement à ce qui est dit (il reste des spip_types_documents dans le code par exemple) (le prefixe différent vient de l’installation de plusieurs spip sur la même base).

    • Le 1er août 2005 à 09:28, par DoriaN En réponse à : > Recycler des documents

      rebonjour, en fait avant de poster le message d’avant je voulais signaler que l’idée était bonne mais peu pratique à l’usage. Sur le site ou je voulais l’utiliser j’ai déjà 300 articles, ce qui ne me semble pas énorme, le choix dans le menu déroulant prend un temps fou.
      J’ai aussi constaté que parfois j’avais l’aperçu des images et parfois non (va comprendre...) mais bon ça on peut s’en sortir. Je vais réfléchir à ces questions pour voir si j’arrive à faire quelque chose pour améliorer l’ergonomie, faut déjà que je lise (et comprenne) le code.

    Répondre à ce message

  • Le 29 juillet 2005 à 23:03, par Coyote En réponse à : > Recycler des documents

    Super...
    mais pourquoi personne ne l’avais fait avant...
    il ne manque plus que la gestions de points évoqués dans « Attention »... et intégrer ce type de gestionnaire en natif dans SPIP

    Répondre à ce message

  • Le 27 juillet 2005 à 20:01, par World vtt En réponse à : > Recycler des documents

    Merci beaucoup pour cette conrib, c’est exactement ce que je cherchais pour mon site world vtt et mobcustom.

    En effet jusqu’à maintenant j’envoyais plusieurs fois des documents identiques.
    ça serait bien d’intégrer un gestionnaire de document sur une prochaine version de spip. Un tel gestionnaire permettrait d’envoyer ses documents puis de les joindre ensuite aux articles concernés.

    Qu’est ce que vous en pensez ?

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Thélia

    26 juin 2007 – 838 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Une approche basée sur l’utilisation conjointe des deux logiciels SPIP et Thélia pour la réalisation de sites de publication et de vente en ligne

  • MediaBox

    10 mai 2010 – 178 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Aperçu La MediaBox est une Boîte multimédia polyvalente et personnalisable. Le plugin est basé sur la librairie moderne ColorBox, qui a été enrichie et adaptée pour SPIP. Par défaut, mediabox propose 5 habillages. Il est assez facile d’en créer de (...)

  • Navigation AJAX

    31 janvier – 10 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)

  • Squelettes IENSP-X version Pleine Page pour SPIP 2.1

    8 décembre 2008 – 11 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Version 3.2 pour SPIP 2.1

  • Balise #CAPTCHA

    12 juillet 2007 – 24 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Cette nouvelle balise oblige à rentrer un code avant d’avoir accès aux forums publics des articles.