Plugin csv2auteurs : gestion des auteurs à partir de fichiers CSV (version de csv2spip pour SPIP 3)

Ce plugin permet la gestion des utilisateurs de SPIP en masse à partir de fichiers csv.
Nouveautés de cette version :

  • la possibilité d’exporter la base spip_auteurs
  • la gestion de tous les champs de la base spip_auteurs y compris les champs extras
  • la possibilité d’importer plusieurs rubriques pour un même administrateur
  • la gestion des zones d’accès restreint des utilisateurs

Installation

Ce plugin s’installe comme tous les plugins de SPIP, il ajoute un lien « csv2auteurs » dans l’onglet Maintenance.

Format des fichiers CSV

Pour ce plugin, par défaut, le séparateur de champs pour l’exportation ou l’importation est « § ». L’interface d’importation vous permet de choisir un autre caractère.
Fichier modèle pour l’importation : Fichier CSV type pour importation avec mots de passe, rubriques administrées et zones d’accès
Plus de détails sur le format de fichier CSV : voir http://fr.wikipedia.org/wiki/Comma-....

Exportation

Sélectionnez les champs que vous voulez exporter :
Par defaut, 4 champs sont obligatoires :

  • nom
  • email
  • login
  • statut

3 champs ne sont pas exportables.

  • pass
  • alea_actuel
  • alea_futur
Détail des options de configuration pour l’exportation

Cliquez sur Lancer la moulinette : vous obtiendrez un fichier CSV qui comprend 2 colonnes en plus de celles sélectionnées :

  • une colonne ss_groupe correspondant aux sous-rubriques administrées pour les auteurs administrateurs de rubriques
  • une colonne zone (si le plugin Accès Restreint est activé) avec le nom des zones auxquelles appartient l’auteur.

Importation

Avertissement !
L’importation réalise la modification d’un grand nombre d’éléments de votre SPIP simultanément : en cas d’erreur vous ne pourrez PAS revenir en arrière sinon par restauration d’une sauvegarde ANTÉRIEURE :
avant toute importation, vous DEVEZ faire une sauvegarde de votre base de données !

Note : par sécurité il n’est pas possible d’importer ou de modifier des administrateurs complets.

I. Caractéristiques du fichier à importer

  • Fichier au format : csv
  • Séparateur de champ : au choix (§ par défaut)
  • Encodage : UTF-8
  • Ordre des colonnes : libre
  • Le fichier doit avoir une colonne d’en-tête avec le nom des champs.
  • Champs obligatoires :
    • nom
    • login
    • statut :
      • administrateurs : administrateur
      • auteurs : redacteur
      • visiteurs : visiteur
    • email
  • Champs optionnels :
    • pass : le mot de passe de l’utilisateur
    • ss_groupe pour les rubriques des auteurs administrateurs de rubriques : en cas de plusieurs rubriques il faut les séparer par un « | »
    • zone pour le nom des zones (plugin Accès Restreint) : en cas de plusieurs zones pour un utilisateur, il faut les séparer par un « | »
      _Attention, les zones doivent déja exister : il est donc nécessaire de les créer avant de faire l’importation.
    • tous les champs supplémentaires de la table spip_auteurs créées par des plugins ou par le plugin Champs extras

Exemple :

nomemailloginstatutss_groupezonepass
Aurelia Sept parent07.aurelia@laposte.net PARENT07 visiteur parent07
Anne Cinq parent05.anne@laposte.net PARENT05 visiteur parent05
Nadia Un eleve01.nadia@laposte.net ELEVE01 redacteur Intranet lycée Truc eleve01
Guillaume Deux eleve02.guillaume@laposte.net ELEVE02 redacteur Intranet lycée Truc eleve02
Janique Trois eleve03.janique@laposte.net ELEVE03 redacteur Intranet lycée Truc eleve03
Isabelle Neuf PROF09 administrateur Histoire|Géographie|Salle des profs Intranet lycée Truc|Reserve profs prof09
Laurence Dix prof10.laurence@laposte.net PROF10 administrateur Italien|Salle des profs Intranet lycée Truc|Reserve profs prof10

II. Organisation de l’interface

Cadre 1
Formulaire de sélection du fichier csv

Cadre 2 - Mise à jour des utilisateurs existant dans SPIP
1. Mettre à jour les utilisateurs :

  • Si « Non » csv2auteurs prendra en compte seulement les nouveaux auteurs.
  • Si « Oui » csv2auteurs ajoutera les nouveaux auteurs et mettra à jour les existants.

2. Gestion des rubriques administrées et des zones d’accès des utilisateurs existants :

  • Si « Remplacer » : Toutes les rubriques administrés ou les zones restreintes d’un auteur en bdd à mettre à jour seront remplacées par celles présentes dans le fichier csv
  • Si « Ajouter » : Toutes les rubriques administrés ou les zones restreintes d’un auteur en bdd à mettre à jour seront ajoutées à celles présentes dans le fichier csv.

Cadre 3 - Suppression des absents
1. Traitement des auteurs absents sans articles :

  • suppression complète : suppression de la bdd.
  • passer à la poubelle : change le statut d’un auteur en 5poubelle

2. Administrateur / Rédacteur / Visitieur : on peut choisir pour chaque statut un traitement différent.
Traitement des articles des auteurs effacés :

  • Ne rien faire : les articles garderont (si existant) les autres auteurs, ou ????
  • Supprimer les articles des auteurs effacés : Attention les articles seront supprimés de la bdd
  • Transférer les articles dans une rubrique d’archives : On peut donner le nom de la rubrique qui sera créée ainsi que le nom de sa rubrique parente

Cadre 4 - Création de rubriques pour les sous-groupes administrateurs
Lorsqu’on insère des auteurs avec le statut administrateur, on peut choisir dans quelle rubrique parente seront créées les rubriques administrées.

Astuces

1. On veut supprimer tous les auteurs de la bdd sauf les administrateurs complets : il suffit d’importer un fichier avec seulement la ligne d’entete et selectionner :

  • mise à jour des utilisateurs
  • suppression des auteurs absents (visiteurs, redacteurs, administrateurs)

2. On veut simplement ajouter des NOUVEAUX auteurs : un selectionne un fichier csv et on valide le formulaire en laissant les options par défauts.

Discussion

16 discussions

  • 2
    spipfactory

    Bonsoir,

    lors de l’exportation je ne visionne pas les inscriptions aux newletters (plugin de cédric)

    c’est dans les tablettes ou j’ai loupé un truc ou ça ne sera jammais réalisé

    merci

    • Bonjour,
      Le plugin csv2auteurs ne prend en compte que les champs (extras) présents dans dans table spip_auteurs.

      Pour l’instant, nous n’avons pas prévu de le rajouter, mais le plugin est sur la zone donc il ne faut pas se gêner pour rajouter cette amélioration.

    • spipfactory

      Ok , merci pour votre réponse

      mais je n’ai pas le niveau, ni les compétences pour cela

    Répondre à ce message

  • 3
    Lorenzo

    Bonjour,

    Je cherche à utiliser ce plugin (sur SPIP 3.0.16) pour la création en masse de visiteurs.
    J’ai donc un fichier csv avec les colonnes nom email login statut zone pass.
    Les visiteurs sont bien insérés dans la base sauf pour le champ pass de la table auteurs qui reste vide.

    Ai-je manqué quelque chose ?

    D’avance merci

    Répondre à ce message

  • 7

    Bonjour,

    Il me semble tout faire correctement, ors malgré le « bravo », ma base reste désespérément vide.

    Le plug-in est il compatible avec la version 3.0.17 ?

    • En principe le plugin est compatible avec SPIP 3.0 quelle que soit la version. Pourrais tu envoyer ton fichier CSV pour qu’on teste ? (par ex en collant les 10 premières lignes sur un pastebin : http://spip.pastebin.fr/ )

    • Mon fichier xls incluait une colonne vide, d’ou un séparateur de trop.
      Oui, je sais... je me fouette en ce moment :-(

      Donc tout marche bien maintenant, sauf pour les mots de passe qui eux ne passent pas.
      Rien n’y fait, le cryptage semble délirer.

      J’ai essayer de l’inclure sans cryptage : échec
      Avec le cryptage sha256 : échec
      Avec un champ vide, en espérant que cela reproduise le comportement des vieux Spip, c’est à dire le login en pass : échec

      Je suis un poil désemparé là...

    • Je précise que les champs de la base sont bien renseignés, c’est lorsque je veux me connecter à la place d’un auteur que le système refuse mon mot de passe.

    • Dans le fichier csv à importer, les mots de passe ne doivent pas être crypter. C’est SPIP qui s’en charge.

      Pour les mdp, y a t’il :

      • des espaces
      • des accents
      • autres caractères particuliers

      As tu testé l’importation avec le fichier csv d’exemple ?

    • Bon, je me réponds à moi même : Ce plug-in est très bien conçu, il génère le cryptage tout seul.

      Je ne sais pas pourquoi sur mon premier test cela n’avait pas fonctionné, mais là en générant des « aléa_actuel » et « aléa_futur » vides, avec le mot de passe en dur dans la colonne « pass », et bien tout fonctionne.

      Merci en tous cas.

    • Bonjour
      Est-ce que vous pourriez expliciter ce que vous voulez dire par « alea_actuel » et « alea_futur ».
      J’ai le même souci d’import que vous pour les mots de passe alors que les auteurs sont par ailleurs correctement importés.
      Merci d’avance.

    • Re-bonjour
      Je me réponds à moi-même car je viens de trouver la solution grâce au message de Fred ; et j’explicite pour ceux qui auraient besoin...
      Pour que les mots de passe soient correctement importés avec le fichier CSV, ajouter dans le fichier CSV une colonne « alea_actuel » et une colonne « alea_futur » après la colonne « pass », mais en les laissant vides.

    Répondre à ce message

  • 1
    Delorimier

    Excellent plugin, mais les auteurs importés ne sont pas mis à jour même si l’option est sélectionnée, un nouvel auteur est rajouté. Le site roule présentement sous SPIP 3.0.16, essai fait avec trois rédacteurs avec la mention « bravo ». Également, l’export du champ bio qui fait décaler les colonnes.

    • Delorimier

      Après inspection du code php, je vois que le nom du login (signature) doit correspondre pour que la mise à jour se fasse, mais c’est justement ce que je tente de renseigner, car la plupart de ces champs sont vides. Avez-vous une suggestion pour modifier ce paramètre ?

    Répondre à ce message

  • 1

    Bonjour,

    est-il possible en IMPORTATION, d’intégrer une colonne avec 1 article (via l’id_article) créé par l’auteur ?

    merci pour l’info/aide

    Seb

    • cela est possible si cet id_article appartient à la table spip_auteurs. Cela implique donc que tu ait au préalable ajouté ce champ id_article dans la table spip_auteurs (avec le plugin champs_extra par exemple).
      Si le champ id_article à importer ne fait pas partie de la table spip_auteurs alors il va falloir que tu surcharge la fonction d’importation du plugin csv2auteurs :
      - dans le fichier .../squelettes/mes_fonctions.php copie de la fonction formulaires_csv2auteurs_importation_traiter_dist() du fichier formulaires/csv2auteurs_importation.php que tu renomme en formulaires_csv2auteurs_importation_traiter()
      - adaptation du php de cette fonction pour gérer l’intégration en base de ton champs id_article selon tes contraintes

    Répondre à ce message

  • 2

    Salut les amis,
    ne faudrait-il pas profiter de ce passage en SPIP 3 pour changer le nom (et le préfixe) du plugin, par exemple en : « csv2auteurs » ?

    Parce que là on a l’impression que c’est un outil générique pour « gérer du CSV dans SPIP », alors que ce n’est « que » autour de la gestion d’auteurs.

    Désolé de ne poser cette question que maintenant, mais je n’arrive pas toujours à tout suivre à 100%. :)
    (Bien que j’ai déjà fait cette remarque sur IRC il y a environ un an, un truc comme ça.)

    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