La question de la gestion des droits d’accès tant dans l’interface privée que publique revient régulièrement dans plusieurs listes de discussions. Plusieurs contribs proposent déjà différentes solutions. Alors pourquoi une autre ?
La presque totalité d’entre elles propose de contrôler l’accès à un article ou à une rubrique dans l’interface publique mais pas dans l’interface privée.
De plus, on limite normalement l’accès à la totalité d’une page et non pas à une partie.
Pour offrir une version différente d’une page selon le statut de l’internaute, il faut souvent créer plusieurs pages.
Plusieurs demandent la création et l’ajout à vos pages existantes de nouveaux mots-clés.
Elles impliquent également plusieurs modifications à vos squelettes.
Cette contrib ne demande aucune modification à vos squelettes actuels ni aucune modification au coeur de SPIP.
Elle permet d’afficher, tant dans l’interface privée que publique, n’importe où à l’intérieur de vos textes, un contenu différent selon le statut de l’internaute par l’utilisation de tags au moment de la rédaction de vos textes et ce, sans mot-clé.
Ce sont les tags
Comment ça marche?
Les tags <statut></statut> ou « bloc statut » sont librement inspirés des tags ou « bloc multi » <multi></multi> de SPIP. Ils permettent d’afficher, tant dans l’espace privé que public, des contenus différents selon le statut de l’internaute.
On peut utiliser ces tags dans :
les articles [1]
les rubriques [2]
les brèves [3]
les auteurs [4]
les sites référencés [5]
Exemple d’utilisation du « bloc statut » :
Deux possibilités d’affichage pour l’administrateur dans l’interface privée
Afficher seulement la version réservée aux administrateurs. Si elle n’existe pas, afficher la version réservée aux Rédacteurs. Si elle n’existe pas, afficher la version réservée aux Visiteurs.
![]()
Afficher toutes les versions. Si elle existe, afficher la version réservée aux Administrateurs. Si elle existe, afficher la version réservée aux Rédacteurs. Si elle existe, afficher la version réservée aux Visiteurs pour l’interface publique. Si elle existe, afficher la version pour les personnes non identifiées pour l’interface publique.

Une seule possibilité pour le rédacteur dans l’interface privée
Si elle existe, afficher la version réservée aux Rédacteurs. Si elle n’existe pas, afficher la version réservée aux Visiteurs. Si elle n’existe pas, afficher la version pour les personnes non identifiées pour l’interface publique. Si elle n’existe pas, ne rien afficher.

Chaque version est identifiée dans l’interface privée par les mêmes icônes qui identifient le statut des auteurs. Pour la version publique, on a choisi le +.
Et dans l’interface publique?
Les partie de texte contenues dans le « bloc statut » ne seront affichées dans l’interface publique que pour les personnes ayant le statut requis.
Où peut-on utiliser le « bloc statut »?
Le « bloc statut » peut être utilisé partout où est utilisable actuellement le « bloc multi »
Qui peut avoir besoin du « bloc statut »?
Ses particularités peuvent répondre aux besoins de certains sites qui désirent limiter l’accessibilité de certaines informations aux seuls administrateurs du site dans l’interface d’administration. En effet, ceci n’est pas encore possible, même avec la nouvelle version 1.8.2.
Imaginons un site corporatif qui veut ouvrir l’espace de rédaction de son site SPIP à des consultants extérieurs, sans leur révéler certaines listes de prix ou contacts. L’auteur administrateur n’aura qu’à mettre l’information entre tags <statut>[ad]...</statut> pour en limiter l’accès aux administrateurs identifiés même dans l’espace privé.
Procédures
Option 1 :
Téléchargez le fichier mes_options.php3.txt

- Fonctions pour les blocs statuts
- Placez ce fichier dans le dossier ecrire de votre site renommez-le sans l’extention .txt ou copier/coller son contenu dans votre fichier mes_options.php3 s’il existe déjà.
Copiez et collez son contenu dans votre fichier mes_options.php3 dans le dossier ecrire s’il existe déjà.
Sinon, copiez et collez le ficher dans le dossier ecrire et renommez-le fichier en supprimant l’extension .txt (mes_options.php3) .
Téléchargez le fichier mes_fontions.php3.txt

- Fonctions pour les blocs statuts (15/10/2005)
- Placez ce fichier dans le dossier ecrire de votre site renommez-le sans l’extention .txt ou copier/coller son contenu dans votre fichier mes_options.php3 s’il existe déjà.
Copiez et collez son contenu dans votre ficher mes_fonctions.php3 à la racine de votre site spip s’il existe déjà.
Sinon, copiez et collez le ficher à la racine de votre site spip et renommez-le fichier en supprimant l’extension .txt (mes_fonctions.php3) .
Option 2 :
Suivez l’explication des modifications suivantes et modifiez vous-même les fichiers déjà en place sur votre site.
Explications des modifications
Nous allons créer un jeu de fonctions directement inspiré de celui permettant d’utiliser les tags <multi></multi> où on remplacera la vérification de la langue par la vérification du statut de l’internaute.
Fichier mes_options.php3 (dossier ecrire)
Pour conserver dans le système cache des versions différentes selon le statut de l’internaute, on ajoute dans l’url de la page la variable statut en saisissant automatiquement la valeur dans la variable $GLOBALS[’auteur_session’][’statut’]) .
Il est impossible de passer manuellement une valeur erronnée. Merci à Mortimer pour cette astuce.
Fichier mes_fonctions.php3 [6]
À vous de jouer!
Merci de nous aider à améliorer cette contrib en nous signalant toute amélioration possible dans le code ou dans nos explications.

