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 :
- 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)
- 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.
- 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 !
- 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.
- 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 :
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).
« 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 | 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.
6. Ce qu’il reste à faire :
-
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 !
Discussions par date d’activité
31 discussions
Bonjour après installation sous SPIP 20.6 j’ai l’erreur suivante qui s’affiche après clic sur l’onglet du plugin sous auteur.
Warning : Cannot modify header information - headers already sent by (output started at /.../www/plugins/csv2spip_2_0/exec/csv2spip.php:31) in /.../www/ecrire/inc/headers.php on line 126
Une idée ?
Même problème sous SPIP 2.0.9 : « Warning : Cannot modify header information - headers already sent by (output started at /.../www/plugins/auto/csv2spip_2_0/exec/csv2spip.php:31) in /.../www/ecrire/inc/headers.php on line 145 »
Problème résolu en supprimant « echo » à la ligne 31 du fichier « csv2spip.php »
Par ailleurs, pour gérer l’import, il faut être reconnu comme webmestre, donc soit être l’auteur d’id n° 1, soit modifier le fichier mes_options.php, ou bien encore passer par le couteau suisse.
avec un SPIP version 2.0.10 à jour des dernières modifications je ne reproduit pas cette erreur... Peut être faudrait il passer à cette version ?
Répondre à ce message
Bonjour, un tel plugins pourrait-il être adapté au fonctionnement d’un association ?
de nombeurses assoc utilisent SPIP pour leur sîte et la gestion de grosses bases de données est parfois nécéssaire.
dans mon cas je suis radioamateur et je désirerais gérer les membres de l’asso, les radioamateurs contactés mais aussi gérer les radioamateur en générale. ma base sous Ooo contient près de 96000 enregistrements, est-ce jouable ? sans attaquer la liste des auteurs d’un sîte !!!
amitiés
Répondre à ce message
Bonjour,
J’ai bien reussi à installer le plugin sur spip2.
J’ai chargé une liste (de visiteurs).
Quand je veut me connecter j’ai le message « Erreur de mot de passe. ».
Quand je regarde dans PhpMyAdmin, j’ai pourtant bien le login et le mot de passe crypté. J’ai vu plus bas que les Alea_actuel et futur vides ne posaient pas problème. J’ai aussi htpass vide. Est-ce le problème ?
Merci
Répondre à ce message
Sur la page : http://www.spip-contrib.net/Gestion-auteurs,721, on peut lire :
« Ce plugin est destiné à remplacer/compléter le plugin Csv2spip (gestionnaire d’auteurs à partir de fichiers csv). »
Or, la page date du 3 juin 2007, le dernier message du 1 janvier 2008.
Qu’en est-il finalement, le bon plugin est-il csv2spip ? Ou a-t-il un remplaçant ?
pour l’instant c’est toujours csv2spip qui est le « bon » plugin... avec la version compatible SPIP 2.* toujours en attente !
OK. Pour donner un coup de main, pour le rendre compatible avec SPIP 2, je fais comment ?
je viens juste de sortir la version compatible SPIP 2.0 alors vu le nombre d’options possibles tous les tests sont les bienvenus...
Bonjour,
je viens de tester csv2spip pour spip2 sur mon spip (actuellement en local). Cela semble bien fonctionner : les auteurs (je n’ai mis pour l’instant que des rédacteurs dans le csv) ainsi créés peuvent se connecter avec le bon statut.
J’ai constaté néanmoins que dans la table spip_auteurs, les nouveaux rédacteurs ainsi créés ont les champs htpass, alea_actuel et alea_futur vides. Cela pose-t-il problème ?
Merci pour ce travail très utile aux administrateurs de spip ouverts à de nombreux rédacteurs.
D.V.
non, pas du tout, ces éléments seront générés lors de la première connexion de l’auteur.
En gros l’idée c’est que alea_actuel et alea_futur sont utilisés pour que le cryptage du mot de passe de l’utilisateur soit différent à chaque fois qu’il se connecte, leurs valeurs étant donc modifiées lors du processus de connexion.
Lorsque csv2spip crée le mot de passe d’un compte, pour simplifier il procède à un cryptage avec ces valeurs vides. A la première connexion de l’utilisateur ces champs seront remplis avec les valeurs utilisées pour la connexions suivante (et ainsi de suite à chaque connexion). Il n’y a donc (sauf erreur de ma part !) aucune modification de la sécurité du processus de connexion du fait de la génération des comptes par csv2spip.
Si nécessaire on pourrait très bien envisager d’ajouter la génération des alea_* dans le fonctionnement de csv2spip : ça ne doit pas prendre plus de quelques lignes de code... mais il me semble qu’il y a nettement plus important dans les choses à faire sur ce plugin (passer toutes les fonctions sql_query() en sql_* spécifiques afin de redevenir compatible avec les autres systèmes de base de données que MySQL par exemple !)
Quoiqu’il en soit le plugin est sur la zone : du moment qu’ils ne cassent pas l’existant tous les codeurs sont bienvenus !
Répondre à ce message
Oui, merci, j’avais lu, mais il n’est indiqué nulle part que c’est INcompatible avec les version 2.xx.
Et je ne viens pas « réclamer » quoi que ce soit ! Ce serait bien de se calmer dans les réponses à des gens qui expriment des difficultés, de quelque nature que ce soit !
Qui plus est, une réponse plus sympathique du genre « c’est prévu pour la version 3.1 » ou bien « le projet ne sera plus mis à jour, bonne chance » m’aurait suffit !
OK, tu n’as pas complètement tort (mais il y a tellement de messages de forums lié a des tentatives d’installation de plugins sur des versions de SPIP non compatibles qu’a la fin ça « agace »)... alors on va dire comme ça :
- la version actuelle n’est pas compatible SPIP 2.0.x mais la prochaine version le sera...
- ...aucune date de sortie n’est prévue pour cette future version (qu’on se le dise !)
- si vous êtes pressé, le code est sur la zone => votre contribution sera la bienvenue !
Répondre à ce message
Bonjour,
merci pour le boulot effectué sur ce plugin.
Mais j’ai un pb quant à la version : évidemment j’ai mis en route une plate-forme avec la version 2.0.8 de Spip et j’ai un magnifique
« Fatal error : Call to undefined function debut_page() in /spip/plugins/csv2spip/exec/csv2spip.php on line 68 »
lorsque je clique sur l’icone de csv2spip dans le menu « Auteurs ».
Que faire ?
Bon courage et merci.
il faut lire au moins les 2 premières lignes de cet article de documentation avant de poster !!!
S tu l’avais fait tu aurais pu voir que :
Ce plugin est testé avec les versions 1.9.1 et 1.9.2 de spip.
ce qui signifie, bien sûr, qu’il ne faut pas venir réclamer quoi que ce soit dans le forum si tu as un problème en l’installant sur un SPIP 2.0.8 : ça ne fonctionnera PAS !
Répondre à ce message
Bonjour,
Je suis enseignant à Noirmoutier dans un collège et je suis entrain de mettre en place le site web de ce collège grâce au fabuleux spip et à vos très nombreuses contributions.
Le plugin csv2spip est vraiment super et va drôlement me faciliter la vie (300 auteurs à créer et à gérer ça commence à faire du monde...) mais je rencontre un problème, il m’affiche dans connexion avec le plugin acces_groupes le pluggin « acces_groupes n’est pas activé sur ce spip : option non disponible »
J’ai donc essayer de voiur du côté du plugin acces_groupes et lorsque je vais sur http://zone.spip.org/files/spip-zone/ j’ai trois fichiers possible :
[ ] acces_groupes.zip 17-Dec-2008 01:31 170K
[ ] acces_restreint_1_9.zip 21-Oct-2008 11:31 57K
[ ] acces_restreint_3_0.zip 17-Dec-2008 01:31 69K
Lequel dois je choisir ???
Merci d’avance pour votre aide
Sylvain
J’ai un migré sous spip 2.0.5, ça tourne bien mais j’aimerais pouvoir utiliser ce plugin extrêmement pratique... Auriez-vous une idée de la date de sa sortie, même approximativement ? Merci aux développeurs...
pas de sitôt puisque je n’ai pas à m’en servir avant la rentrée scolaire de septembre...
Répondre à ce message
Bonjour,
Merci pour ce plugin très utile pour notre site web de collège, réalisé avec SPIP 1.9.2 et le squelette Durzy, sur un serveur kwartz pour lequel la base de donnée MySQL est en interclassement latin1-swedish-ci. J’utilise votre plugin 3.0.1.
J’ai un problème cependant avec les caractères accentués (résolu avec une astuce) et le symbole ’ (non résolu).
Concernant les caractères accentués, SPIP est rêglé pour le jeu de caractères UTF-8, et je ne peux pas le changer car le squelette ne fonctionne plus bien sinon. En créant un fichier CSV, les caractères accentués apparaissent bizarrement, ce qui est normal puisque mon codage de fichier est ANSI ou latin1. Si je code mon fichier CSV en UTF-8, j’ai l’erreur suivante :
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) : login.
J’ai résolu ce problème en rajoutant un ’ ;’ en début de fichier CSV : ma première ligne s’écrit maintenant ;« LOGIN » ;« PRENOM »... ce qui permet de ne pas tenir compte des premiers caractères utf-8 en début de ligne pour le premier champ, que la fonction trim() gère mal.
Concernant le problème avec le symbole ’, j’aimerais écrire dans le pseudo : Mr. toto, professeur d’anglais. Mais ce symbole ne passe pas car il est utilisé dans spip_query() pour délimiter la valeur de ce champ. Même si j’utilise la fonction addslashes() ou mysql_real_escape_string() sur ce champ $pseudo_spip_ec, ou si j’écris Mr. toto, professeur d\’anglais, j’ai l’erreur suivante à l’étape 4.1 :
administrateurs en erreur : utilisateur = toto erreurErreur de syntaxe près de ’anglais’, ’’, ’toto’, ’bc65c677d90a7cdbfb6d643fcb78ac’ à la ligne 1.
Pour ces deux problèmes, savez-vous comment les résoudre ?
Merci bien.
pour le premier problème, pas de solution « simple » à te proposer : la gestion des charset est un point peu facile à gérer et, pour l’instant, non pris en charge par ce plugin => si ton petit hack fonctionne, profites en !
Pour le cas des apostrophes dans le login, essaie ce que ça donne avec :
Mr. toto, professeur d\\’anglais
en effet vu la structure du script, PHP doit « manger » le premier \ n’en laissant plus pour MySQL donc en le doublant ça devrait passer...
Si cette soluce fonctionne, merci de le préciser sur ce forum pour je puisse modifier le script pour automatiser ça (ça permettrait de ne pas avoir à mettre le \ « à la mano » dans le fichier CSV).
Pour les apostrophes dans le pseudo, cela fonctionne avec \\, exemple Mr. toto, professeur d\\’anglais. Merci pour cette astuce.
J’ai aussi eu un problème avec des accents dans le login (exemple toto.andré) : deux comptes sont créés au lieu d’un. Cela n’est pas un problème car je n’utilise plus d’accents.
Répondre à ce message
Bonsoir,
J’utilise SPIP 1.9.2 sous Eva Web 3.0. lorsque j’installe le plugin csv2spip pas de problème, lorsque je clique sur l’icone de csv2spip, il m’affiche le code de la page et en bas de page l’erreur « exec/csv2spip non trouvé ». A part Eva Web je n’ai que Accès Restreint comme plugin.
Merci de votre réponse
même problème réglé en remplaçant dans le fichier csv2spip.php les
même problème réglé en remplaçant dans le fichier csv2spip les
Répondre à ce message
Bonjour,
J’ai un petit problème lors de l’upload d’un fichier csv.
Savez-vous ce qui peut générer cette erreur ?
Merci d’avance
Bonjour
Comme vous le voyez dans les infos d’erreur, l’upload du fichier ne s’est pas fait correctement :
1°) Chez quel hébergeur faites-vous les essais ? Il arrive que certains d’entre eux désactivent la fonction upload et les messages ne sont pas toujours précis.
2°) De même les hébergeurs limitent toujours les fichiers a une certaine taille (parfois 2 Mo mais ça peut être moins ou plus)
3°) Si aucune des conditions 1 ou 2 n’est en cause peut-être le serveur est-il mal paramétré et les droits pour manipuler les fichiers sont insuffisants.
Christian B.
Bonjour
Nouvelle réponse car je viens d’être confronté au même pb que vous.
Je suppose que vous êtes sous spip 1.9.2 car c’est mon cas.
Le répertoire ecrire/data n’existe plus, il faut modifier le fichier csv2spip.php ainsi :
ligne 128 à la place de $nom_fich = « data/tmp_fich.csv » ;
mettre $nom_fich = « tmp_fich.csv » ;
ligne 129 à la place de if (!move_uploaded_file($_FILES[’userfile’][’tmp_name’], $nom_fich))
mettre
if (!move_uploaded_file($_FILES[’userfile’][’tmp_name’], « ../tmp/$nom_fich »))
ligne 162 à la place $Tlignes = file($nom_fich) ; mettre $Tlignes = file(« ../tmp/ ».$nom_fich) ;
De plus le test de l’existence du plugin accesgroupes ne marche pas tel quel et ce qui était mis en commentaire pour utilisation avec spip 1.9.2 n’a pas marché chez moi aussi j’ai transformé à partir de la ligne 52 ainsi :
// le plugin acces_groupes est il installé/activé ?
// modifs (cb) on rechercher pour spip 1.9.2 dans la chaine plugin_header de la table spip_meta au lieu de plugin
// et pour éviter des variantes on recherche soit acces_groupes soit accesgroupes
// à changer si le nom est modifié
$plugin_accesgroupes = 0 ;
$sql11 = spip_query(« SELECT valeur FROM spip_meta WHERE nom = ’plugin_header’ LIMIT 1 ») ;//modifs (cb)
$result11 = spip_fetch_array($sql11) ;
$ch_meta = $result11[’valeur’] ;
$Tch_meta = explode(’,’, $ch_meta) ;
foreach($Tch_meta as $libelle)
if (substr($libelle,0,13)==« acces_groupes » || substr($libelle,0,12)==« accesgroupes ») $plugin_accesgroupes = 1 ;
/*
// version compatible >= 1.9.2... nettement plus sure : on teste la présence de la constante chemin_du_plugin
// et non pas le nom du dossier de plugin stocké dans spip_meta
if (defined(_DIR_PLUGIN_ACCESGROUPES))
$plugin_accesgroupes = 1 ;
fin modifs(cb) */
Attention les numéros des lignes modifiées ci-dessus tiennent compte de cette modif
Ok merci cool apparemment ça marche quand je créait le répertoire data dans ecrire. :)
Je me demandais où était ce répertoire justement.
Merci beaucoup.
En fait j’ai pas d’hébergeur j’ai mon propre serveur, je pensais que j’avais pas les bon droits quelque part. Mais apparemment le répertoire data n’était pas là. :)
Maintenant ça upload bien, j’ai un problème avec mon csv mais je pense m’en sortir. ;)
Merci encore ;)
C’est bon ça marche, ça créait bien les visiteurs à partir d’un csv.
J’utilise le plugin accés restreint par groupes.
Savez-vous si on peut mettre un groupe d’accès pour les visiteurs ?
Merci d’avance et encore merci pour votre aide.
Bonjour,
Même problème et même solution. Il serait intéressant d’intégrer ses modifications et de publier une version du plugin pour SPIP 1.9.2.
Bonjour
Une précision, j’ai aussi spip 1.9.2 j’avais fait les modifs indiquée ci-dessus mais j’avais tjrs le message exec/csv2spip introuvable, en fait il le trouvait bien mais n’interprétait pas le code php qui était affiché comme du texte dans la page ecrire/ ?exec=csv2spip
Car au début du fichier csv2spip.php il n’ y a que
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 :
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.
Suivre les commentaires : |