Gestion des droits utilisateurs complexes

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je suis débutante Drupal et j’utilise actuellement la version 6 de Drupal.
Voici mon projet assez complexe :

Je travaille pour une entreprise avec plusieurs subdivisions. Je veux créer un site entreprise (par exemple entreprise.com) et pour chaque subdivision d’entreprise une sorte de sous site avec un url spécifique (ex. : subdivision1.entreprise.com).

Les sous sites ont la même structure (même thème, mêmes blocks, mêmes menus) mais le contenu de certains de ces éléments est différents. Les sous sites sont essentiellement composés d’un top menu, des blocks à gauche et à droite et des articles.

Je serai le super administrateur du site et des sois disant sous sites. Il y aura également un utilisateur par sous site qui a accès à la modification uniquement des articles déjà crées de son sous site et à la modification des blocks déjà existants (de son sous site évidemment).

D’après moi vu l’accès très restreint des utilisateurs à la modification de leur sous site nous n’avons pas besoin de créer un multi site. Donc je créerai, dans le même Drupal, autant des pages et d’objets liés à ces pages que j’ai des sous sites.

Par contre, quelle sera la modalité pour définir les droits d’accès utilisateurs qui permettent de modifier uniquement certains blocks et certains articles ?

Version de Drupal : 

Intéresse-toi tout de même au multisite car tu peux faire des multisites partiels, partageant certaines tables d'une même base de données. Cela te permettra de faire des sections sans devoir utiliser de module spécifiques. Un peu de lecture (anglophone) : http://drupal.org/node/43816

Jette un oeil également au module Domain Access et tous ceux qui l'accompagnent / le complètent. Je pense qu'il te conviendrait assez bien car on peut faire en sorte (sauf erreur) qu'un utilisateur ne puisse agir que sur le domaine auquel il est affecté. Je crois qu'il existe aussi un module Sections mais je ne le connais pas.

Avant de prendre une décision sur la marche à suivre (et d'évacuer une solution), je te suggère de passer un peu de temps sur les solutions possibles.

Difficile de donner "la" solution. Il en existe des tonnes!

En effet, comme le dit Marie-Hélène, Domain Access est particulièrement puissant, il peut donner les droits pour un sous-domaine propre, et beaucoup d'autres choses (design, blocs...).

Il existe aussi un module qui s'appelle Virtual Site, qui pourrait t'intéresser. A tester...

Sinon, si tu ne veux vraiment pas de multisite et si Virtual Site ne répond pas à tes attentes (pour ma part cela fait un bout de temps que je ne l'ai retesté), voilà ce que j'aurais fait :
Notons d'abord que le vrai problème que tu poses, c'est la modification des blocs. Je passe sur les sous-sites avec des articles : il suffit d'avoir une vue pour chaque page d'accueil des sous-sites (par ex. un rôle par sous-site, et affichage de tous les articles des utilisateurs ayant ce rôle). Tu peux installer SubDomain qui fonctionne avec pathauto pour créer des alias spécifiques si tu veux (optionnel). La modif sélective des articles est simple : permission de créer et modifier/supprimer uniquement les contenus créés par soi-même (cf. dans la page des droits d'accès). C'est un peu plus compliqué si tu veux que toutes les personnes ayant un rôle puisse modifier un ensemble d'article (tu risques alors d'avoir à créer un contenu par sous-site et ta vue devient un affichage par type de contenu).

Le vrai pb, disais-je, est la modification des blocs. Impossible de ne donner accès qu'à la modification de certains blocs. Mais il est toujours possible de donner accès à la modification d'un contenu, lui-même affiché dans un bloc (par ex. par Views). Ensuite, l'affichage du bloc sur les bonnes pages se fait via pathauto et une restriction des blocs.

edit : le module Section permet d'afficher un thème différent en fonction de l'adresse (ou code PHP). Je ne suis pas sûr que ce soit ce que tu recherche, à moins de "dupliquer" ton thème en autant de sous-site...