Manuel:Droits utilisateurs

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:User rights and the translation is 97% complete.

Outdated translations are marked like this.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Tagalog • ‎dansk • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎русский • ‎српски / srpski • ‎українська • ‎हिन्दी • ‎মেইতেই লোন্ • ‎中文 • ‎日本語 • ‎한국어

Les droits utilisateur sont des permissions spécifiques pour l'accès et l'exécution, qui peuvent être attribuées à des « groupes utilisateur » personnalisables. Les groupes peuvent être ensuite assignés (ou retirés) à des utilisateurs via la page spéciale Special:UserRights. Voir Help:Droits utilisateur et groupes .

L'accès à cet interface est lui-même règlementé par le droit userrights , et donc uniquement les utilisateurs du groupe Bureaucrates peuvent le faire (dans une configuration par défaut). Voir Manuel:Configurer les groupes d'utilisateurs dans MediaWiki pour toute information concernant la gestion et l'assignation des groupes utilisateur.

Modifier les permissions de groupe

Par défaut MediaWiki donne certains accès à des groupes définis (voir plus bas). Vous pouvez changer les droits par défaut en modifiant le tableau $wgGroupPermissions dans LocalSettings.php avec la syntaxe.

$wgGroupPermissions['group']['right'] = true /* ou faux */;
Dans l'installation par défaut, $wgGroupPermissions est initialisé dans includes/DefaultSettings.php, mais il n'est pas dans LocalSettings.php. Vous aurez besoin ensuite de l'ajouter dans ce fichier.

Si un membre est dans plusieurs groupes, il cumule les droits de chacun des groupes dont il fait partie. Tous les utilisateurs (les utilisateurs anonymes inclus) sont dans le groupe '*'; tous les utilisateurs enregistrés se trouvent dans le groupe 'user'. En plus des groupes par défaut, il vous est possible d'en créer arbitrairement de nouveaux en utilisant le même tableau.

Exemples

Cet exemple empêchera l'affichage de toutes les pages qui ne figurent pas dans $wgWhitelistRead , puis autorisera pour les utilisateurs enregistrés uniquement :

$wgGroupPermissions['*']['read']    = false;
# La ligne suivante n'est actuellement pas nécessaire car elle est définie par défaut. Mettre '*' à faux ne supprime pas les droits pour les groupes qui ont certaines valeurs individuelles à vrai !
$wgGroupPermissions['user']['read'] = true;

Cet exemple empêche de modifier toutes les pages, puis réautorise seulement les utillisateurs ayant des adresses courriel confirmées :

# Désactivez-le pour tout le monde.
$wgGroupPermissions['*']['edit']              = false;
# Désactiver également pour les utilisateurs : par défaut, 'user' est autorisé pour la modification, même si '*' ne l'est pas.
$wgGroupPermissions['user']['edit']           = false;
# Faire en sorte que les utilisateurs avec des adresses courriel confirmées soient dans le groupe.
$wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED;
# Masquez le groupe de la liste des utilisateurs.
$wgImplicitGroups[] = 'emailconfirmed';
# Finalement, mettez-le à « true » pour le groupe désiré.
$wgGroupPermissions['emailconfirmed']['edit'] = true;

Créer un nouveau groupe et lui assigner des permissions

Vous pouvez créer de nouveaux groupes d'utilisateurs en définissant des autorisations pour le nom dédié au groupe dans $wgGroupPermissions['<group-name>']<group-name> est le nom actuel du groupe.

En plus de l'assignation des droits, vous devez créer ces trois pages wiki et remplir leur contenu :

  • MediaWiki:Group-<group-name> (contenu: Nom du groupe)
  • MediaWiki:Group-<group-name>-member (contenu: Nom d'un membre du groupe)
  • MediaWiki:Grouppage-<group-name> (contenu: Nom de la page du groupe)

Par défaut, les bureaucrates peuvent ajouter ou retirer des utilisateurs de n'importe quel groupe. Néanmoins, si vous utilisez Manuel:$wgAddGroups et Manuel:$wgRemoveGroups , vous pouvez les adapter à la place.

Exemples

Cet exemple créera un groupe arbitraire ninja qui peut bloquer les utilisateurs et effacer des pages, et dont les modifications sont masquées par défaut dans les derniers journaux de modification :

$wgGroupPermissions['ninja']['bot']    = true;
$wgGroupPermissions['ninja']['block']  = true;
$wgGroupPermissions['ninja']['delete'] = true;
Note: le nom du groupe ne peut pas contenir d'espaces, aussi utiliser 'random-group' ou 'random_group' au lieu de 'random group'

Dans cet exemple, vous voudriez probablement aussi créer ces pages :

  • MediaWiki:Group-ninja (contenu: Ninjas)
  • MediaWiki:Group-ninja-member (contenu: ninja)
  • MediaWiki:Grouppage-ninja (contenu: Project:Ninjas)

Ceci assure que le groupe sera référencé en tant que "Ninjas" dans tout l'interface, et qu'un membre sera référencé comme un "ninja", et les aperçus relieront le nom du groupe au Project:Ninjas.

Cet exemple désactive par défaut l'accès en écriture (modification et création de page), crée un groupe nommé "Write" et lui donne les droits d'accès en écriture. Les utilisateurs peuvent être ajoutés manuellement à ce groupe via Special:UserRights :

$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createpage'] = false;
$wgGroupPermissions['user']['edit'] = false;
$wgGroupPermissions['user']['createpage'] = false;
$wgGroupPermissions['Write']['edit'] = true;
$wgGroupPermissions['Write']['createpage'] = true;

Dans cet exemple, vous voudriez probablement aussi créer ces pages :

  • MediaWiki:Group-Write (contenu: Writers)
  • MediaWiki:Group-Write-member (contenu: Writer)
  • MediaWiki:Grouppage-Write (contenu: Project:Write)

Supprimer les groupes prédéfinis

Médiawiki installé contient un nombre de groupes prédéfinis. La plupart de ces groupes peuvent être supprimés en supprimant les clés dans les tables de droits, parmi lesquelles $wgGroupPermissions['<group-name>']. Pour les détails, voir ci-dessous.

Exemple

Cet exemple va supprimer complètement le groupe des Bureaucrates. Il est nécessaire de s'assurer que chacune de ces six variables n'a pas d'initialisation dans chacun des groupes que l'ont veut supprimer de la liste affichée par Special:ListGroupRights; néanmoins, le fait d'enlever l'initialisation dans $wgGroupPermissions suffira à supprimer le groupe de Special:UserRights. Ce code doit figurer après chaque ligne require_once qui ajoute des extensions comme Extension:Renameuser contenant du code qui attibue au groupe des bureacrates les permissions par défaut.

unset( $wgGroupPermissions['bureaucrat'] );
unset( $wgRevokePermissions['bureaucrat'] );
unset( $wgAddGroups['bureaucrat'] );
unset( $wgRemoveGroups['bureaucrat'] );
unset( $wgGroupsAddToSelf['bureaucrat'] );
unset( $wgGroupsRemoveFromSelf['bureaucrat'] );

Pour certaines extensions (Flow, Semantic MediaWiki, etc...), les permissions sont ajoutées pendant l'enregistrement de l'extension ou dans une fonction d'enregistrement. Dans ce cas, il sera nécessaire d'utiliser une fonction d'enregistrement dans LocalSettings.php pour supprimer certains groupes utilisateurs prédéfinis:

$wgExtensionFunctions[] = function() use ( &$wgGroupPermissions ) {
    unset( $wgGroupPermissions['oversight'] );
    unset( $wgGroupPermissions['flow-bot'] );
};

Note sur le groupe appelé "user"

Avec le mécanisme ci-dessus, vous pouvez supprimer les groupes sysop, bureaucrat et bot, qui - s'ils l'utilisent - peuvent être assignés via le système des droits utilisateur usuel. Néanmoins, il est actuellement impossible de supprimer le groupe user . Ce groupe n'est pas assigné via le système standard d'attribution des droits. Par contre, chaque connexion de l'utilisateur se fait en tant que membre de ce groupe. Ceci est codé en dur dans MediaWiki et ne peut pas être changé facilement actuellement.

Liste des permissions

Les droits utilisateur suivants sont disponibles dans la dernière version de MediaWiki. Si vous utilisez une version plus ancienne, vérifiez « Special:Version » sur votre wiki et voyez si elle est couverte dans la colonne « versions ».

Droit Description Groupes utilisateurs qui ont ce droit par défaut Versions
'Lire'
read Lire les pages - quand mis à faux, il surcharge les pages spécifiques avec $wgWhitelistRead
Avertissement Avertissement : Setting the user right "read" (allow viewing pages) to false will only protect wiki (article, talk, ...) pages, but uploaded files (images, files, docs... in the $wgUploadPath subdirectories) will always remain readable via direct access by default.
Use the information from Manual:Image Authorisation and img_auth.php pages when you have the need to restrict image views and file download access to only logged-in users.
*, user 1.5+
'Modifier'
applychangetags Appliquer les balises avec ses propres modifications user 1.25+
autocreateaccount Connexion automatique avec un compte utilisateur externe - une version plus limitée de createaccount 1.27+
createaccount Créer des comptes utilisateur - register / registration *, sysop 1.5+
createpage Créer des pages (qui ne sont pas des pages de discussion) - nécessite les droits edit *, user 1.6+
createtalk Créer des pages de discussion - nécessite les droits edit *, user 1.6+
edit Modifier les pages *, user 1.5+
editsemiprotected Modifier les pages protégées avec « Allow only autoconfirmed users » - sans protection en cascade autoconfirmed, bot, sysop 1.22+
editprotected Modifier les pages protégées avec « Allow only administrators » - sans protection en cascade sysop 1.13+
minoredit Marquer les modifications comme mineures user 1.6+
move Renommer des pages - nécessite les droits edit user, sysop 1.5+
move-categorypages Renommer des pages de catégorie - nécessite les droits move user, sysop 1.25+
move-rootuserpages Renommer la page principale d’un utilisateur - nécessite les droits move user, sysop 1.14+
move-subpages Renommer des pages avec leurs sous-pages - nécessite les droits move user, sysop 1.13+
movefile Renommer des fichiers - nécessite les droits move et que $wgAllowImageMoving soit à vrai user, sysop 1.14+
reupload Écraser un fichier existant - nécessite les droits upload user, sysop 1.6+
reupload-own Écraser un fichier que l'on a soi-même importé - nécessite les droits upload (notez que cela n'est pas nécessaire si le groupe a déjà les droits reupload ) 1.11+
reupload-shared Écraser localement des fichiers présents sur un dépôt partagé - (si l'un est positionné) avec les fichiers locaux (nécessite les droits upload) user, sysop 1.6+
sendemail Envoyer un courriel aux autres utilisateurs user 1.16+
upload Importer des fichiers - nécessite que les droits edit et $wgEnableUploads soient à vrai (true) user, sysop 1.5+
upload_by_url Importer un fichier depuis une adresse URL - nécessite les droits upload (dans les versions antérieures, c'était le droit des administrateurs système -sysops-) 1.8+
'Gestion'
bigdelete Supprimer des pages ayant un gros historique sysop 1.12+
block Bloquer en écriture d'autres utilisateurs - Les options de blocage concernent l'interdiction de modifier et de déclarer de nouveaux comptes, ainsi que le blocage automatique d'autres utilisateurs de la même adresse IP sysop 1.5+
blockemail Empêcher un utilisateur d'envoyer des courriels - permet d'interdire l'utilisation de l'interface Special:Emailuser pendant le blocage. sysop 1.11+
browsearchive Rechercher des pages supprimées - par Special:Undelete sysop 1.13+
changetags Ajouter et supprimer de façon arbitraire des balises sur des révisions individuelles et des entrées de journal - actuellement inutilisé par les extensions user 1.25+
delete Supprimer des pages 1.5–1.11: autorise la suppression et la restauration des pages.
1.12+: permet de supprimer des pages. Pour le restauration, la permission 'undelete' existe maintenant, voir ci-dessous
sysop 1.5+
deletedhistory Voir les entrées des historiques supprimées, mais sans leur texte sysop 1.6+
deletedtext Voir le texte supprimé et les différences entre les versions supprimées sysop
deletelogentry Supprimer et restaurer des entrées particulières du journal - autorise la supression/restauration d'informations (texte de l'action, résumé, utilisateur qui a fait l'action) concernant des entrées spécifiques du journal (non disponible par défaut) 1.20+
deleterevision Supprimer ou restaurer des versions particulières de pages - autorise la supression/restitution des informations concernant des révisions spécifiques (texte de la révision, modification du résumé ou de l'utilisateur ayant fait la modification) Séparé en deleterevision et deletelogentry dans 1.20 (non disponible par défaut) 1.6+
editcontentmodel Modifier le modèle de contenu d’une page user 1.23.7+
editinterface Modifier l'interface utilisateur - contient les messages d'interface. Pour modifier les CSS/JSON/JS partout sur l'ensemble du site, il existe maintenant des droits sélectifs, voir ci-dessous. sysop, interface-admin 1.5+
editmyoptions Modifier vos préférences * 1.22+
editmyprivateinfo Modifier vos données personnelles (par exemple votre adresse, votre vrai nom) * 1.22+
editmyusercss Modifier vos propres fichiers CSS utilisateur - prior to 1.31 it was assigned to the "*" user group (note that this is not needed if the group already has the editusercss right) user 1.22+
editmyuserjs Modifier vos propres fichiers JavaScript utilisateur - prior to 1.31 it was assigned to the "*" user group (note that this is not needed if the group already has the edituserjs right) user 1.22+
editmyuserjson Modifier vos propres fichiers utilisateur JSON (note that this is not needed if the group already has the edituserjson right) user 1.31+
editmywatchlist Modifier votre propre liste de suivi. Remarquez que certaines actions ajouteront encore des pages sans ce droit. * 1.22+
editsitecss Modifier le CSS du site interface-admin 1.32+
editsitejs Modifier le JavaScript du site interface-admin 1.32+
editsitejson Modifier le JSON du site interface-admin 1.32+
editusercss Modifier les fichiers CSS d'autres utilisateurs interface-admin 1.16+
edituserjs Modifier les fichiers JavaScript d'autres utilisateurs interface-admin 1.16+
edituserjson Modifier les fichiers JSON d’un autre utilisateur interface-admin 1.31+
hideuser Bloquer un utilisateur en masquant son nom au public - (pas disponible par défaut)

Seulement les utilisateurs ayant effectué 1000 modifications ou moins peuvent être supprimés par défaut. Utiliser $wgHideUserContribLimit pour désactiver.

1.10+
markbotedits Marquer des modifications révoquées comme ayant été faites par un robot. - voir Manual:Administrators#Rollback sysop 1.12+
mergehistory Fusionner les historiques des pages sysop 1.12+
pagelang Changer la langue de la page - $wgPageLanguageUseDB doit être à true 1.24+
patrol Marquer les modifications des autres comme étant relues - $wgUseRCPatrol doit être à true sysop 1.5+
patrolmarks Voir les marquages de relecture dans les modifications récentes 1.16+
protect Modifier les niveaux de protection et modifier les pages protégées en cascade sysop 1.5+
rollback Révoquer rapidement les modifications du dernier contributeur d'une page particulière sysop 1.5+
suppressionlog Voir les journaux privés 1.6+
suppressrevision Afficher, masquer et démasquer des révisions spécifiques de pages pour n’importe quel utilisateur - Avant 1.13 ce droit s'appelait hiderevision (non disponible par défaut) 1.6+
unblockself Se débloquer soi-même - Sans cela, un administrateur qui a le droit de bloquer ne peut se débloquer lui-même s'il est bloqué par un autre administrateur sysop 1.17+
undelete Restaurer une page supprimée sysop 1.12+
userrights Modifier tous les droits d'un utilisateur - permet de d'attribuer ou d'enlever les groupes « all* » à n'importe quel utilisateur.
* Avec $wgAddGroups et $wgRemoveGroups vous pouvez rendre possible l'ajout/supression de certains groupes au lieu de tous
bureaucrat 1.5+
userrights-interwiki Modifier les droits des utilisateurs qui sont sur d'autres wikis 1.12+
viewmyprivateinfo Voir vos données personnelles (par exemple votre adresse, votre vrai nom) * 1.22+
viewmywatchlist Afficher votre propre liste de suivi * 1.22+
viewsuppressed Afficher les révisions masquées pour n’importe quel utilisateur - c'est à dire une alternative plus étroite à "suppressrevision" (non disponible par défaut) 1.24+
Administration
autopatrol Avoir ses modifications automatiquement marquées comme relues - $wgUseRCPatrol doit être à « true » bot, sysop 1.9+
deletechangetags Supprimer des balises de la base de données - actuellement non utilisé par les extensions sysop 1.28+
import Importer des pages depuis d'autres wikis - « transwiki » sysop 1.5+
importupload Importer des pages depuis un fichier - Ce droit est appelé 'importraw' dans la version 1.5 et les précédentes sysop 1.5+
managechangetags Créer et (dés)activer des balises - currently unused by extensions sysop 1.25+
siteadmin Verrouiller ou déverrouiller la base de données - ce qui bloque toute interaction avec le site web sauf l'affichage. (pas disponible par défaut) 1.5+
unwatchedpages Voir la liste des pages non suivies - Liste les pages qui ne sont suivies par personne sysop 1.6+
'Technique'
apihighlimits Utiliser des limites plus élevées dans les requêtes API bot, sysop 1.12+
autoconfirmed Ne pas être affecté par les limitations de débit liées aux adresses IP - utilisé pour le goupe 'autoconfirmed' , voir l'autre tableau ci-dessous pour davantage d'information autoconfirmed, bot, sysop 1.6+
bot Être traité comme un processus automatisé - peut optionnellement être vu bot 1.5+
ipblock-exempt Ne pas être affecté par les IP bloquées, les blocages automatiques et les blocages de plages d'IP sysop 1.9+
nominornewtalk Ne pas déclencher la notification de nouveau message lorsqu'on effectue une modification mineure sur la page de discussion d'un utilisateur - nécessite les droits minor edit bot 1.9+
noratelimit Ne pas être affecté par les limites de taux - non concerné par les limites de taux (avant l'introduction de ce droit, la variable de configuration $wgRateLimitsExcludedGroups était utilisée pour cela) sysop, bureaucrat 1.13+
purge Effacer une page du cache local sans demander de confirmation - paramètre d'URL "&action=purge" user 1.10+
suppressredirect Ne pas créer de redirection depuis le titre d’origine en renommant les pages bot, sysop 1.12+
writeapi Utiliser l'API de modification du wiki *, user, bot 1.13+
Bien que toutes ces permissions contrôlent des choses distinctes, quelques fois, pour réaliser certaines actions, vous avez besoin de permissions multiples. Par exemple, autoriser les gens à modifier sans leur donner l'accès en lecture n'a pas de sens, car pour modifier une page vous devez d'abord pouvoir la lire (en supposant qu'aucune page ne soit en liste blanche). Autoriser les téléversements sur le serveur, mais ne pas autoriser les modifications n'a pas de sens, car pour pouvoir téléverser une image vous devez implicitement créer une page de description d'image, etc...


Liste des groupes

Les groupes suivants sont disponibles dans la dernière version de MediaWiki. Si vous utilisez une ancienne version, certains d'entre-eux pourraient ne pas être implémentés.

Groupe Description Permissions par défault Versions
* tous les utilisateurs (anonymes y compris). createaccount, createpage, createtalk, edit, editmyoptions, editmyprivateinfo, editmywatchlist, read, viewmyprivateinfo, viewmywatchlist, writeapi 1.5+
user utilisateurs enregistrés. applychangetags, changetags, createpage, createtalk, edit, editcontentmodel, editmyusercss, editmyuserjs, editmyuserjson, minoredit, move, move-categorypages, move-rootuserpages, move-subpages, movefile, purge, read, reupload, reupload-shared, sendemail, upload, writeapi
autoconfirmed utilisateurs enregistrés depuis

au moins $wgAutoConfirmAge et ayant fait au moins $wgAutoConfirmCount modifications.

autoconfirmed, editsemiprotected 1.6+
bot comptes avec le droit bot (prévu pour les scripts automatiques). autoconfirmed, autopatrol, apihighlimits, bot, editsemiprotected, nominornewtalk, suppressredirect, writeapi 1.5+
sysop utilisateurs pouvant par défaut supprimer/restaurer des pages, bloquer/débloquer des utilisateurs, etc... apihighlimits, autoconfirmed, autopatrol, bigdelete, block, blockemail, browsearchive, createaccount, delete, deletedhistory, deletedtext, editinterface, editprotected, editsemiprotected, editsitejson, edituserjson, import, importupload, ipblock-exempt, managechangetags, markbotedits, mergehistory, move, move-categorypages, move-rootuserpages, move-subpages, movefile, noratelimit, patrol, protect, proxyunbannable, reupload, reupload-shared, rollback, suppressredirect, unblockself, undelete, unwatchedpages, upload 1.5+
interface-admin utilisateurs pouvant modifier les CSS/JS partout sur le site. editinterface, editsitecss, editsitejs, editsitejson, editusercss, edituserjs, edituserjson 1.32+
bureaucrat utilisateurs pouvant par défaut modifier les droits d'autres utilisateurs. noratelimit, userrights 1.5+

Depuis MW 1.12, vous pouvez créer vos propres groupes dans lesquels les utilisateurs sont automatiquement promus (comme c'est le cas pour « autoconfirmed » et « emailconfirmed ») en utilisant $wgAutopromote . Vous pouvez même créer n'importe quel groupe personnalisé, juste en lui assignant des droits.

Droits par défaut

Les droits par défaut sont définis dans DefaultSettings.php .

Ajouter de nouveaux droits

Les informations ci-après ne concernent que les développeurs.

Si vous déclarez une nouvelle permission dans le coeur, par exemple pour contrôler une nouvelle page spéciale, vous devez l'ajouter à la liste des droits disponibles dans User.php , $mCoreRights (exemple). Si vous faites cela dans une extension , vous aurez besoin d'utiliser $wgAvailableRights .

Probablement vous voudrez l'affecter à un groupe d'utilisateurs en modifiant $wgGroupPermissions décrit ci-dessus.

Si vous voulez que ce droit soit accessible aux applications externes par OAuth  ou par les robots de mots de passe, alors vous devrez l'ajouter à une permission en mettant à jour $wgGrantPermissions .

// create ninja-powers right
$wgAvailableRights[] = 'ninja-powers';

//add ninja-powers to the ninja-group
$wgGroupPermissions['ninja']['ninja-powers'] = true;

//add ninja-powers to the 'basic' grant so we can use our ninja powers over an API request
$wgGrantPermissions['basic']['ninja-powers'] = true;

Vous devez aussi ajouter les messages d'interface right-[name] et action-[name] dans /languages/i18n/en.json (avec la documentation dans qqq.json). Le droit -* messages pouvant être vus sur Special:ListGroupRights et l'action-* messages pouvant être utilisés dans une phrase telle que "Vous n'avez pas la permission de ...".

Voir aussi