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

15 discussions

  • Bonjour,
    Essai d’installation sur SPIP 4.2.4 avec php 8.1.2.
    Une erreur php en exportation. Correction en modifiant la ligne 31 du fichier csv2auteurs_exportation.php dans formulaires ( $date_du_jour = date(’Y-m-d’) ; au lieu de $date_du_jour = date(Y_m_d) ;

    Message d’erreur SPIP en importation. Là je ne trouve pas le pb. le log spip.log donne :
    2023-08-26 23:38:43 127.0.0.1 (pid 37658) :Pri:info : include_spip formulaires/csv2auteurs_importation/verifier.php non trouve
    2023-08-26 23:38:43 127.0.0.1 (pid 37658) :Pri:info : include_spip formulaires/csv2auteurs_importation/verifier_post_saisies.php non trouve
    2023-08-26 23:38:43 127.0.0.1 (pid 37658) :Pri:info : include_spip action/editer_zone.php non trouve
    Auriez-vous une petite idée ?
    Merci

    Répondre à ce message

  • 2
    francois schneider

    Bonjour je migre mon site en spip 3.2 vers site 4.1.
    L’ensemble des migrations s’est bien passée.
    J’utilise PHP 8.1.
    J’utilise ce plugin, qui m’est très utile voir indispensable.
    J’ai comme indiqué précédement changer les bornes du plugin, qui a donc pu être installé.
    Je rencontre des pb d’importation de mes fichiers.
    Déja lorsque je veux changer le caractère de séparation par un «  ; », il m’est répondu « Oups. Une erreur inattendue a empêché de soumettre le formulaire. Vous pouvez essayer à nouveau. »
    Après un 2e essai il m’est répondu « Fatal error : Uncaught Error : Undefined constant « separateur » in C :\xampp8.1\htdocs\bts\plugins\csv2auteurs\formulaires\csv2auteurs_separateur.php:14 Stack trace : #0 C :\xampp8.1\htdocs\bts\ecrire\public\aiguiller.php(256) : formulaires_csv2auteurs_separateur_verifier_dist() #1 C :\xampp8.1\htdocs\bts\ecrire\index.php(71) : traiter_formulaires_dynamiques() #2 main thrown in C :\xampp8.1\htdocs\bts\plugins\csv2auteurs\formulaires\csv2auteurs_separateur.php on line 14 »
    Auriez vous rencontré ce problème ou auriez vous une idée d’ou provient le pb.
    Merci d’avance
    François

    • Bonjour,
      effectivement, le plugin ne doit pas fonctionner en spip 4.1, en plus d’apporter des corrections avec le changement de version de php.
      Il est prévu que l’on fasse cette montée de version avant la rentrée scolaire de septembre 2023.

    • Schneider François

      Merci pour votre réponse te votre travail.
      J’attends avec impatience cette mise à jour pour votre plugin, que je trouve d’une très bonne qualité.
      François SCHNEIDER

    Répondre à ce message

  • 3

    Bonjour

    avez vous prévu de porter ce plugin en Spip 4 ?

    et est il compatible avec Contacts et Organisations

    merci
    Natacha

    • Bonjour,
      le plugin doit etre compatible Spip 4, je crois qu’il a été testé par @cy_altern dernièrement, je lui demande.
      Si tu as la possibilité, tu peux essayer en modifiant la borne de compatibilité :

      compatibilite="[3.0.0;4.0.*]"

      dans paquet.xml

      Ce plugin exporte tous les champs de la table spip_auteurs et les liaisons pour les admins restreints. Il ne prend pas en compte d’autres tables (objets SPIP). Il n’exportera donc pas les tables ajoutées par le plugin Contacts et Organisations. Cela demanderait d’étendre le plugin csv2auteurs.

      Christophe

    • merci pour votre réponse super rapide
      ok pour modifier les bornes

      c’est surtout l’import qui m’intéresse mais il semblerai que non
      je pose la question sur la page du plugin Contacts et Organisations

      merci et belle journée
      Natacha

    • l’import ou l’export, cela ne change rien ! le plugin n’est prend pas en compte dans les 2 sens des tables autres que spip_auteurs

    Répondre à ce message

  • 2

    Bonjour,

    J’ai un site où j’ai créé un statut complémentaire « 4postulant ».

    Si je demande l’exportation de ma base (pour modèle), il ne me propose pas de sélecitonner ce statut, mais seulement Administrateurs, Rédacteurs, Visiteurs.

    Et en plus dans la base récupérée, il y a dans la colonne statut administrateur, redacteur, visiteur au lieu de 0minirezo, 1comite, 6forum, ...
    Donc difficile de savoir ce que je vais mettre dans ma colonne statut...

    • +1
      Pouvoir exporter, importer les nouveaux types d’auteurs (ajoutés via config.php) serait très apprécié. Ou une méthode alternative ?
      Merci

    • cela semble effectivement une bonne amélioration : c’est noté dans la TODO !

    Répondre à ce message

  • 1

    Petite remarque : il est dit dans cet article que les champs obligatoires pour l’importation sont :
    Champs obligatoires :
    nom
    login
    statut :

    Alors que la moulinette indique :
    Les champs : login, statut et email sont obligatoires !! login:1 statut-1

    Répondre à ce message

  • Bonjour,

    sur 2 sites spip avec le pluggins csv2auteurs, j’obtiens le message d’erreur suivant :
    « Warning : Use of undefined constant separateur - assumed ’separateur’ (this will throw an Error in a future version of PHP) in /htdocs/plugins/auto/csv2auteurs/v1.1.7/formulaires/csv2auteurs_separateur.php on line 14 »

    Pourriez-vous m’aider à trouver le problème,
    Bien cordialement

    Répondre à ce message

  • Philippe

    Bonjour,
    J’e tente d’importer des auteurs qui comportent des champs extras. L’un des champs est constitué de cases à cocher : impossible de l’importer à partir d’un fichier csv (openoffice) :
    Si ma colonne ne comprend qu’une case cochée (cle1) : pas de problème
    Si je mets « cle1,cle2 » : ça décale tous les autres champs et ne saisit que « cle1 »
    J’ai testé « cle1|cle2 » = erreur

    Merci de votre aide

    Répondre à ce message

  • 6

    Bonjour,
    j’utilise ce plugin, mais quand j’essaie d’exporter rien ne se passe et j’ai une erreur
    Votre saisie contient des erreurs !
    J’ai activé les plugins champ extrat et accés restreint

    • Bonjour,
      le plugin est il a jour ?
      Quelle est ta version de SPIP ?

    • Merci pour la réponse
      spip 3.1.0 et la dernière version du plugin 1.1.5

    • Bonjour,
      il ya pas une solution a mon probléme ???

    • il y a forcément une solution, mais ne vous attendez pas à ce qu’un mainteneur bénévole vous résolve le problème en moins de 4 heures…

      patience, je pense que Tolfum trouvera les modifs à faire dans le plugin ;-)

    • Vous avez raison :)
      Peut être que Tolfum va voir la solution, moi jy suis depuis 3jours :) je suis fatigué de chercher c’est pourquoi j’ai posé le problème ici en me disant que peut être quelqu’un a déjà rencontré le même problème. En tout cas j’ai une fois utilisé le même plugin dans spip3.0.22 et j’ai pas rencontré ce problème ce qui veut dire que ça coince a la version 3.1.0 de spip. Merci encore

    • Bonsoir,
      r98584 devrait corriger le problème

    Répondre à ce message

  • Bonjour,

    Remontant régulièrement le fichier auteurs pour prendre en compte de nouveaux adhérents, j’ai un problème avec les gens qui ont un prénom de 3 lettres (Max, Joe) :
    A chaque remontée du fichier, une nouvelle ligne est créée, ce qui fait qu’après 5 remontée, si je n’y fait pas attention, j’ai 5 Joe Machin et 5 Max Truc.
    Pourriez-vous regarder ce qu’il en est SVP.

    Cordialement.

    Répondre à ce message

  • 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

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