Export CSV des articles pour publication papier

L’objectif du plugin Export CSV est de pouvoir extraire certaines données saisies dans SPIP à des fins de publication papier et/ou de publipostage.
Il est distribué en 2 versions, l’une compatible avec SPIP 1.9.2 et l’autre avec SPIP 2.0.9 (testé aussi avec 2.0.8). Il est disponible en français, anglais et italien.
Un article complémentaire détaille l’extraction des pétitions proposée (même si SPIP 2 le fait maintenant comme un grand ;o)

Pourquoi ce plugin ?

Pour publier autrement que numériquement les articles rédigés dans SPIP, et pouvoir garder la hiérarchisation des contenus, par rubriques et éventuellement par mots-clés, il est nécessaire d’extraire depuis la base de données des tables différentes en les « jointant ».

Ensuite il faut pouvoir fournir cette extraction à des personnes qui vont traiter ces données pour les publier avec d’autres outils (et qui ne connaissent pas forcément les arcanes de « l’architecture de données numériques »).
Il faut donc trouver un moyen intermédiaire et plutôt « universel » de transmettre ces informations, d’où le format texte type C.S.V.

N’ayant pas trouvé d’outils répondant à ce besoin, j’ai donc retroussé mes manches et me suis attelée à mon clavier.
Je livre ici le fruit de mon travail qui n’a pu se faire que grâce au travail d’autre développeurs qui ont partagés leur savoir-faire. Qu’ils en soient ici remerciés.

Présentation

Export CSV a été développé et testé avec la version 1.9.2d de SPIP.

Les données sont exportées au format... C.S.V :), avec séparation des champs par point-virgule et encadrement des contenus des champs par des doubles quote. Les titres des colonnes sont présents.

Export CSV en action :

Affiche réalisée grâce à Export C.S.V ...et SPIP ;o)
Panneau d’orientation affiché lors du Forum de l’Alternance 2008 à la Cité des sciences.
Les offres (articles) sont triées par secteur d’activité (mot-clé article) et par entreprise (rubrique). A chaque offre est associé le numéro du stand de l’entreprise (mot-clé rubrique).

Fonctionnement

Ce plugin est axé sur les articles SPIP. Il exporte au choix de l’utilisateur les éléments les composants (titre, sous-titre, texte, p.s...) ainsi que :

  • leur rubrique (et ses éléments la composant)
  • les mots-clés associés (titre et nom du groupe) :
    • aux rubriques
    • aux articles
  • les pétitions

Ne sont pas traités (Todo list ?)

  • les éléments propres aux groupes de mots-clés et aux mots-clés (descriptifs...)
  • les auteurs
  • les brèves
  • les sites (syndication)
  • les forums
  • ...

Installation

La configuration d’Export CSV se fait avec le plugin C.F.G, il est donc nécessaire d’installer ce plugin au préalable.

Comme tous les plugins, télécharger sur plugins.spip https://plugins.spip.net/exportcsv.html et placer le répertoire décompressé dans le dossier « plugins » du site SPIP (à créer si besoin).

Une fois Export CSV activé dans la « Gestion des Plugins », un bouton « Extraire les données » est ajouté dans le sous-menu « Édition ».

Bouton d’Export CSV dans le menu de SPIP

C’est par là que le téléchargement du fichier C.S.V se fait, ainsi que l’accès à la configuration.

Lors du premier accès à la page d’extraction, Export CSV ne sait pas encore quelles données vous voulez extraire, il vous demande de le configurer.

Export C.S.V non configuré
Liens vers la configuration du plugin

Configuration

Seuls les administrateurs « toutes rubriques » peuvent configurer Export CSV mais les « admins restreints » ont tout de même accès à l’extraction.

Interface de configuration d’Export C.S.V

Les rubriques racines sélectionnées permettent d’extraire toutes leurs sous-rubriques et leurs articles. Il n’est pas possible de sélectionner à la fois une rubrique racine et une seule (ou quelques-unes) de ses sous-rubriques.
Pour choisir seulement une ou quelques sous-rubriques, décocher la rubrique racine.

Extraction

Lorsque le plugin est configuré, l’extraction est possible pour les articles publiés seulement.

Export C.S.V configuré
Un lien dans les Raccourcis permet de télécharger le fichier C.S.V et un aperçu des données extraites est affiché
  1. Cliquer sur « Télécharger les donneés » dans le cartouche de raccourcis à gauche de l’écran
  2. Enregistrer le fichier sur l’ordinateur
  3. Lancer le tableur (OpenOffice ou M.S. Excel®)
  4. Ouvrir le fichier téléchargé
    • Avec OpenOffice, choisir comme jeu de caractères Unicode (UTF-8) ; séparation par point-virgule et le texte par des guillemets
    • Avec Excel, choisir « Tous les fichiers » dans Type de fichiers

Pour rendre à César... le logo du plugin est dû au pompage d’icônes de Gnome ou K.D.E version Nuvola, trouvées sur Wikimiedia Commons

Discussion

4 discussions

  • Spipmalion

    Bonjour,

    Le lien Télécharger Export C.S.V (1.9.2) sur la zone (ZIP – 34.8 ko) est un lien mort http://files.spip.org/spip-zone/export_csv.zip

    Ce plugin date de SPIP 2, y a t’il une version ou une alternative pour SPIP 3 ?

    Répondre à ce message

  • 4

    Salut à touTEs,

    Merci pour ce plugin qui fonctionne très bien.
    Toutefois, je cherche à le bidouiller et aurai besoin d’un peu d’aide. J’ai rajouté des champs à mes articles qui me permettent de les utilisées comme fiche de membre. Je voudrai rajouter ces champs lors de l’exportation avec le plugin ExportCSV.

    Comment dois je m’y prendre ?

    Merci pour votre aide.

    Nicolas

    P.S. : j’ai essayé d’autre solution comme Import CSV, mais si là je peux sélectionné les champs mais les données sortes toujours vide.

    • Bonjour,

      En ajoutant des champs dans la partie « config » du plugin (dans /fonds/cfg_exportcsv.html) ils seront enregistrés dans la table spip_meta via CFG puis récupérés par la fonction qui génère le CSV (exportcsv_make() dans inc/exportcsv.php).

      le nom de ces champs obéit à une logique pour leur récupération :
      nomTableObjet_positionAlphabetique_nomChamp, soit articles_[lettre]_soustitre pour le champ soustitre d’un article

      Sinon, la génération d’un CSV peut aussi se faire via un simple squelette :

      #HTTP_HEADER{Content-Type:text/csv;charset=#CHARSET}
      #HTTP_HEADER{Content-Disposition:attachment;filename=export.csv}
      "Titre colonne champ_1";"Titre colonne champ_2";"Titre colonne champ_3"
      <BOUCLE_recup(OBJETS)  {criteres}>"#CHAMP_1";"#CHAMP_2";"#CHAMP_3"
      </BOUCLE_recup>

      Faire attention aux retours à la ligne dans le code du squelette : après les « headers », ils sont tous pris en compte lors de la création des lignes du tableau CSV

    • Salut stefdn,

      Grand merci pour ton aide, ça a fonctionné.

      J’ai rajouté dans la table méta via la gestion sql les champs que je voulais rajouter (adresses,...) et j’ai modifié le fichier « cfg_exportcsv.html » qui se trouve dans le dossier fond pour rajouter les selections dans l’import dont voici la première ligne

      if($GLOBALS[’meta’][’articles_adresses’] == ’oui’)  ?> ...
      et les lignes avec articles_k_adressses

      Et puis voilà, c’était tout simple. Très pratique.

      Nicolas

    • Bonjour,

      J’ai repris l’idée d’utiliser un fichier à part pour l’export csv et ça fonctionne très bien.

      Seul problème, tous mes caractères accentués sont bousillés, avez-vous des idées sur comment remédier au problème ?

      Merci

    • Je me réponds :

      Pour avoir de beaux caractères accentués, il faut ouvrir le fichier *.csv avec le Bloc-Note (PC) ou TextEdit (MAC) et copier les données dans un fichier Excel.

    Répondre à ce message

  • 1

    Il pourrait etre pratique que ce plugin permettent d’exporter les pétitions liée à un article avec liste des signataires

    • oui, ça fait partie de l’avenir radieux du plugin :) car en l’état il ne répond qu’à des besoins assez spécifiques.

      L’idée, plus générale, c’est que SPIP soit le cœur/outil du travail rédactionnel et que la publication « extra-numérique » soit facilitée par ce plugin, ce qui implique de prendre en compte la plupart (pour ne pas dire tous) des composants de SPIP

    Répondre à ce message

  • 2
    erational

    merci pour l’article

    un petit complément :
    il est aussi possible d’utiliser le plugin import_csv qui permet, comme son nom ne l’indique pas, d’exporter n’importe quelle donnée de la base SPIP (comme par exemple les id, les statistiques, les pétitions,les auteurs...) au format CSV.

    • Bonjour,

      Oui, Import CSV est plus complet au niveau des « éléments SPIP », puisqu’il importe/exporte les tables de SPIP. Je l’avais d’ailleurs testé, espérant qu’il répondrait à mes besoins, mais il ne permet pas de récupérer un fichier CSV comme le contenu d’un squelette article :

      avoir sur une même ligne dans un même fichier CSV, le titre de l’article et son texte, le nom de la rubrique contenante, et les mots-clés, ceux associés à l’article et ceux de la rubrique.

      L’usage ici n’est pas d’exporter pour retravailler le CSV via des macros ou autres manip dans le tableur mais bien de fournir un fichier « prêt à l’emploi » pour un graphiste par exemple.

    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