Jump to content

Manuel:$wgNamespaceProtection

From mediawiki.org
This page is a translated version of the page Manual:$wgNamespaceProtection and the translation is 100% complete.
Accès: $wgNamespaceProtection
Quels espaces de noms peuvent être édités et par qui ?
Introduit dans la version :1.10.0 (r19110)
Retiré dans la version :Encore utilisé
Valeurs autorisées :(tableau de chaînes)
Valeur par défaut :$wgNamespaceProtection = []; (1.14+)
$wgNamespaceProtection[NS_MEDIAWIKI] = array( 'editinterface' ); (1.10 - 1.13)

Détails

Ce paramètre permet à un wiki de demander des permissions spéciales pour éditer certains espaces de noms. Par défaut, la seule restriction est que l'espace de noms MediaWiki ne peut être édité que par des utilisateurs avec la permission editinterface (par défaut : les sysops).

Les clés de ce tableau sont les numéros des espaces de noms, et les valeurs sont de simples tableaux des noms de permission. Si vous listez plus d'une permission pour un espace de noms, un utilisateur devra les avoir toutes pour éditer les pages dans cet espace de noms.

Depuis la version 1.14, l'espace de noms MediaWiki: est protégé de façon inconditionnelle des utilisateurs avec le droit editinterface (comme dans les versions précédentes). Cela est fixé dans Setup.php et ne peut pas être modifié dans LocalSettings.php car sinon, il serait trop facile de l'initialiser incorrectement et de laisser le wiki non sécurisé. Si vous voulez permettre à d'autres groupes que les sysops de modifier l'espace de noms MediaWiki:, alors accordez-leur le droit editinterface .

Il n'est pas possible de restreindre l'accès en lecture à un espace de noms donné avec $wgNamespaceProtection. (Voir Extension:Lockdown )

Some, but not all methods of watching a page protected with this option may not work.

Cascading protection may not be available to protected namespaces.


Exemple

Restreindre l'édition de l'espace de noms principal

$wgNamespaceProtection[NS_MAIN] = ['edit-main'];

Cela restreint l'édition dans l'espace de noms principal aux personnes dans un groupe qui a la permission edit-main.

Mettre en place des espaces de noms personnalisés avec accès en écriture restreint

define('NS_OFFICIAL', 100);
define('NS_OFFICIAL_TALK', 101);

$wgExtraNamespaces = [
    NS_OFFICIAL => 'Official',
    NS_OFFICIAL_TALK => 'Official_talk'
];

$wgNamespaceProtection[NS_OFFICIAL]      = ['official-edit'];
$wgNamespaceProtection[NS_OFFICIAL_TALK] = ['official-talk-edit'];

$wgGroupPermissions['managers']['official-edit'] = true; // seuls les managers peuvent éditer les pages dans l'espace de noms Official
$wgGroupPermissions['employees']['official-talk-edit'] = true; // les employés peuvent éditer les pages dans l'espace de noms Official_talk
$wgGroupPermissions['managers']['official-talk-edit'] = true; // de même que les managers

Désactiver les pages de discussion

Parce que « nobody » n'est pas un droit d'accès valide du noyau MediaWiki, littéralement personne, même pas les sysops, n'aura l'accès. Notez bien que vous devrez encore supprimer l'onglet avec d'autres méthodes (voir : Manuel:FAQ#Comment ajouter/supprimer des onglets dans mon wiki ? )

# Désactiver la modification dans tous les espaces de noms TALK du noyau en demandant les droits 'nobody' qui n'existent pas
$wgNamespaceProtection[NS_TALK] = ['nobody'];
$wgNamespaceProtection[NS_USER_TALK] = ['nobody'];
$wgNamespaceProtection[NS_PROJECT_TALK] = ['nobody'];
$wgNamespaceProtection[NS_FILE_TALK] = ['nobody'];
$wgNamespaceProtection[NS_MEDIAWIKI_TALK] = ['nobody'];
$wgNamespaceProtection[NS_TEMPLATE_TALK] = ['nobody'];
$wgNamespaceProtection[NS_HELP_TALK] = ['nobody'];
$wgNamespaceProtection[NS_CATEGORY_TALK] = ['nobody'];


Voir aussi