Formations et ressources pour les TICE - ESPE Aix-Marseille          
[admin] Inscription en masse d’utilisateurs à une zone d’accès restreint : le plugin CSV Import

Problématique :

Dans un SPIP d’établissement scolaire on envisage la situation "standard" dans laquelle :

La génération de ces centaines de comptes et leur mise à jour annuelle est gérée via le plugin csv2spip : cf [admin] Importation des comptes utilisateurs dans les applications web de l’établissement.

Faire une zone d’accès restreint dans un SPIP d’établissement scolaire qui comprendra plusieurs dizaines (voire centaines) d’utilisateurs autorisés, exemples :

Si la création de ces rubriques à accès réservé est réalisable sans problème avec le plugin accès restreint, le problème principal est que la version compatible SPIP 1.9.2 oblige à donner les autorisations aux auteurs un par un en passant par la page de configuration de leur compte.
Si on peut le faire pour des zones attribuées à quelques comptes auteurs (2 ou 3), il paraît totalement exclu de le faire pour des dizaines ou centaines d’auteurs !

Par ailleurs on exclu la "solution de facilité" qui consiste à créer un compte auteur "partagé" pour chacune de ces zones : non seulement cette solution n’est pas sérieuse d’un point de vue sécurité (le mot de passe du compte finira forcément par être divulgué publiquement) mais en plus elle n’est pas compatible avec le fait que chaque compte utilisateur doit pouvoir être associé avec plusieurs zones d’accès restreint.

Solution possible : attribution des zones à l’aide du plugin CSV Import

Le plugin "CSV Import" (http://www.spip-contrib.net/Utilisa...) qui permet de faire des imports/exports vers ou à partir de fichiers CSV dans n’importe quelle table de SPIP est donc tout à fait adapté pour faire l’attribution "en masse" d’une zone à un grand nombre d’auteurs.

Pour comprendre le principe de cette manipulation il est faut savoir que l’association des auteurs à une zone d’accès restreint est géré par la table spip_zones_auteurs de la base de données qui stocke des "paires" id_zone / id_auteur :

id_zoneid_auteur
1 23
1 56
1 3
2 45
2 3
... ...
Dans cet exemple on a 2 zones :

Procédure détaillée : exemple de la création de la zone "Salle des profs"

Etape 0 : déclaration des tables manipulables via le plugin CSV Import :
le plugin CSV Import ne peut importer ou exporter que les tables pour lesquelles il est explicitement autorisé. Par défaut (configuration de base du plugin) il n’est associé avec aucune table.

On va donc commencer par autoriser ce plugins pour :

Pour cela on ouvre l’interface de ce plugin : menu Edition > Import CSV > outil Administrer les tables : la liste des tables de SPIP est proposée.
On va donc cocher uniquement pour les administrateurs :

On valide ces choix avec le bouton Enregistrer en bas de page puis on revient à la page d’accueil du plugin CSV Iimport avec le bouton Retour.

1ère étape : création de la zone

2ème étape : récupération de la liste des id_auteur des profs
récupérer la liste des identifiants des profs à partir d’une exportation via le plugin CSV Import :

id_auteurnomstatut
1 admin1 0minirezo
2450 Mr Machin 0minirezo
2776 PROF01 Hortense 0minirezo
2777 PROF02 Marcel 0minirezo
2778 PROF03 Albert 0minirezo
...
2536 ELEVE01 Nadia 1comite
2537 ELEVE02 Guillaume 1comite
2538 ELEVE03 Janique 1comite
...
2772 PARENT117 6forum
2773 PARENT118 6forum
2774 PARENT119 6forum
2775 PARENT120 6forum
...

NB : correspondance des codes de statuts :

Puisque dans notre exemple nous souhaitons autoriser l’accès à la zone Salle des profs pour tous les profs (i.e. les comptes ayant le statut admin), on ne va garder que les lignes ayant le statut 0minirezo.
NB : on peut éventuellement supprimer la ligne de Mr Machin qui est le proviseur de l’établissement et à qui on ne souhaite pas donner l’accès à la zone réservée au profs...

3ème étape : association des auteurs à la zone

id_zoneid_auteur
1 1
1 2450
1 2776
1 2777
1 2778
...

pour importer les auteurs autorisés pour la zone d’identifiant 1, on va donc transformer le fichier extrait à l’étape précédente pour avoir le contenu suivant :

Ce fichier sera enregistré avec les paramètres de formatage suivants (voir [admin] Importation des comptes utilisateurs dans les applications web de l’établissement pour la mise au format d’un fichier CSV) :

On va ensuite pouvoir l’importer dans la table spip_zones_auteurs à l’aide du plugin CSV Import :

Résultats :



[ http://tice.espe.univ-amu.fr/spip/Inscription-en-masse-d ]