Rôles et permissions

WordPress utilise un systèmes de rôles, qui permet à la personne administrant le site de contrôler ce que chaque personne ayant un compte peut faire ou ne pas faire. La personne gérant le site peut autoriser ou non l’accès à des fonctions comme : créer et modifier des articles, créer des pages, créer des catégories, modérer des commentaires, installer des extensions, activer des thèmes, et gérer les comptes. Le degré d’autorisation pour chaque action est défini par le rôle attribué au compte.

WordPress propose six rôles prédéfinis : Super Admin, Administrateur/Administratrice, Éditeur/Éditrice, Auteur/Autrice, Contributeur/Contributrice et Abonné/Abonnée. Chaque rôle a le pouvoir d’accomplir certaines tâches, ce sont ses Permissions (Capabilities en anglais). Il existe une longue liste de permissions, parmi lesquelles publish_posts (publier des articles), moderate_comments (gérer les commentaires), et edit_users (modifier les comptes des utilisateurs). Un ensemble de Permissions par défaut est préconfiguré pour chaque rôle, mais d’autres permissions peuvent être ajoutées en utilisant les fonctions add_cap() (ajouter une permission) et remove_cap() (enlever une permission). Des rôles nouveaux peuvent être ajoutés, et des rôles enlevés, en utilisant les fonctions add_role() et remove_role().

Le rôle de Super Admin donne accès à toutes les permissions existantes. Tous les autres rôles ont un nombre plus restreint de permissions. À titre d’exemple, le rôle d’Abonné/Abonnée ne donne droit qu’à la permission de lecture (read en anglais). Ces rôles ne doivent pas être compris comme une échelle hiérarchique. Il s’agit plutôt de définir les responsabilités associées à chaque compte dans le fonctionnement du site.

Les rôles en résumé

  • Super Admin – Accède aux réglages d’administration multisite, ainsi qu’à toutes les autres fonctionnalités. Voir l’article Créer un réseau multisite.
  • Administrateur/Administratrice (slug : ‘administrator’) – Accède à toutes les fonctionnalités d’administration dans un site unique.
  • Éditeur/Éditrice (slug : ‘editor’) – Peut publier et gérer les publications, y compris les publications d’autres utilisateurs.
  • Auteur/Autrice  (slug : ‘author’)  – Peut publier et gérer ses propres messages.
  • Contributeur/Contributrice (slug : ‘contributor’) – Peut écrire et gérer ses propres articles mais ne peut pas les publier.
  • Abonné/Abonnée (slug : ‘subscriber’) – Ne peut gérer que son profil.

Lors de l’installation de WordPress, un compte Administrateur/administratrice doté de toutes les permissions est automatiquement créé.

Le rôle par défaut des nouveaux utilisateurs peut être défini dans Les écrans d’administration > Réglages > Réglages généraux.

Les rôles

Un rôle définit un ensemble de tâches qu’une personne à laquelle le rôle a été attribué est autorisée à effectuer. Par exemple, le rôle Super Admin englobe toutes les tâches possibles qui peuvent être effectuées dans un réseau de sites WordPress.
Le rôle d’Administrateur/Administratrice limite les tâches autorisées uniquement à celles qui affectent un seul site. D’autre part, le rôle d’Auteur/Autrice permet l’exécution d’un petit sous-ensemble de tâches.

Les sections suivantes répertorient les rôles par défaut et leurs permissions.

Super Admin

Les Super Administrateurs/Administratrices multisite, appelés couramment Super Admin, ont par défaut, toutes les permissions.
Les permissions suivantes sont disponibles uniquement pour les multisites (et donc pour les Super Admin) :

Dans le cas d’une installation WordPress sur un seul site, les administrateurs/administratrices sont, en fait, des Super Administrateurs. En tant que tels, ils sont les seuls à avoir accès à des permissons étendues des Administrateurs/Administratrices.

Administrateur/Administratrice

Les permissions des Administrateurs/Administratrices seront différentes selon qu’il s’agisse d’une installation WordPress simple ou multisite. Tous les Administrateurs/Administratrices ont les permissions suivantes :

Permissions étendues des Admin.

Seuls les administrateurs/administratrices d’installations sur un site unique ont les permissions suivantes. En multisite, seul le super admin dispose de ces permissions :

Éditeur/Éditrice

Auteur/Autrice

  • delete_posts (supprimer les articles)
  • delete_published_posts (supprimer les articles publiés)
  • edit_posts (modifier les articles)
  • edit_published_posts (modifier les articles publiés)
  • publish_posts (publier les articles)
  • read (lecture)
  • upload_files (téléverser des fichiers)
  • create Reusable Blocks (créer des blocs réutilisables)
  • read Reusable Blocks (lecture des blocs réutilisables)
  • edit Reusable Blocks (modifier les blocs réutilisables)
  • delete Reusable Blocks (supprimer les blocs réutilisables).

Contributeur/Contributrice

  • delete_posts (supprimer les articles)
  • edit_posts (modifier les articles)
  • read (lecture)
  • read Reusable Blocks (lecture des blocs réutilisables)

Abonné/Abonnée

Cas particuliers

Les permissions suivantes sont des cas particuliers :

  • unfiltered_upload (téléversement sans filtre) – Cette permission n’est disponible pour aucun rôle par défaut (y compris les Super Admin). La permission doit être activée en définissant la constante suivante :
define( 'ALLOW_UNFILTERED_UPLOADS', true );

Avec cette constante définie, tous les rôles sur une installation de site unique peuvent se voir attribuer la permission unfiltered_upload, mais seuls les Super Admin peuvent bénéficier de la permission sur une installation multisite.

Tableau des permissions et des rôles

Notez que les permissions des administrateurs/administratices diffèrent entre les installations d’un site unique et multisite, comme décrit ci-dessus.
  Y    : Oui
  Y 1  : Oui, sur site unique
  Y 2  : Oui, sur site unique ou activé par paramètre réseau

PermissionsSuper Adm.Adm.Édit.Aut.Cont.Abon.
create_sitesY
delete_sitesY
manage_networkY
manage_sitesY
manage_network_usersY
manage_network_pluginsY
manage_network_themesY
manage_network_optionsY
upload_pluginsY
upload_themesY
upgrade_networkY
setup_networkY
PermissionsSuper Adm.Adm.Édit.Aut.Cont.Abon.
activate_pluginsYY 2
create_usersYY 1
delete_pluginsYY 1
delete_themesYY 1
delete_usersYY 1
edit_filesYY 1
edit_pluginsYY 1
edit_theme_optionsYY
edit_themesYY 1
edit_usersYY 1
exportYY
importYY
PermissionsSuper Adm.Adm.Édit.Aut.Cont.Abon.
install_pluginsYY 1
install_themesYY 1
list_usersYY
manage_optionsYY
promote_usersYY
remove_usersYY
switch_themesYY
update_coreYY 1
update_pluginsYY 1
update_themesYY 1
edit_dashboardYY
customizeYY
delete_siteYY
PermissionsSuper Adm.Adm.Édit.Aut.Cont.Abon.
moderate_commentsYYY
manage_categoriesYYY
manage_linksYYY
edit_others_postsYYY
edit_pagesYYY
edit_others_pagesYYY
edit_published_pagesYYY
publish_pagesYYY
delete_pagesYYY
delete_others_pagesYYY
delete_published_pagesYYY
delete_others_postsYYY
delete_private_postsYYY
edit_private_postsYYY
read_private_postsYYY
delete_private_pagesYYY
edit_private_pagesYYY
read_private_pagesYYY
unfiltered_htmlYY 1Y 1
unfiltered_htmlYYY
PermissionsSuper Adm.Adm.Édit.Aut.Cont.Abon.
edit_published_postsYYYY
upload_filesYYYY
publish_postsYYYY
delete_published_postsYYYY
edit_postsYYYYY
delete_postsYYYYY
PermissionsSuper Adm.Adm.Édit.Aut.Cont.Abon.
readYYYYYY

Les Permissions

switch_themes

edit_themes

edit_theme_options

install_themes

  • Depuis la version 2.8 ;
  • Permet d’accéder aux options des écrans d’administration :
    • Apparence > Ajouter de nouveaux thèmes.

activate_plugins

edit_plugins

install_plugins

edit_users

edit_files

  • Depuis la version 2.0 ;
  • Remarque : n’est plus utilisé.

manage_options

  • Depuis la version 2.0 ;
  • Permet d’accéder aux options des écrans d’administration :
    • Réglages > Général,
    • Réglages > Écriture,
    • Réglages > Lecture,
    • Réglages > Discussion,
    • Réglages > Permaliens,
    • Réglages > Divers.

moderate_comments

  • Depuis la version 2.0 ;
  • Permet aux utilisateurs de modérer les commentaires à partir de l’écran des commentaires (bien qu’un utilisateur ait besoin de la permission edit_posts pour y accéder).

manage_categories

  • Depuis la version 2.0 ;
  • Permet d’accéder aux options des écrans d’administration :
    • Publications > Catégories,
    • Liens > Catégories.

upload_files

import

unfiltered_html

  • Depuis la version 2.0 ;
  • Permet à l’utilisateur de publier du balisage HTML ou même du code JavaScript dans des pages, des articles, des commentaires et des widgets ;
  • Remarque : l’activation de cette option pour les comptes non approuvés peut entraîner la publication de code malveillant ou mal formaté ;
  • Remarque : dans WordPress Multisite, seuls les super-administrateurs ont la permission unfiltered_html.

edit_posts

  • Depuis la version 2.0 ;
  • Permet d’accéder aux options des écrans d’administration :
    • Articles,
    • Articles > Ajouter,
    • Commentaires,
    • Commentaires > En attente de modération.

edit_others_posts

  • Depuis la version 2.0 ;
  • Permet d’accéder aux options des écrans d’administration :
    • Gérer > Commentaires (permet à la personne de supprimer et de modifier chaque commentaire, voir edit_posts ci-dessus),
  • La personne peut modifier les articles d’autres comptes via la fonction get_others_drafts() ;
  • La personne peut voir les images des autres comptes lors du téléchargement en ligne [non ? voir inline-uploading.php].

edit_published_posts

  • Depuis la version 2.0 ;
  • La personne peut modifier ses articles publiés. Cette permission est sur NON par défaut ;
  • Le cœur vérifie la permission edit_posts, mais à la demande, cette vérification est remplacée par edit_published_posts ;
  • Si vous ne souhaitez pas qu’un compte puisse modifier ses messages publiés, retirez cette permission.

publish_posts

  • Depuis la version 2.0 ;
  • Voir et utiliser le bouton « publier » lors de la modification de leur publication (sinon, les personnes ne peuvent enregistrer que les brouillons) ;
  • Peut utiliser XML-RPC pour publier (sinon, les personnes obtiennent un « Désolé, vous ne pouvez pas publier sur ce blog ou cette catégorie »).

edit_pages

read

publish_pages

  • Depuis la version 2.1.

edit_others_pages

  • Depuis la version 2.1.

edit_published_pages

  • Depuis la version 2.1.

delete_pages

  • Depuis la version 2.1.

delete_others_pages

  • Depuis la version 2.1.

delete_published_pages

  • Depuis la version 2.1.

delete_posts

  • Depuis la version 2.1.

delete_others_posts

  • Depuis la version 2.1.

delete_published_posts

  • Depuis la version 2.1.

delete_private_posts

  • Depuis la version 2.1.

edit_private_posts

  • Depuis la version 2.1.

read_private_posts

  • Depuis la version 2.1.

delete_private_pages

  • Depuis la version 2.1.

edit_private_pages

  • Depuis la version 2.1.

read_private_pages

  • Depuis la version 2.1.

delete_users

  • Depuis la version 2.1.

create_users

  • Depuis la version 2.1 ;
  • Permet de créer de nouveaux comptes ;

unfiltered_upload

  • Depuis la version 2.3.

edit_dashboard

  • Depuis la version 2.5.

customize

  • Depuis la version 4.0 ;
  • Permet d’accéder à l’outil de personnalisation. 

delete_site

  • Depuis la version 4.0 ;
  • Permet à la personne de supprimer le site actuel (multisite uniquement).

update_plugins

  • Depuis la version 2.6.

delete_plugins

  • Depuis la version 2.6.

update_themes

  • Depuis la version 2.7.

update_core

  • Depuis la version 3.0.

list_users

remove_users

  • Depuis la version 3.0.

add_users

  • Depuis la version 3.0 ;
  • Remplacé en 4.4 par promote_users (promouvoir le compte).

promote_users

  • Depuis la version 3.0 ;
  • Active le menu déroulant « Changer le rôle en… » dans la liste des comptes pour les administrateurs/administratrices ;
    • Cela ne dépend pas de la permission « edit_users »,
  • Permet à « Ajouter un utilisateur existant » de fonctionner pour les installations multisites.

delete_themes

  • Depuis la version 3.0.

export

  • Depuis la version 3.0.

edit_comment

  • Depuis la version 3.1.

create_sites

  • Depuis la version 3.1 ;
  • Multisite uniquement ;
  • Permet à la personne de créer des sites sur le réseau.

delete_sites

  • Depuis la version 3.1 ;
  • Multisite uniquement ;
  • Permet à la personne de supprimer des sites sur le réseau.

manage_network

manage_sites

  • Depuis la version 3.0 ;
  • Multisite uniquement ;
  • Permet d’accéder au menu Sites du réseau ;
  • Permet à la personne d’ajouter, de modifier, de supprimer, d’archiver, de désarchiver, d’activer, de désactiver, de spammer et d’éliminer le spam d’un nouveau site/blog sur le réseau.

manage_network_users

  • Depuis la version 3.0 ;
  • Multisite uniquement ;
  • Permet d’accéder au menu Comptes du réseau*.

manage_network_themes

  • Depuis la version 3.0 ;
  • Multisite uniquement ;
  • Permet d’accéder au menu des Thèmes du réseau.

manage_network_options

  • Depuis la version 3.0 ;
  • Multisite uniquement ;
  • Permet d’accéder au menu des Réglages du réseau.

manage_network_plugins

upload_plugins

  • Depuis la version 4.0 ;
  • Multisite uniquement ;
  • Permet à la personne de téléverser les fichiers ZIP de l’extension à partir des Extensions du réseau > Ajouter un nouveau menu.

upload_themes

  • Depuis la version 4.0 ;
  • Multisite uniquement ;
  • Permet à la personne de téléverser les fichiers ZIP de l’extension à partir des Thèmes du réseau > Ajouter un nouveau menu.

upgrade_network

  • Depuis la version 4.8 ;
  • Multisite uniquement ;
  • Est utilisé pour déterminer si une personne peut accéder à la page de mise à niveau du réseau dans l’administration du réseau. En relation avec cela, la permission est également vérifiée pour déterminer s’il faut afficher la notification qu’une mise à niveau du réseau est requise. La permission n’est pas mappée, elle n’est donc accordée qu’aux administrateurs réseau. Voir #39205 (en anglais) pour une discussion de fond.

setup_network

  • Depuis la version 4.8 ;
  • Multisite uniquement ;
  • Est utilisé pour déterminer si une personne peut configurer le multisite, c’est-à-dire accéder à la page de configuration du réseau. Avant de configurer un multisite, la permission est mappée à la permission `manage_options` de sorte qu’elle soit accordée aux administrateurs/administratrices. Une fois le multisite configuré, il est mappé sur `manage_network_options`, de sorte qu’il soit accordé aux administrateurs/administratrices du réseau. Voir #39206 (en anglais) pour une discussion de fond.

Resources

Extensions

Information

Traduit par Marie Comet, Patrice Pichon, Jenny Dupuy
Relu par Jenny Dupuy & Didier Demory
Dernière mise à jour le 19 juin 2023

Contribuer à la documentation en français de WordPress

Journal des modifications

19 juin 2023Marie Comet – Remplacement de « télécharger sans filtre » par « insérer du HTML sans filtre » dans la liste pour unfiltered_html
25 janvier 2022Jenny Dupuy – Remplacement de Éditeur de thème par Éditeur de fichiers des thèmes et de Éditeur d’extension par Éditeur de fichiers des extensions.
04 mai 2021Jenny Dupuy – Suppression de l’encodage des caractères accentués ou spéciaux dans les liens concernés.
15 décembre 2020Patrice Pichon – mise à jour avec la version anglaise du 30 janvier 2020 (ajout des blocs réutilisables) – actualisation de liens.