SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 278 visiteurs en ce moment

Accueil > Auteurs, authentification et autorisations > Gestion des auteurs en nombre > Csv2spip : importation des auteurs > Archives Csv2spip > csv2spip : gestion des utilisateurs de SPIP à partir de fichiers (...)

csv2spip : gestion des utilisateurs de SPIP à partir de fichiers CSV

20 janvier 2006 – par cy_altern – 15 commentaires

1 vote

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

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

Les nouveautés de la version 2.2 sont signalées par un : [v2.2]

Objectifs :

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 système à été testé sur des établissements de + de 1000 élèves et 90 profs).
-  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.
-  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 de nouveaux arrivants. De plus, selon les établissements, les mots de passe des élèves doivent pouvoir êtres 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 êtres récupérées à partir d’une base de donnée indépendante de SPIP [1]
. 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.

L’idée de base était donc de « squizzer » le gestionnaire des utilisateurs de SPIP (qui se serait tapé 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...).

Téléchargement de la dernière version :

Zip - 13.5 ko
csv2spip version 2.2

version la plus récente : csv2spip_v2.2

Installation à partir du package csv2spip.zip :

0. faites une SAUVEGARDE de votre SPIP AVANT toute utilisation de csv2spip !!! En utilisant cet outil, vous assumez le fait que les choses peuvent mal se passer et que serez peut être obligé de restaurer votre base de donnée...

1. décompactez csv2spip, copiez csv2spip.php, csv2spip_modele.csv et ce fichier (csv2spip_lisez_moi.txt) dans le répertoire /ecrire de votre spip

2. copiez csv2spip-24.gif dans /ecrire/img_pack

3. Faites une copie de sauvegarde de /ecrire/auteurs.php3 (en auteurs-dist.php3 par exemple) puis éditez le fichier auteurs.php3 et ajoutez la ligne ci-dessous juste après la ligne qui doit débuter par le code suivant : icone_horizontale(_T(’icone_informations_personnelles’)... (aux alentours de la ligne 62)

ligne à ajouter :
icone_horizontale(’Importation de rédacteurs depuis un fichier CSV’, ’csv2spip.php’, « csv2spip-24.gif », « csv2spip-24.gif ») ;

bouton supplémentaire dans les raccourcis Remarque pour les contempteurs de la « non-intrusion » dans le code source de SPIP pour cause de complication des upgrades de versions :
cette étape n’est pas indispensable, elle permet simplement d’ajouter un raccourci vers l’outils csv2spip dans l’interface d’administration des auteurs.
Alternativement vous pouvez vous passer de ce lien en appelant directement le fichier /ecrire/csv2spip.php dans votre navigateur.
A titre d’exemple vous disposez dans ce package d’une copie du fichier auteurs.php3 obtenu (auteurs-modifie_csv2spip.php3) => vous pouvez utiliser directement cette copie pour remplacer votre fichier auteurs.php3 si la version de votre SPIP est 1.8

4. rendez-vous dans /ecrire/auteurs.php3 en administrateur (général ou rubrique) pour avoir accès à l’outil et aux explications sur le format du fichier CSV à utiliser

5. Conditions d’utilisation : cet outil à été testé sur les versions 1.6, 1.7 et 1.8 de SPIP avec un fichier CSV contenant près de 1000 utilisateurs (874 élèves, 98 profs répartis dans 16 disciplines), sur des serveurs apache sous Linux et sous Windows => à priori vous ne devriez pas rencontrer de problèmes si votre fichier CSV est correctement formé...

Utilisation :

L’interface de saisie du fichier CSV propose un certain nombre d’options qui sont directement commentées : voir la capture d’écran ci-dessous :

JPEG - 74.1 ko
interface de saisie toutes options visibles

Un système de gestion des erreurs est intégré pour chaque étape et affiche un résumé à la fin du processus. Si tout se passe bien vous devriez obtenir quelque chose d’équivalent à la capture d’écran suivante :

JPEG - 86.9 ko
Résumé généré à la fin du processus

Caractéristiques du fichier CSV des utilisateurs à importer :

Ce fichier sera fabriqué à partir du fichier d’extraction des comptes de IACA ou d’un fichier CSV équivalent.
Rappel : un fichier CSV (Comma Separator Value) 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. 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).

[v2.2] 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.

Pour le fichier csv2spip_modele.csv fourni comme exemple, cela donne :

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

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édateurs (groupe ELEVES par défaut mais REDACTEUR sera plus adapté si vous n’avez pas de contraintes liées à l’import d’un fichier venant d’une autre application) de ceux qui seront administrateurs de rubriques (groupe PROFS par défaut). Si ce champs est vide, les utilisateurs seront rédacteurs.
  • « ss_groupe » : le sous-groupe
    • pour les élèves = la classe (facultatif)
    • pour les administrateurs c’est le nom de la rubrique qu’ils administreront. Sous IACA : la discipline pour les profs. Ce champ est obligatoire si on veut la création automatique des rubriques par sous-groupe et que les membres du sous-groupe en soient administrateurs
  • « pass » : le mot de passe (si 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, à priori vous n’avez pas à vous en soucier)

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

Zip - 1.2 ko
modèle de fichier CSV

Un modèle de fichier CSV : csv2spip_modele.csv

Utilisation « autonome » de csv2spip.php

Il est possible d’utiliser csv2spip en tant que fichier autonome (c’est à dire à l’extérieur du répertoire /ecrire du spip) ou en tant que plug-in dans un autre CMS.

Pour cela il faudra éditer le début du fichier csv2spip.php et procéder aux modifications pour activer l’option 1 et définir les paramètres de votre base de donnée, ce qui doit donner un code qui ressemble à ça (exemple pour une installation standard sur un easyphp de test) :

To do :

-  La gestion des mises à jour des administrateurs de rubriques

Notes

[1csv2spip à é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.

Dernière modification de cette page le 8 avril 2008

Retour en haut de la page

Vos commentaires

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Mailsubscribers

    16 janvier 2013 – 274 commentaires

    Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email. Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes (...)

  • noiZetier v2

    9 novembre 2012 – 36 commentaires

    Le noiZetier offre une interface d’administration permettant d’insérer au choix des éléments modulaires de squelettes (noisettes) et de les ajouter ainsi à ses squelettes. Compatibilité La version 2 du noizetier fonctionne sous SPIP 3. Elle est (...)

  • cirr : plugin « rédacteur restreint »

    29 octobre 2010 – 60 commentaires

    Ce plugin « cirr : rédacteur restreint » permet d’affecter des rubriques aux rédacteurs et modifie les droits afin qu’un rédacteur restreint (ou un administrateur restreint) voit dans l’espace privé uniquement les rubriques qui lui sont affectées (et leur (...)

  • Un retour d’expérience d’utilisation de Formidable

    26 octobre – commentaires

    Il s’agissait de créer un formulaire d’inscription à un évènement modérer les inscriptions dans le privé publier les inscriptions dans le public Nous avons discuté de cette présentation lors de l’apéro SPIP du 15 février 2016 à la Cantine (...)

  • Métas +

    3 décembre – 14 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

Ça spipe par là