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...

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=auteurs_import

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

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 8e et une 9e 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é).

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

Discussion

Aucune discussion

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