SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

106 visiteurs en ce moment

fontsizeup fontsizedown
[18 commentaires]

Comment ajouter beaucoup d’auteurs en même temps

Plugin "Importer des auteurs" v-0.5

Utile pour une migration, un ajout en nombre de nouveaux auteurs etc...

jeudi 5 juillet 2007, par Yves Tannier

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati
0 vote

On a parfois besoin d’ajouter un grand nombre de rédacteurs. Ce plugin le permet simplement depuis un fichier de type csv (Comat Separated Value) placé dans ecrire/data

Notes : il est vivement conseillé de sauvegarder la table spip_auteurs avant cette manipulation. Sachez également qu’une contribution similaire est disponible sur Spip-contrib. Il s’agit de Gestion des auteurs (anciennement csv2spip).

Réalisé à la base pour un SPIP 1.6, je l’ai modifié pour une version 1.9.1 et packagé en plugin.

Ce que fait le plugin

  • Création des auteurs avec les informations standards : nom (signature), email, bio (non testé avec des longues bio), PGP, nom du site, adresse du site, statut et éventuellement identifiant et mot de passe (sinon, ces informations sont générées par le plugin) ;
  • Si l’identifiant n’est pas précisé dans le fichier .csv, génération d’un identifiant à partir du nom. Le script supprime les caractères spéciaux, espace ect... Par exemple Yves TANNIER devient yvestannie (10 caractères maxi). Cette fonction peux facilement être réécrite ;
  • Vérifie qu’il n’y a pas de doublon au niveau de l’identifiant. Si doublon il y a, l’utilisateur n’est pas ajouté et la ligne du tableau récapitulatif affiche le message « déjà enregistré » ;
  • Si le mot de passe n’est pas précisé dans le fichier csv, génération d’un mot de passe aléatoire. Cette fonction peux facilement être réécrite. Il est également possible d’avoir un mot de passe identique au login généré par le script ;
  • Récapitulatif des enregistrements sous forme d’un tableau HTML et éventuellement d’un autre fichier csv contenant les nouveaux identifiants et mots de passe. A utiliser copier-coller pour réaliser votre publipostage !

Installation

L’installation ce fait comme tout les plugins. Je n’ai pas ajouté de bouton dans l’interface privé vu qu’on ne l’utilise pas tous les jours. L’accès se fait donc par l’url : http://www.monsite.com/ecrire/?exec...

Ce plugin est noté en version "expérimental" mais déjà testé avec succès en production.

GZ - 4.8 ko
Plugin "Importer des auteurs"
A mettre dans le répertoire "plugins"

Format du fichier CSV

Votre fichier doit donc être un fichier de format CSV (Commat Separated Value). Le caractère de séparation des champs doit être le «  ; » (il est cependant possible de le préciser au chargement). Les champs ne doivent pas être entourés par des guillemets.

Pour la création de ce fichier, utilisez plutôt le logiciel libre OpenOffice Calc que Excel. Ce dernier ne réalise pas correctement la conversion en format CSV simple et standard et risque de vous poser quelques soucis.

Le fichier doit donc ressembler à ça si, une fois crée avec OpenOffice, vous l’éditez avec un simple éditeur de texte :

TANNIER Yves;webmaster;yves@mondomaine.tld;mon super site;http://www.grafactory.net/blog/;pgp;1comite;
LINUS Torvald;noyo;linus@linux.org;site web;http://www.linux.org;;1comite;

La dernière valeur correspond au niveau de rédaction : "1comite" représente un niveau rédacteur. "0minirezo" pour un administrateur.

Il est possible d’ajouter une 8ème et une 9ème colonne qui contiendront respectivement les identifiants et les mots de passe de vos utilisateurs si vous ne souhaitez pas que le plugin les génère lui même.

TANNIER Yves;webmaster;yves@mondomaine.tld;mon super site;http://www.grafactory.net/blog/;pgp;1comite;identifiant;motdepasse;
LINUS Torvald;noyo;linus@linux.org;site web;http://www.linux.org;;1comite;monlogin;monpass;

Il est primordial de respecter l’ordre des champs et d’avoir dans tous les cas les 7 premières (donc jusqu’au statut) colonnes même vide ! Je vous conseille de créer une première ligne avec les entêtes des colonnes, puis de la supprimer avant l’enregistrement de votre fichier CSV définitif.

A propos du code source du plugin

Notez que j’ai essayé de commenter assez précisément le code source de ce plugin afin de permettre à toutes personnes ayant quelques connaissances en PHP de modifier le code en fonction de ces besoins.

On retrouvera notamment en début de code :

  • des variables qui peuvent être modifiées
  • une fonction faireLogin de génération du login qui peut être réécrite
  • une fonction MDP de génération du mot de passe qui peut également réécrite.

Note complémentaire

  • ne vérifie pas la validité syntaxique de l’adresse email
  • n’utilise pas la fonction de génération de mot de passe de SPIP (pas trouvé).

P.-S.

Note de l’équipe de Spip-Contrib

Cet article est publié avec les précisions suivantes :
- ce plugin touche à la sécurité de votre site, attention au niveau de compétence requis (voir les mots clefs), ce plugin n’est clairement pas destiné a des débutants
- il faut vraiment tester qu’il n’est pas possible par une fausse manipulation d’effacer les comptes 0minirezo (admins)
- il est vivement déconseillé d’utiliser ce plugin sans avoir *vraiment* les moyens et l’habitude de bidouiller avec phpmyadmin. En effet les conséquence d’une erreur peuvent vite devenir ingérable autrement. Par exemple si l’on créé 150 ou 1000 auteurs avec ce plugin, s’il y a un problème, alors il est difficile de corriger l’erreur en quelques clics si l’on utilise que l’interface SPIP d’admin du site ...
- cette contrib est quand même validée pour qu’il y ait plus de retours d’expériences ... merci d’avance de témoigner de vos essais sur ce forum

Retour en haut de la page

18 Messages de forum

Voir toute la discussion

Pages 1 | 2

  • Répondre à ce message

    25 mai 19:25 , par farid

    J’ai identifié le même problème. Spip 1.9.2c et dernier version du plugin. La manip de Patrick fonctionne à merveille. Attention également bien désactiver l’option guillemets ("") pour encadrer les champs lors de l’export en cvs. Sinon un grand merci à l’auteur. J’ai pu entré plus de 300 adhérents sur un site restreint, mot de passe compris sans le faire à la main !

  • Répondre à ce message

    3 mars 08:51 , par jacques

    je me suis apercu qu’il y avait un retour à la ligne en trop dans le champ ’statut de l’auteur", et donc l’auteur n’est pas reconnu par spip même s’il est présent dans la base, pour éviter cela il faut utiliser la syntaxe complète : par exemple pour mes auteurs visiteurs je termine la ligne avec tout les champs, même vide, ce qui donne

     ;6forum; ;;

  • Répondre à ce message

    28 février 17:14

    Bonjour

    même problème que jacques mais je ne comprend pas pourquoi ?

    Quelqu’un pourrait ’il m’aider ?

    merci

  • Répondre à ce message

    3 janvier 18:16 , par jacques

    bonjour je teste le plug in (Version : 0.5 | expérimental) sur un site 1.9.2c mon fichier csv est correct ; l’import se passe bien, j’ai bien la fenêtre résultat qui apparait et si je vérifie avec PHpMyAdmin, les enregistrements sont bien créez dans la table spip_auteurs mais je ne vois pas les auteurs dans l’administration de spip ? aurais je louper quelquechose ?

  • Répondre à ce message

    19 décembre 2007 11:08 , par Yves Tannier

    Arf ! Je suis désolé. beaucoup de boulot en ce moment mais les améliorations sont sur ma "todo list".

    Yves

  • Répondre à ce message

    15 décembre 2007 12:05

    Bonjour

    Pour ne pas avoir à ajouter le ; à la fin de mes 250 lignes, j’ai tout simplement inventé un champ supplémentaire avec "vide" dedans. Puis en ouvrant le fichier avec BlocNotes ou Kedit remplacer "vide" par un vrai vide et le tour est joué.

    Merci

    —  Patrick

  • Répondre à ce message

    27 novembre 2007 13:19 , par henri

    Bonjour à tous,

    J’ai vainement tenté de créer un répertoire "plugins" pour y voir celui-ci et me suis donc résigné à copier l’exécutable dans le répertoire ecrire/exec : si je pouvais être éclairé à ce sujet... pour info:Le fichier csv respecte les caractères accentués lorsqu’on le sauve au moyen de notepad en format UTF-8. J’ai ajouté un champ "bidon" pour éviter le problème du point-virgule et ai supprimé la génération du login et du mot de passe pour utiliser ceux de ma table d’importation. Tout fonctionne comme je le désirais. Un grand merci pour un SPIP installé dans l’urgence : école oblige !

  • Répondre à ce message

    23 novembre 2007 12:04 , par YvesTan

    Je vais jetter un oeil sur cette histoire de point-virgule à la fin des fichiers... de mémoire, je fais un explode sur le point-virgule. Ce qui ne devrait pas poser de problème si il n’y a pas de " ;" à la fin...

    Je regarde ça dans le WE.

  • Répondre à ce message

    23 novembre 2007 10:31 , par Patrick

    Je me réponds à moi même, l’asile n’est pas loin...

    Cela m’a fait tilt quand j’ai relu mon précédent message. Que ce soit Excel ou Calc, aucun ne met de point-virgule après le dernier champ.

    Or pour mettre les colonnes en ordre c’est plus facile avec Excel ou Calc. J’ai retenté un import en ajoutant le point virgule à la fin avec le blocnote et ça passe.

    N’est-ce d’ailleurs pas un tout petit défaut du plugin car j’importe souvent des csv qui n’ont jamais de point-virgule à la fin pourtant tout se passe bien.

    —  Patrick

  • Répondre à ce message

    23 novembre 2007 09:47 , par Patrick

    Bonjour

    En effet ! Le login est le bon puisqu’il diffère parfois du simple nom (nom+première lettre du prénom en cas d’homonymie) ; l’auteur est reconnu ; mais quand j’entre le mot de passe, on me dit qu’il n’est pas bon. Le problème est que je ne peux pas voir (ou alors je ne sais pas faire) quel est le mot de passe que Spip a dans ses tables. mais j’imagine que c’est un mdp crée par le plugin.

    Bien entendu si je change le mot de passe et que je mets celui de mon csv, ça passe. Certes je peux modifier mes 30 comptes mais je comptais utiliser aussi ce plugin sur un autre Spip où j’ai environ 200 comptes à créer...

    Je n’ai pas le csv ici (lundi matin je pourrai vous le donner) mais il n’a rien de bien original : j’ai respecté vos indications et les deux dernières colonnes sont : login ;motdepasse

    —  Patrick

Pages 1 | 2

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0