Plugin csv2spip : gestion des auteurs à partir de fichiers CSV

Ceci est une archive périmée mais qui reste intéressante, parfois autant pour l’article que les commentaires associés.

Si vous devez gérer un SPIP avec de très nombreux utilisateurs (visiteurs, rédacteurs, administrateurs de rubriques), que de surcroît ces utilisateurs ont un « turn-over » rapide, alors csv2spip est fait pour vous !

AVIS GENERAL !

Tous les utilisateurs de ce plugin en SPIP 2.1 sont invités à désinstaller la version 3.2.0 ou 3.2.1 et à passer à la version 3.3.0 qui rétabli un fonctionnement à priori correct de ce plugin.

Tous les utilisateurs de ce plugin en SPIP 2.0 sont invités à désinstaller la version 3.2.0 ou 3.2.1 et à revenir à la version 3.1.0 qui rétabli un fonctionnement à priori correct de ce plugin.

Introduction

Ce plugin reprend la contrib csv2spip : gestion des utilisateurs de SPIP à partir de fichiers CSV (version 2.2 réservée aux versions 1.8 de spip).

Versions
version 3.0.1 : version stable pour les SPIP 1.9.2 csv2spip_1_9.zip
version 3.1.0 : version stable pour les SPIP 2.0.*. [1] csv2spip_2_0.zip
version 3.3.0 : version stable pour SPIP 2.1.* [2] csv2spip_2_1.zip
version pour SPIP 3 : ce plugin est remplacé par csv2auteur

Remerciements à O. Jeulin qui à réalisé les logos de ce plugin (les sources GIMP sont dans le dossier /img_pack/sources).

Avertissement ! en utilisant ce plugin vous assumez le fait que vous DEVEZ avoir fait une sauvegarde de la base de votre spip AVANT de commencer !

Ce plugin réalise des modifications d’un grand nombre d’éléments de votre spip simultanément : en cas d’erreur vous ne pourrez certainement PAS revenir en arrière sinon par restauration d’une sauvegarde ANTÉRIEURE ou par trifouillages multiples avec votre phpMyAdmin...

0. But :

Le plugin csv2spip permet de gérer les utilisateurs de spip à partir de fichiers CSV : c’est donc un outil spécifiquement destiné aux spip ayant un grand nombre d’utilisateurs (quelques dizaines à plusieurs milliers).

Pour les utilisateurs de la contrib pour spip 1.8 (v2.0 à v2.2), les nouveautés de cette version 3.0 (plugin) sont signalées par un : [v3.0]

1. Ce plugin permet d’importer des fichiers CSV pour :

  • créer/gérer des utilisateurs spip (visiteurs/auteurs/admins restreints) avec login, adresse mail, mot de passe, pseudo spip
  • créer/gérer les rubriques administrées par les admins restreints générés
  • [v3.0] créer/gérer les groupes d’accès du plugin acces_groupes pour les utilisateurs importés

[v3.0] Pour toutes ces tâches il est possible de configurer différemment les options en fonction du statut (visiteurs/auteurs/admins restreints) des utilisateurs « injectés » par le fichier CSV.

Conditions d’utilisation : cet outil à été testé sur SPIP 1.9.1 avec des fichiers CSV contenant près de 2 000 utilisateurs (885 visiteurs, 885 rédacteurs , 149 admins restreints), sur des serveurs apache sous Linux et sous Windows => a priori vous ne devriez pas rencontrer de problèmes si votre fichier CSV est correctement formé...

Pour tous les problèmes de « time out » pour cause de trop gros fichier CSV et/ou config du serveur peu généreuse : voir le paragraphe « 6. Ce qu’il reste à faire » en fin de cet article.

2. Un exemple de situation à gérer :

Cette « moulinette » à été conçue pour permettre de gérer les utilisateurs d’un SPIP de collège ou lycée avec les contraintes suivantes :

  • tous les élèves doivent êtres rédacteurs.
    -  le SPIP doit contenir une rubrique pour chaque discipline de l’établissement (Français, Anglais, Maths...) et tous les profs d’une discipline doivent êtres administrateurs de la rubrique de leur discipline. La création et la gestion des administrateurs de rubrique doit donc être automatisée elle aussi.
  • [v3.0] tous les parents des élèves doivent disposer d’un compte visiteur (possibilité de s’identifier pour accès à des contenus réservés).
  • les élèves restent 3 ou 4 ans dans l’établissement : à chaque rentrée scolaire il faut supprimer les comptes de ceux qui sont partis et créer ceux des nouveaux arrivants. De plus, selon les établissements, les mots de passe des élèves doivent pouvoir être modifiés à chaque rentrée scolaire.
  • le login et le mot de passe des élèves et des profs doit être identique à celui qu’ils utilisent pour se logger sur le réseau de leur établissement : ces infos doivent donc être récupérées à partir d’une base de données indépendante de SPIP [3]
    . Pour une compatibilité large, elles seront stockées dans un fichier de type CSV , manipulable avec n’importe quel tableur.
  • contrainte supplémentaire : tous les articles des élèves qui quittent l’établissement (qui seront donc supprimés) doivent êtres archivés afin de sortir de l’arborescence principale du SPIP.
  • [v3.0] enfin, ce plugin doit également assurer la création/gestion automatique de groupes utilisables dans le plugin acces_groupe spip 1.9. L’idée étant de pouvoir gérer automatiquement :
    • pour chaque discipline : un groupe comprenant tous les profs de cette discipline
    • pour chaque classe : un groupe comprenant tous les élèves de la classe
    • pour chaque classe : un groupe comprenant tous les comptes des parents des élèves de la classe.

Étant donné le nombre d’utilisateurs à gérer et la fréquence des « grosses » mises à jour de ceux-ci, il est obligatoire de « squizzer » le gestionnaire des utilisateurs de SPIP (qui se tape le boulot de saisir tous les comptes un par un ???) et d’utiliser une extraction de la base de donnée des utilisateurs sous forme d’un fichier CSV pour ensuite la réinjecter dans les tables MySQL de SPIP en utilisant un script php qui permet de gérer les fonctions supplémentaires (cryptage du mot de passe, création des rubriques, des administrateurs de rubrique, effacement des anciens utilisateurs, gestion des groupes d’accès...).

3. Installation du plugin csv2spip :

[v3.0]Comme tous les plugins : récupérez le dernier zip à jour de cette contrib sur https://plugins.spip.net/csv2spip.html ou sur le miroir http://miroirspip.ventre.name/build..., décompactez le et placez le dossier « csv2spip » obtenu dans votre répertoire /plugins (à créer à la racine de votre spip si nécessaire), rendez vous sur l’interface de gestion des plugins (menu Configuration > Gestion des plugins), cochez le plugin « csv2spip » et validez.

Vous devriez voir apparaître une icone supplémentaire dans le menu « auteur » pour les administrateurs généraux (au passage : appel à contribution pour une icône plus classe que mon pauvre bidouillage ! contact via le forum de cet article.)

Du point de vue de la base de données, ce plugin n’installe pas de tables supplémentaires : pour le désinstaller il suffit d’effacer le répertoire /csv2spip.

4. Fonctionnement de ce plugin :

Détail des options proposées :

Paramètres du fichier CSV
  • cadre « Paramètres du fichier CSV » : détermine ce qui sera utilisé dans le champ « groupe » du fichier CSV pour différencier les différents statuts (visiteurs/auteurs/admins restreints)


Mise à jour des utilisteurs existants
  • le cadre « Mise à jour des utilisateurs existant déja dans SPIP » (option « Mettre à jour les utilisateurs existants » active) ne concerne que les utilisateurs déja existants dans le spip et présents dans le fichier CSV :
    • si « Mise à jour des infos personnelles » est sur « oui », alors le script remplace les données des utilisateurs appartenant déja au spip par celles trouvées dans le fichier CSV. Cette option est spécialement sensible en ce sens qu’elle provoque une réinitialisation du mot de passe : les utilisateurs qui auraient personnalisé celui-ci risquent de ne plus pouvoir se connecter ! [4]
    • l’option « Réinitialisation des groupes d’accès » permet de supprimer les utilisateurs déja existants de tous les groupes du plugin acces_groupes pour permettre la réinitialisation de leurs groupes d’accès
    • l’option « Réinitialisation des rubriques administrées » réalise le même type de réinitialisation pour les rubriques gérées par les admins restreints existants déjà dans le spip et présents dans le fichier CSV.


Suppression des absents
  • le cadre « Suppression des absents » permet de déclencher la suppression (ou mise à la poubelle) de tous les visiteurs/redacteurs/admins restreints existants dans le spip mais absents du fichier CSV. Cette option n’est donc pas à utiliser à la légère ! Par sécurité dans tous les cas les admins généraux ne seront pas concernés !


Création des rubriques pour les admins
  • le cadre « Création de rubriques pour les sous-groupes administrateurs » permet de configurer la rubrique attribuée aux utilisateurs admins retreints créés :
    • si l’option « Créer une rubrique par sous-groupe d’admins » est active, alors pour tous les noms trouvés dans le champ ss_groupe des utilisateurs admins restreints il sera créé une rubrique (rubrique parent choisie dans l’option « Rubrique parent des rubriques à créer ») et les admins correspondants en seront administrateurs.
    • l’option « Créer un article dans chaque rubrique admin » permet de « meubler » chacune de ces rubriques avec un article publié afin qu’elles soient visibles dans les menus de rubriques.
    • pour tous les admins n’ayant pas de ss_groupe (champ vide) ou si la génération des rubriques admins n’est pas activée, il est nécessaire de préciser le nom de la rubrique à attribuer aux admins créés. En effet, si on ne leur attribue pas de rubrique à administrer, ils sont admins généraux... La rubrique à utiliser est déterminée par les options « Rubrique par défaut des admins restreints » et « Rubrique parent de la rubrique par défaut ».
      NB : la rubrique par défaut ne sera créée que si cela est nécessaire.


Connexion avec le plugin acces_groupes
  • le cadre « Connexion avec le plugin acces_groupes » permet de faire créer un groupe d’accès pour chaque nom trouvé dans le champ ss_groupe du fichier CSV et d’inclure tous les utilisateurs correspondants à celui-ci.
    • l’option « Réinitialiser les sous-groupes » permet de s’assurer que si l’un des groupes à créer existe déja, il sera vidé de ses utilisateurs (= réinitialisation des utilisateurs du groupe).


Si tout se passe bien vous devriez obtenir quelque chose qui ressemble à la capture d’écran suivante :

Exemple de retour OK
Un système de gestion des erreurs est intégré pour chaque étape et affiche un résumé à la fin du processus.


5. Caractéristiques du fichier CSV des utilisateurs à importer :

Rappel : un fichier CSV (Comma Separated Values) correspond à un fichier tableur enregistré au format texte. Chaque ligne de ce fichier correspond à une ligne du tableur, les données des cellules de cette ligne étant séparées par un séparateur (ici c’est le «  ; »). On peut donc fabriquer un tel fichier avec n’importe quel tableur (OOo Calc par ex) en sélectionnant le format .csv ou .txt comme format d’enregistrement.
[*Remarque*] : si vous utilisez OpenOffice pour générer votre fichier CSV, n’oubliez pas de cocher la case « Éditer les paramètres de filtre » lorsque vous enregistrez votre fichier pour préciser ces paramétrages ! (Sous Excel, débrouillez vous comme vous pouvez !).

Vu qu’il s’agit d’un format texte, il est également possible de le créer/modifier avec un simple éditeur de texte (bloc-note par ex).

Pour éviter les multiples retours d’utilisateurs ayant des problèmes avec la gestion de l’ordre des colonnes du fichier CSV, à partir de la [version 2.2] il FAUT ajouter une ligne en tête du fichier qui permet de repérer les données de chaque colonne. Les noms de champs à utiliser dans cette première ligne sont les suivants :

« login »  prenom »  groupe »  ss_groupe »  pass »  email »  pseudo_spip »

L’utilisation de cette première ligne permet de pouvoir mettre les colonnes dans n’importe quel ordre dans le fichier CSV, la moulinette fonctionnera quand même.

Ce qui donne :

login prenom groupe ss_groupe pass email pseudo_spip
Bidule Marcel REDACTEURS 3D sdzzdbczke mbidule@monprovid.truc Big Marcel
Doe John ADMINS Education Civique kfbskfb djohn@ac-Ilederé.fr M. Doe
Duchemin REDACTEURS olnlnhh
Dugenou Zazie REDACTEURS danslmetro zaz@oups.chose
etc...

Un modèle de fichier CSV est livré avec le plugin : csv2spip_modele.csv

Détails :

  • « login » = obligatoire (le login dans spip). Attention : le login est sensible à la casse (Majuscules/minuscules).
  • « prenom » : facultatif
  • « groupe » = le groupe principal de chaque utilisateur (« PROFS » ou « ELEVES » pour IACA). Ce champ permet de séparer les utilisateurs qui seront rédacteurs (groupe REDACTEUR par défaut) de ceux qui seront administrateurs de rubriques (groupe ADMINS par défaut) ou visiteurs (groupe VISITEURS par défaut). Si ce champ est vide, les utilisateurs seront rédacteurs.
  • « ss_groupe » : le sous-groupe
    • pour les auteurs et les visiteurs : facultatif si l’on n’utilise pas la génération des groupes d’accès acces_groupes.
    • pour les administrateurs c’est le nom de la rubrique qu’ils administreront.
  • « pass » : le mot de passe (s’il est vide, le login sera utilisé comme mot de passe)
  • « email » : facultatif, nécessaire si on souhaite que les utilisateurs aient leur mail déclaré dans SPIP
  • « pseudo_spip » : facultatif, permet de spécifier un nom d’auteur SPIP différent de celui composé automatiquement par « prenom LOGIN »
  • séparateur de champ :  ; (point-virgule)
  • valeurs encadrées par des «  (guillemets doubles) (vous n’êtes pas obligé d’encadrer les valeurs par des » mais si vous voulez éviter les problèmes, c’est plus sûr...)
  • séparateur de ligne : \r\n (sauts de lignes utilisé par OOo Calc par défaut) sous Windows, \n sous Linux (dans les 2 cas c’est le séparateur standard du système, a priori vous n’avez pas à vous en soucier)

Remarques :

  • Le champ ss_groupe est obligatoire si on veut la création automatique des rubriques par sous-groupe et que les membres du sous-groupe en soient administrateurs.
    Il est également requis si l’on veut que les utilisateurs créés soient automatiquement intégrés dans un groupe acces_groupes. Cette option permet en effet de créer les groupes pour le plugin acces_groupes et d’intégrer les utilisateurs dedans en fonction du contenu du champ ss_groupe.
  • On suppose que la gestion des doublons de noms est assurée en amont : si vous créez le fichier csv à la main, vous devrez vous assurer que chaque utilisateur à un nom unique !
  • spécifique IACA : si les profs ne sont pas regroupés par discipline dans IACA (en tant que sous-groupes) il faudra éditer le fichier avec un tableur (OOo Calc par ex) pour ajouter celles-ci dans la colonne sous-groupe. En revanche, si les groupes de disciplines sont générés par IACA, il faudra éditer le fichier et faire un « Rechercher / Remplacer » pour supprimer les préfixes « D_ » qui précèdent chaque nom de groupe de profs afin d’éviter que les rubriques de disciplines dans le SPIP n’aient ce préfixe.


Nouveauté de la [version 4.0] : il est maintenant possible de donner également le champ « bio » ; et à l’inverse les 7 champs ci-dessus peuvent chacun être absent. En outre, l’ordre dans lequel on les donne est libre. De plus, on peut utiliser la virgule ou la tabulation pour séparer les colonnes, SPIP prendra automatiquement le signe le plus fréquent dans le fichier comme séparateur probable. Ce remplacement du point-virgule permet en particulier d’avoir des colonnes comportant des entités XML. Enfin, l’usage des guillemets dans une colonne est reconnu, ce qui permet en particulier d’avoir des sauts de ligne dans les valeurs (le champ « bio » notamment).

6. Ce qu’il reste à faire :

  • ensemble de fichiers CSV de tests

    un gros paquet de tests de compatibilité pour différents serveurs/hébergeurs/configurations... Si vous souhaitez participer à cette phase de tests, utilisez les fichiers CSV fournis dans ce zip.
    Tant que ce plugin sera dans l’état « test », ces fichiers sont fournis par défaut dans le sous-répertoire /csv2spip/tests_csv2spip.

  • la gestion du time out pour les gros fichiers CSV et/ou les serveurs lents... : des essais d’intégration d’une option de « reprise » sont en cours (v3.1 ?)
  • la transformation de l’ensemble du code pour utiliser des fonctions : en effet ce plugin n’est jamais qu’une « petite moulinette » (300 lignes de code pour la version 0.1) organisée de façon procédurale « primitive » qui a gonflé à force de fonctionnalités supplémentaires jusqu’aux 1500 lignes actuelles... Pour aller plus loin (sauvegarde/bridage des options de config, remplissage de champs et/ou tables « extras »...) il sera donc nécessaire de réorganiser l’ensemble du code...

En cas de problème

Demande d’assistance via le forum de cet article : pour éviter les retours d’erreurs trop flous ou incomplets, merci d’accompagner tout les rapports de bogues d’éléments précis :

  • liste des options sélectionnées lors de l’envoi du fichier CSV
  • un extrait des premières lignes du fichier CSV utilisé (anonymez les mots de passe si nécessaire...)
  • une url où trouver la capture d’écran de la page de retour avec les erreurs...

De la même manière, vérifiez la conformité de votre fichier CSV aux paramètres indiqués dans le paragraphe « 5. Caractéristiques du fichier CSV des utilisateurs à importer : » AVANT tout envoi de demande d’aide !

Remarque pour les spip hébergés chez free
 [5]

Notes

[1Cette version 3.1.0 pour SPIP 2.0.* est une version de transition sans nouvelles fonctionnalités. Elle ne fonctionnera pas sur une base de données autre que MySQL, elle ne comprend pas de support des groupes d’accès (le plugin « accès par groupes » n’existe pas pour SPIP 2.0.*).

[2cette version permet la gestion des mots de passe cryptés en sha256 introduite par SPIP 2.1. Aucune nouvelle fonctionnalité. Elle devrait permettre de remédier aux nombreux problèmes rencontrés par les utilisateurs des versions 3.2.0 ou 3.2.1 (cf forums attachés à cet article).

[3csv2spip à été développé dans le cas d’une base utilisateur présente sur un ActiveDirectory Windows 2000/2003 géré par le système IACA (tel que préconisé par la cellule TICE du rectorat de l’académie d’Aix-Marseille). Dans cette situation, le serveur ActiveDirectory (réseau local de l’établissement avec un firewall paranoïaque) ne pouvant communiquer avec le serveur SPIP qui est hébergé sur le serveur académique (réseau internet), il n’est pas possible d’utiliser le mode d’authentification par LDAP de SPIP.

[4sans compter qu’ils risquent de difficilement supporter une telle ingérence de l’administrateur dans la gestion de leur mot de passe...

[5Si votre site est hébergé sur un compte perso de free, les fonctions de gestion des fichiers .htpasswd et .htpasswd-admin de spip appelées lors de la génération des comptes font planter le script avec une erreur du type « *Fatal error* : unlink(data/.htpasswd) [<a
href='function.unlink'>function.unlink] : No such file or directory
in *.../ecrire/inc/acces.php* on line *150 ».
Pour éviter ce plantage, vous devez modifier le fichier /plugins/csv2spip/exec/csv2spip.php pour désactiver l’appel de ces fonctions : il suffit de mettre en commentaire la ligne 488, ce qui donne :

// Mettre a jour les fichiers .htpasswd et .htpasswd-admin
//     ecrire_acces();

Discussion

31 discussions

  • 2

    Très bon plugin.
    Cependant j’ai quelque soucis. Avec .xlxs (ou excel 2008 pour mac), quand j’importe le fichier csv, il me dit que la colonne ss_groupe n’existe pas. De plus si j’essaye de faire un autre fichier identique au csv modèle, cela ne fonctionne pas non plus, il met à jour 0 utilisateurs et en crée 0 ... Oo
    Bref, j’aurai bien besoin d’une aide (ou de neurones au choix) pour pouvoir créer un csv qui marche avec le plugin, (essayer avec OoO), histoire de pouvoir comprendre et bidouiller le code derrière pour en faire ce que je souhaite !
    Merci de votre aide !

    Répondre à ce message

  • 2
    Marc VALLETEAU de MOULLIAC

    Bonjour, et ... non, ça ne marche pas !!

    J’essaie sur un spip 192d, en local, version 3.0.1, et, de toute façon, le bidule ne dépasse pas la première ligne !!

    Je cite ce qui est écrit plus haut : « L’utilisation de cette première ligne permet de pouvoir mettre les colonnes dans n’importe quel ordre dans le fichier CSV, la moulinette fonctionnera quand même. » Eh bien c’est faux, de toute façon, lorsque je lance la moulinette, il me réclame toujours une colonne qui est pourtant présente !!

    Voici le message : Etape 2.1 : erreur(s) lors de la lecture de la première ligne du fichier (référence des colonnes) :
    Il manque le(s) nom(s) de colonne(s) suivant(s) : ss_groupe

    Je certifie que cette colonne est bien présente !! J’ai essayé de la mettre ailleurs, et alors, il me réclame une autre colonne (par ex. ss_groupe, qui est bien présente aussi !!).

    J’ai fait mon fichier .csv avec Excel, comme je le fait pour importer, normalement, avec phpmyadmin, et cela ne pose jamais de pb ...

    Suis-je le seul à avoir ce pb ?

    Marc

    • cy_altern

      Vu que tu es le seul dans ce cas (et les précédents problèmes rencontrés par les utilisateurs d’Excel pour faire le fichier CSV...), j’en déduis que c’est le format de fichier que sort Excel qui pose problème...
      Ne possédant pas ce logiciel, je ne peux aller plus loin dans mes investigations (de toute façon je n’envisage pas de coder une seule ligne pour rendre csv2spip compatible avec les excentricités de format qu’il peut produire !). Mais si tu as un patch à proposer, c’est avec plaisir qu’il sera intégré dans ce plugin, du moment qu’il n’impose aucune contrainte aux utilisateurs des autres tableurs.

    • Marc VALLETEAU de MOULLIAC

      Bonjour, merci de répondre aussi vite !! Il me reste encore quelques cheveux, mais j’ai trouvé pourquoi cela bloquait !!

      Tu as raison, c’est le format de fichier csv qui était en cause : je précise que je bosse sur mac et à partir d’un fichier excel mac ... J’ai été débugguer dans ton fichier exec/csv2spip, et ai bien constaté qu’il ne lisait que les 6 premier item de la ligne 1 ... et là, ensuite, j’ai compris que je devais créer le fichier csv à partir d’excel mais en format windows bien que je sois sur Leopard !! Et cela a fonctionné du premier coup !

      Je vais maintenant faire des essais à partir de numbers (le tableur Apple) pour voir quel genre de fichier il génère, et je te dirai ensuite, ok ?

      J’avoue que cela fait du bien quand ça marche ! J’avais une problématique de 1000 personnes à saisir, je ne me voyais pas faire ça à la main !!

      A+ Marc

    Répondre à ce message

  • 3
    manuyouka

    Bonjour, est-il possible de donner aux profs plusieurs rubriques à administrer en plus de leur discipline ? Merci.

    • Manuyouka

      J’ai trouvé un moyen : refaire la manip avec un autre fichier csv comprenant une nouvelle rubrique à administrer ... refaire tourner la moulinette avec autant de fichiers csv qu’il y a de rubriques à administrer...

      Une autre possibilité ?

    • cy_altern

      ça fait un moment que ce truc me travaille (idem pour intégrer les utilisateurs dans plusieurs groupes d’acces_groupes) mais pour l’instant, à part quelques essais pour ajouter des colonnes supplémentaires (« extra ») dans une version de dev « sans issue » rien à l’horizon...
      Donc la méthode des imports successif reste la seule possible (sauf trifouillage direct dans la base par phpmyadmin ou moulinette php).

      C’est noté dans la liste des « fonctionnalités souhaitées » puisque je ne suis plus le seul à avoir ce genre de besoin :-)
      Ceci dit, vu le peu de temps que j’ai à consacrer aux développement de plugins en ce moment, ça risque de pas être pour demain...

    • Manuyouka

      Merci pour la réponse... et pour le boulot déjà fourni ! Je t’ai eu comme formateur ( stage TICE ) il y a 3 ou 4 ans et je sais que tu ne chômes pas ... Sinon, c’est dommage que le squelette académique ait été prévu avec le plugin « accès restreint », et non avec « acces restreint par groupes » pour lequel tu as bossé, mais merci encore pour cette super-moulinette...

    Répondre à ce message

  • 2

    Bonjour,

    Responsable d’un site d’école SPIP 1.9.2c Eva-Web3, j’ai bien installé ce plugin version 3.0.1.
    L’install est bonne, mais après un téléchargement d’un tableur CSV (ds le bon format) comportant de nouveaux rédacteurs (élèves), j’obtiens le résultat suivant :

    Etape 1 : téléchargement du fichier sur le serveur
    Etape 1 : téléchargement réussi du fichier redacCM1.csv
    Etape 2 : passage des données du fichier dans la base temporaire
    Etape 2.1 : création de la table temporaire « tmp_auteurs » = OK
    Etape 2.2 : intégration des auteurs dans la base temporaire = OK
    Etape 3 : gestion des sous-groupes (rubriques et acces_groupes)
    Etape 4 : traitement des utilisateurs
    Etape 4.1 : création des nouveaux utilisateurs
    Création de 0 comptes de visiteurs = OK
    Création de 0 comptes de rédacteurs = OK
    Création de 0 comptes administrateurs de rubriques = OK

    Ainsi, les nouveaux comptes ne sont pas créés.

    J’utilise le plugin accès restreint (et non accès restreint par groupes).
    J’ai essayé d’entrer les valeurs REDACTEURS, REDACTEUR, « REDACTEURS », « REDACTEUR », «  », ou (vide), dans la colonne « groupe », mais rien ne change.

    Merci de m’aider si vous le pouvez.

    Al.

    • cy_altern

      il faudrait que tu précise :

      • les options cochées lorsque tu lance l’import
      • les premières lignes de ton fichier CSV (2 ou 3 lignes suffisent)
    • Je me réponds ;
      J’ai trouvé : mon fichier était tout bon, c’est Excel, pour ne pas le citer qui merdait !!!
      Super plugin, bravo !

    Répondre à ce message

  • Bonsoir,

    En ce qui me concerne, la céation des comptes s’arrête à l’étape 2.1, avec le message : « Etape 2.1 : erreur(s) lors de la lecture de la première ligne du fichier (référence des colonnes) :
    Il manque le(s) nom(s) de colonne(s) suivant(s) : » (sans mention d’un nom de colonne !!).

    Testé avec de nombreux fichiers csv... dont le fichier fourni en exemple.

    J’obtiens exactement le même résultat avec un fichier csv non valide (colonne manquante)
    SPIP 1.9.1, squelette DURZY, csv2spip 3.0.1

    Merci de votre aide...

    Répondre à ce message

  • Mon collègue et moi mettons en place un site pour notre collège sous spip 1.9.2b et csv2 marche à merveille avec la création d’une 60e de profs et 600 élèves.
    Mais car il y a un mais, la base de donnée que je récupère auprès de mon chef d’établissement est avec des accent dans les prénom des élèves. Après avoir fait mouliné ils sont tous sont là, mais ceux qui avais des accents se retrouve avec des symboles à la place.
    J’ai bien cru lire quelque part la solution mais je ne la retrouve pas.
    Merci de votre réponse

    Répondre à ce message

  • 1
    Christian

    Bonjour,
    je viens d’installer votre plugin pour un site associatif contenant plus de 5000 adhérents.
    Ces adhérents ont accés à une partie restreinte de ce site.
    L’insertion du fichier CSV à partir de votre moulinette m’a permis d’installer aisément les membres de la partie restreinte (bravo pour votre contribution). Malheureusement, plusieurs d’entre eux possèdent le même login (nom).
    ex : Bernard Brigitte et Bernard julie
    Pouvez-vous me donner une solution pour les différencier en sachant que votre moulinette écrase les doublons login.
    Merci pour votre réponse.

    • En l’état actuel du script je ne vois pas comment faire à part différencier les logins « à la main » : Bernard Brigitte / Bernard_1 Julie / Bernard_2 Toto... et de mettre le véritable nom (Bernard Brigitte, Bernard Julie, Bernard Toto...) dans la colonne « pseudo » puisque c’est cette valeur qui sera utilisée comme signature des articles.
      La détection des doublons de logins se fera facilement à partir d’un tri la colonne « Nom » dans ton tableur.

      Sinon, félicitation : je n’avais jamais testé au-dela de 2 100 utilisateurs simultanéments !

    Répondre à ce message

  • 10

    Bonsoir,
    Après avoir correctement installé le fichier csv2spip dans le dossier plugins (placé à la racine de mon site) et après l’avoir validé dans la rubrique gestion des plugins, il n’y a aucun changement dans la rubrique auteurs !! Pourquoi ?
    J’ai déjà installé d’autres plugins sans aucun problème.
    Je suis avec la version spip 1.9.1 sous evaweb .

    Je vous remercie.

    Sinon existe-t-il un autre moyen pour creer un grand nombre d’auteurs d’un seul coup ?

    Merci de votre aide.

    • Ben ça fait pas beaucoup d’indications pour comprendre d’ou vient le problème... Si je comprend bien tu n’obtiens pas l’icône « csv2spip » dans le sous-menu de « auteurs » ?

      Et ça te donne quoi si tu appelle directement l’interface du plugin (http://ton-site-spip.tld/ecrire/?exec=csv2spip) ?

    • C’est exact, je n’obtiens pas l’icône « csv2spip » dans le sous-menu de « auteurs ».
      Si j’appelle directement l’interface du plugin (http://ton-site-spip.tld/ecrire/ ?exec=csv2spip), j’obtiens ceci :
      « Erreur...
      Fichier exec/csv2spip introuvable »

      J’ai pourtant bien vérifié, le fichier « csv2spip.php » est bien présent dans le dossier « exec ».

      Je vous remercie de votre aide.

    • OK : tu as donc le symptôme typique du plugin qui n’est pas activé...

      Vraisemblablement tu dois avoir un conflit avec un autre plugin : pour tester cette hypothèse désactive tous les autres plugins de ton site, et ré-active csv2spip.

      Alternativement/complémentairement, regarde (via phpmyadmin) dans la table spip_meta si la valeur de l’enregistrement « plugin » contient bien « ...,csv2spip,... ».

      PS : si tu veux aller plus vite pour ce débogage, tu peux me joindre une grande partie du temps sur le canal irc de #spip (irc://irc.freenode.net/spip)

    • Autre possibilité à essayer : dans ecrire/data/ effacer :

      • charger_plugins_options.php
      • verifier_presence_plugins.php
      • charger_pipelines.php
      • charger plugins_fonctions.php

      puis réactiver le plugin (ces fichiers seront régénérés automatiquement).

    • Merci beaucoup, tout est OK.
      J’ai choisi la dernière option.

      Encore merci.

      Cordialement.

    • Bonjour,

      J’ai un spip 1.9.1 Eva 2.3 dans un lycée.
      J’ai installé accès restreint par groupes et je voudrais remplir un groupe profs avec ... les profs pour une rubrique d’infos à accès restreint.
      Le contrôle d’accès est ldap (le serveur est un lcs).
      Je souhaite que le site soit immédiatement fonctionnel pour tous les profs, donc ce plugin me convient parfaitement. Malheureusement, il semble que les users créés soient des users spip, et non pas des users ldap.
      Est-il possible de prévoir ce cas de figure ?

      Sinon, dans l’immédiat, suffit-t-il de changer après coup le champ source (spip->ldap) dans la base auteurs ?

      Merci de ta réponse (et du plugin !)

    • le même problème demeure pour moi, la config est easyphp installé sur une clé usb, spip 1.9.1 et squelette Durzy ad hoc. les procédures ci-dessus ne donnent rien... une suggestion ? merci !

    • problème lié à un hébergement chez free : voir cette note pour le correctif.

    • n’ayant pas de serveur ldap à ma disposition je ne peux te répondre mais si tu fais des tests sur ce point, merci de communiquer les résultats ici.

    • D’après mes recherches, l’autorisation ldap sous Spip ne fait que lire les données de la base ldap, mais rien n’est prévu pour modifier ladite base.

    Répondre à ce message

  • 1

    Après les modifs mineures signalées dans le message ici
    le plugin fonctionne parfaitement en local sous spip 1.9.2.
    test effectué ajout de 3 comptes un admin avec restriction à une rubrique, un visiteur et un rédacteur avec insertion dans un groupe restreint par acces_groupes.

    Merci à son auteur.

    Christian B.

    • Bonjour,
      Je suis prof et TICE d’un collège, je suis en train d’installer le site spip en intranet pour une meilleurs communication. je viens d’utiliser csv2spip pour créer 60 comptes pour mes collègues. J’ai effectué tes modifs car j’utilise spip 1.9.2 et tout c’est très bien passé !
      Je tiens à te remercier de ton excellent travail !
      Cordialement
      COSTE J.

    Répondre à ce message

  • 2

    Coucou cy_altern,

    Comme tu le sais, csv2spip m’intéresse fortement. Il me semble idéal dès lors qu’on atteint une petite masse critique d’auteurs.

    Je n’y trouve malheureusement pas directement la réponse à mon besoin immédiat, simplement éradiquer une liste de visiteurs identifiés par leur adresse e-mail, dans un premier temps.

    Aussi, il faudrait pouvoir exporter des listes CSV ...

    Je me propose bien sûr de coder ces extensions sur la zone, mais beurk !!! retoucher du code 1.9.1 , ça me tue.

    Par ailleurs, c’est historique, mais comme l’indique mon titre, le nom du plugin n’a plus beaucoup de sens. C’est d’ailleurs dans ton titre :

    gestion_auteurs basta !

    Que diriez-vous de commencer genre _plugins/_dev_/gestion_auteurs/ sur la zone, du matos moderne uniquement 1.9.2, du privé squeletisé et modulaire ? Pratiquement, une carcasse vide où on créerait des morceaux ou importerait les fonctionnalités actuelles de csv2spip avec comme règle de base la compatibilité.

    • Ooops, je m’étais pas identifié, red_adair aka toggg ...

    • Très bonne idée puisque de toute façon, comme je le mettais dans la TODO de csv2spip, le code a besoin d’une *grosse* refonte pour pouvoir évoluer et proposer de nouvelles fonctionnalités.

      Alors c’est parti pour gestion_auteurs (svn ://zone.spip.org/spip-zone/_plugins_/_dev_/gestion_auteurs) : les idées sont rassemblées dans le fichier lisez_moi.txt, toutes les bonnes volontées sont les bienvenues !

    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