[Résolu] Cloisonnement de contenu et utilisateurs

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.

Nouveau parmi vous, je suis ébahi par la simplicité de mise en oeuvre de Drupal.

Je vais opter pour Drupal pour construire un intranet. Pour l'instant je réussis à tout faire sauf la gestion des restrictions d'accès aux contenus.

MON EXEMPLE :

Un employé du service financier pourra :
- voir la partie "intranet" du site, visible par tout les employés
- voir et contribuer dans la partie "finances" du site
- il ne pourra rien voir d'autre
- ses contributions devront être révisées par le "directeur financier" avant publication

Le directeur du service financier pourra :
- voir la partie publique du site, visible par tout les employés
- voir et contribuer dans la partie "finances" du site
- voir toutes les autres parties du site (sans pouvoir y contribuer)
- voir et contribuer dans la partie "comité de direction" du site (comme tous les autres directeurs de services).

MA QUESTION :

Je n'ai pas bien compris comment gérer les contraintes présentées dans mon exemple dans la structure de mon site ?
- "employé du service financier" est-il un rôle ?
- "finances" est-il un terme ?
- "comité de direction" est-il également un terme ?
- membre du comité de direction" est-il un rôle ?

Merci de votre indulgence... je tourne en rond sur les différents sites de documentation sans trouver réponse à cette question.

Hello,

Le plus simple, à mon avis est de faire des types de noeuds différents (CCK). Un type "tous", un type "finance", "production", ...
Puis tu fais des rôles "finance", "production", ... un rôle par département.
D'associer les droits d'accès des types et les rôles

Seulement, si je comprends bien, tes directeurs peuvents avoir des permissions
particulières.
Si c'est le cas, tu peux créer un rôle "directeur" dont la caractéristique est de tout lire, mais de ne rien pouvoir changer.

Le directeur des finances aura deux rôles :

  • "finance" ce qui lui permettra de changer dans son domaine
  • "directeur", ce qui lui permettra de tout lire

Mais cela dépends de ton site.

EM

Merci EM pour ta réponse très claire. Je vais aller dans cette direction ! Je n'avais pas pensé à la stratégie qui consiste à multiplier les types de noeuds. Dans ta réponse tu parles du CCK pour créer les types de contenus, mais dois-je vraiment utiliser le kit pour les créer ? Il me semble que je peux tout faire depuis l'interface core de Drupal.
Merci encore !
Vax

Par contre, les restrictions d'accès portent sur les modifications de type de contenu (création, édition, suppression).

Par défaut, les contenus sont visibles par tout le monde.

Il faudrait en plus ajouter un module comme nodeaccess ou content_access pour limiter les accès en lecture.

J'ai déjà installé content_access, et effectivement ça marche.
Est-ce que l'invisibilité des content-types définie via content_access s'appliquera automatiquement aux entrées de menus des nodes concernés ?

Hello,

Personnellement j'utilise taxonomy_access plutôt que content_access(parce que je l'utilisait pour d'autres raisons). Avec taxonomy_access,les menus ne s'adaptent pas.
Ce que tu peux faire, c'est mettre les menus spécifiques dans des block, eux, peuvent être paramétrés pour n'être visible que par un rôle.
em

Pas besoin de CCK pour créer des types de contenu différents. Drupal sait faire de base. Mais comme en général tout le monde installe CCK juste après Drupal, les gens l'oubli :)
L'utilisation de CCK est requise uniquement si tu as besoin d'ajouter des champs sur un type de contenu.