Un contenu avec des annotations personnelles

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 voudrais créer une type de contenu un peu spécial qui afficherait la page selon que l'user est administrateur ou d'un autre type d'utilisateur. En gros offrir à l'administration un confort supplémentaire en proposant la possibilité d'annoter un mot ou un paragraphe du contenu en chacun de ses points (voir plus bas pour mieux me comprendre).

Ce paragraphe est lisible à tout à chacun, les visteurs anonymes comme les enregistrés ainsi que les différents rôles... Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Ce paragraphe là est visible que de l'administrateur... Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.Ce passage est visible par tous et on reprend avec du texte caché Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.

Ce paragraphe est lisible à tout à chacun, les visteurs anonymes comme les enregistrés ainsi que les différents rôles... Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ce paragraphe là est visible que de l'administrateur... Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.

visible

masqué

visible

masqué

visible

masqué

Auriez-vous des pistes pour faire quelque chose de simple ?
J'avais pensé à mettre deux classes CSS en place, dans le genre : .admin et .others et que php vienne désactiver .admin dans le contenu avant de l'afficher lorsque l'user n'est pas administrateur.

L'idée est là... par contre le code... Je continue mes tests

Version de Drupal : 

Salut,

Les classes CSS, c'est moyen en terme de sécurité : le texte sera toujours présent dans le code source de ta page, même s'il n'est pas affiché.

Le plus propre serait de créer un filtre (en créant un module qui implémente le hook_filter()) qui implémente de nouvelles balises HTML qui permettent de limiter la visibilité du texte qu'elles encadrent en fonction du rôle de l'utilisateur en cours, par exemple :

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. <admin>Ce passage est visible uniquement par les admins.</admin> Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. <webmaster>Ce passage est visible uniquement par les webmasters.</webmaster>

Chaque noeud est filtré avant d'être affiché. Si ton filtre est actif, il aura donc l'opportunité de faire disparaître :
- tout le texte qui se trouve dans <admin> ... </admin> si l'utilisateur n'est pas admin
- tout le texte qui se trouve dans <webmaster> ... </webmaster> si l'utilisateur n'est pas webmaster
- ...