Nom du plugin : Importation massive de documents distants
Version : 1.1
Licence : GPL
Version minima de SPIP : SPIP 1.9.2
Auteur : Maïeul Rouquette — BobCaTT
Fonctionnalité
Ce plugin permet d’importer « beaucoup » de documents distants d’un seul coup, en les affectant à un article (ou une rubrique, ou une brève). À condition d’avoir récupéré toutes les urls des documents à ajouter. Il ne permet pas, par exemple, de récupérer tous les documents situés dans un dossier sur le net.
Installation du plugin
Récupérez le plugin zippé ci-joint, puis suivez la procédure d’installation classique.
Utilisation
Dans le menu édition, choisissez l’onglet « Importer massivement des documents distants ».

Vous accédez à une page contenant un formulaire.
Dans le champ principal, tapez la liste des urls des documents que vous souhaitez importer, chaque url étant séparée de la suivante par un ; (point-virgule). Vous avez le droit de mettre des espaces et des sauts de lignes pour plus de commodités.
Choisissez dans le menu déroulant le type d’objet auquel vous souhaitez associer ces documents : au choix article ou rubrique.
Dans le petit champ à côté, indiquez le numéro de l’objet (l’id).
Depuis la version 1.1, vous pouvez cocher la case « vignettes locales » pour effectuer une recherche locale des vignettes des documents distants. Le principe de fonctionnement est le suivant :
La vignette locale est cherchée dans tmp/upload. Le nom du fichier est le nom du document distant (sans l’extension), terminée par .jpg, .png ou .gif.
1er exemple, une image distante :
- doc distant : http://media.menfin.net/bobcatt/article_61/article_61b.jpg
- vignette locale :
- tmp/upload/article_61b.jpg
- tmp/upload/article_61b.png
- tmp/upload/article_61b.gif
2ème exemple :
- doc distant :http://media.menfin.net/bobcatt/article_21_a5oNKqpewe.mp3
- vignette locale :
- tmp/upload/article_21_a5oNKqpewe.jpg
- tmp/upload/article_21_a5oNKqpewe.png
- tmp/upload/article_21_a5oNKqpewe.gif
Si la vignette locale n’est pas présente sur votre serveur, le document distant est inséré, mais sans vignette. Et ainsi de suite pour les documents suivants.
Quand l’insertion massive de vos documents est terminée, vous pouvez effacer les vignettes de votre répertoire tmp/upload/ car celles-ci ont été copiées. Ne vous inquiétez pas non plus de la duplication des noms de vos vignettes avec le répertoire IMG, le plugin se chargera de leur donner un nom unique.
Vous pouvez cocher la case « y retourner » si vous le souhaitez. Auquel cas, lors de validation, vous serez renvoyé vers la page correspondante.
Validez. Vous pouvez constater avec joie que vos documents ont bien été ajoutés. Si par hasard certains documents n’ont pas été ajoutés, vérifiez l’adresse.
Les petits plus
Sur la page de visualisation des articles de l’espace privé, vous trouvez dans la colonne de gauche un lien pour aller directement au formulaire d’importation massive.
Sur la page d’édition des rubriques [1], vous avez l’équivalent pour les rubriques. Attention ! Il ne faut pas avoir fait de modifications du texte de la rubrique avant, car elles seraient perdues.
Évolution et mise à jour
Le plugin est développé sur la zone. Voici quelque idées d’évolutions possible :
- choix des titres
- sélection de certains types de documents seulement
- lecture automatique d’un fichier index.html
Principe de fonctionnement du code
Voici, en quelques lignes, le principe de base du code de ce plugin.
Le fichier plugin.xml
passe la fonction documents_distants_ajouter_boutons()
dans le pipeline ajouter_boutons
et la fonction documents_distants_affiche_gauche()
dans le pipeline affiche_gauche
[2].
Ces deux fonctions étant définies dans documents_distants_pipelines.php
La fonction ajouter_boutons()
reçoit en entrée la liste des boutons, et la retourne en sortie, agrémentée d’un nouveau bouton.
La fonction affiche_gauche()
reçoit en entrée le contenu de la colonne de gauche, et la renvoie en sortie, avec un petit élément en plus.
Le dossier exec contient un fichier documents_distants.php.
Celui-ci contient deux fonctions :
exec_documents_distants()
, chargée de l’affichage du formulaireimporter_document()
, chargé de l’importation massive des documents.
Pour faciliter l’écriture des pages de l’espace privé, je fais appel à la fonction recuperer_fond()
.
Celle-ci sert notamment à appeler le squelette documents_distants, qui contient le formulaire.
Discussions by date of activity
5 discussions
Le bouton ne s’affiche pas et un texte d’array.. s’affiche en haut de la page de la section privé. Peut-être y a t il un problème avec d’autres plugin :
- Couteu suisse
- accès restreint
- agenda
- barre typo v2
- definitions de mots cles
- en travaux
- boites à outils pour articles
- spip listes et associés
- widget calendrier
Reply to this message
Quelle est la différence avec l’import d’un fichier .zip ?
Dans ce cas, Spip demande si on veux le décompressé et chaque élément qu’il contient est installé sur le site....
Reply to this message
Il est dommage que cet article ne fonctionne pas avec la version 1.9.2a.
Chez moi, l’importation des pages par le formulaire n’exécute rien ...
Voici plus d’informations : sur le formulaire d’import je me retrouve avec la colonne “Attribués à” et une sélection unique possible : article (pas de “rubrique”).
Je ne coche pas la case “Y retourner” mais pourtant je me retrouve sur la même page après le rechargement (après avoir cliqué “enregistrer”).
Dommage ...
Quelqu’un a eu le même soucis ? ou peut m’aider ?
peut-être un pb de formulation ... j’attends si vous avez des propositions alternatives :-)
Ha effectivement, j’ai mal compris la formulation ! :)
Peut être changer le texte de la case “Y retourner” par “Voir le résultat” ? Enfin c’est qu’une proposition :)
D’autant plus que faut sélectionner l’ID d’un article EXISTANT, et c’est cela que j’avais mal compris ... :(
Je pensais qu’il fallait lui donner une ID “libre” d’un article non existant.
Enfin, ça “importe” le fichier .html dans l’article qui existe ... dommage, je pensais que ça injectais le code de l’url source en le transformant en un article SPIP ...
Je me trompe encore ? j’ai rien compris ?
Reply to this message
Quand j’essaie de lancer la fonction en cliquant sur le bouton « importer.. » j’obtiens ce message :
Erreur... Fichier inc/commencer_page introuvable
Ma version est SPIP 1.9.1
que dois-je faire ?
merci de ta réponse...
Mikado
bien relire : il faut une version 192 minimale !
Reply to this message
Quand j’essaie de lancer la fonction en cliquant sur le bouton “importer..” j’obtiens ce message :
Erreur...
Fichier inc/commencer_page introuvable
que dois-je faire ?
merci
jean
quel version de spip utiliser vous ? il faut au minimum 192.
Damned!
je suis en 191 en production et en 192 en test!
merci, avec mes excuses
jean
Reply to this message
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
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.
Follow the comments:
|
