WordPress: publier des articles et des pages privés (part 1)
J’ai eu aujourd’hui besoin de faire une maquette pour un nouveau site, destiné à un public à accès restreint et authentifié. Voyons voir ce que WordPress propose en standard…
De la visibilité des articles et des pages
Pour commencer, je me suis intéressé à la propriété de publication des articles et des pages : la visibilité.
Les articles étant par défaut en « public« , essayons tout d’abord « Protégé par mot de passe« . Bon, autant vous dire que c’est totalement inutilisable.
Passons à la suite, « Privé« . Ça s’annonce mieux dans l’esprit. l’article marqué ainsi est invisible lorsque l’on est pas connecté.
L’administrateur le voit bien sûr, mais quid d’un membre du site non administrateur ?
Mais avant d’aller plus loin, je tombe sur un os de taille. En fait un blocage rédhibitoire : passez une page en mode « privé » et CRACK! le site est cassé, un superbe redirection vers Free.fr avec la classique page « Erreur 500« … Mais que s’est -il passé ? Et bien le fait d’enregistrer une page avec le statut « privé » à tout simplement généré un fichier .htaccess à la racine du site, et le code généré n’est pas autorisé chez Free.fr.
Donc retour à la sauvegarde – fin des tests en mode « privé« ….
Faites ce que je dis, pas ce que je fais…
En parallèle je me suis mis à tester les rôles proposés par WordPress, associé à un article marqué comme « Privé ». Oui, je sais, je viens de dire que c’est inutilisable, mais bon, je voulais connaitre la corrélation avec les rôles WordPress.
Voici un petit tableau récapitulatif des rôles et de leurs effets sur un article « privé »
|
Permission – Rôle |
Effet |
|
Aucun rôle dans ce blog |
L’utilisateur peut s’authentifier, mais il arrive sur |
| Abonné | Les articles privés sont invisibles |
|
Contributeur |
Les articles privés sont invisibles |
| Auteur |
Les articles privés sont invisibles |
|
Editeur |
Les articles privés sont visibles, mais les droits sont trop élevés et avec ce rôle les membres peuvent modifier vos articles. |
| Administrateur | Heu… il faut être inconscient pour mettre ses membres administrateur, non ? |
Visiblement, la solution n’est pas là.
Essayons de voir se qui se fait ailleurs…
Pourquoi réinventer la roue ? Voici une extension qui permet de masquer tout ou partie d’un article, visible seulement pour les membres connectés:
http://wordpress.org/extend/plugins/hidepost/
Pas mal, mais elle est très rudimentaire : ajout d’une balise dans le texte des articles.
Eurêka !
J’ai trouvé mon bonheur dans cette extension: wpnamedusers.
http://wordpress.org/extend/plugins/wpnamedusers/
Elle ajoute deux réglages dans l’administration du site :la création de groupe de permission, et l’ajout d’utilisateur (déjà existants) dans ces groupes.
Pour l’utiliser, il suffit ensuite de créer/modifier un article ou une page, et en bas des propriétés se trouve deux propriétés qui, si elles ne sont pas utilisées, laissent l’article ou la page en mode « public » classique. Si par contre vous choisissez de cocher un groupe d’utilisateur précédemment créé, l’article ou la page devient visible uniquement à ce groupe (et point de .htaccess sauvage en vue
). Même une recherche ne montrera pas l’article.
Seule petite modification est à apporter manuellement, afin d’empêcher les commentaires sur ces articles/pages à accès restreint d’apparaitre dans les commentaires récents du site à un visiteur anonyme. L’auteur l’a décrit dans son blog : http://wordpress.sundskard.dk/archives/119/comment-page-1
Dernier point, la désactivation de l’extension ne supprimera pas les trois tables qu’elle a créé à l’installation. Il vous faudra les supprimer manuellement dans l’administration SQL.
La suite ?
Comme la dicussion associée le montre, cette extension à quelques lacunes, notamment lorsque de nouveaux articles sont publiés, il faut appliquer les permissions. De même, de nouveaux utilisateurs abonnés ne seront pas pris en compte automatiquement.
Mais il existe une alternative ! User Access Management, qui est détaillée dans ce second article à venir prochainement : WordPress: gérer un contenu privé pour ses abonnés (part 2)


Twitter
Facebook
LinkedIn
Plaxo
Youtube
RSS
Commentaires récents