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) :
- create_sites (créer les sites)
- delete_sites (supprimer les sites)
- manage_network (gérer le réseau de sites)
- manage_sites (gérer les sites)
- manage_network_users (gérer les comptes du réseau)
- manage_network_plugins (gérer les extensions du réseau)
- manage_network_themes (gérer les thèmes du réseau)
- manage_network_options (gérer les options du réseau)
- upgrade_network (mettre à jour le réseau)
- setup_network (configuration du réseau)
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 :
- activate_plugins (activer les extensions)
- delete_others_pages (supprimer les pages crées par un autre compte)
- delete_others_posts (supprimer les articles créés par un autre compte)
- delete_pages (supprimer les pages)
- delete_posts (supprimer les publications)
- delete_private_pages (supprimer les pages privées)
- delete_private_posts (supprimer les articles privés)
- delete_published_pages (supprimer les pages publiées)
- delete_published_posts (supprimer les articles publiés)
- edit_dashboard (modifier le tableau de bord)
- edit_others_pages (modifier les pages crées par un autre compte)
- edit_others_posts (modifier les articles créés par un autre compte)
- edit_pages (modifier les pages)
- edit_posts (modifier les publications)
- edit_private_pages (modifier les pages privées)
- edit_private_posts (modifier les articles privés)
- edit_published_pages (modifier les pages publiées)
- edit_published_posts (modifier les articles publiés)
- edit_theme_options (modifier les options des thèmes)
- export (exporter)
- import (importer)
- list_users (liste des comptes)
- manage_categories (gérer les catégories)
- manage_links (gérer les liens)
- manage_options (gérer les options)
- moderate_comments (modérer les commentaires)
- promote_users (promouvoir les comptes)
- publish_pages (publier des pages)
- publish_posts (publier des publications)
- read_private_pages (lecture des pages privées)
- read_private_posts (lecture des publications privées)
- read (lecture)
- create Reusable Blocks (créer des blocs réutilisables)
- edit Reusable Blocks (modifier des blocs réutilisables)
- read Reusable Blocks (lecture des blocs réutilisables)
- delete Reusable Blocks (supprimer des blocs réutilisables)
- remove_users (supprimer les utilisateurs)
- switch_themes (changer de thème)
- upload_files (téléverser des fichiers)
- customize (personnalisation)
- delete_site (supprimer un site)
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 :
- update_core (mettre à jour le cœur de WordPress)
- update_plugins (mettre à jour les extensions)
- update_themes (mettre à jour les thèmes)
- install_plugins (installer des extensions)
- install_themes (installer des thèmes)
- delete_themes (supprimer des thèmes)
- delete_plugins (supprimer des extensions)
- edit_plugins (modifier des extensions)
- edit_themes (modifier des thèmes)
- edit_files (modifier des fichiers)
- edit_users (modifier des comptes)
- add_users (ajouter des comptes)
- create_users (créer des comptes)
- delete_users (supprimer des comptes)
- unfiltered_html (insérer du HTML sans filtre)
Éditeur/Éditrice
- delete_others_pages (supprimer les pages crées par un autre compte)
- delete_others_posts (supprimer les articles créés par un autre compte)
- delete_pages (supprimer les pages)
- delete_posts (supprimer les articles)
- delete_private_pages (supprimer les pages privées)
- delete_private_posts (supprimer les articles privés)
- delete_published_pages (supprimer les pages publiées)
- delete_published_posts (supprimer les articles publiés)
- delete Reusable Blocks (supprimer les blocs réutilisables)
- edit_others_pages (modifier les pages crées par un autre compte)
- edit_others_posts (modifier les articles créés par un autre compte)
- edit_pages (modifier les pages)
- edit_posts (modifier les publications)
- edit_private_pages (modifier les pages privées)
- edit_private_posts (modifier les publications privées)
- edit_published_pages (modifier les pages publiées)
- edit_published_posts (modifier les publications publiées)
- create Reusable Blocks (créer des blocs réutilisables)
- edit Reusable Blocks (modifier les blocs réutilisables)
- manage_categories (gérer les catégories)
- manage_links (gérer les liens)
- moderate_comments (modérer les commentaires)
- publish_pages (publier des pages)
- publish_posts (publier des articles)
- read (lecture)
- read_private_pages (lecture des pages privées)
- read_private_posts (lecture des articles privés)
- unfiltered_html (insérer du HTML sans filtre, mais pas sur réseau multisite)
- upload_files (téléverser des fichiers)
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
- read (lecture)
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
Permissions | Super Adm. | Adm. | Édit. | Aut. | Cont. | Abon. |
---|---|---|---|---|---|---|
create_sites | Y | |||||
delete_sites | Y | |||||
manage_network | Y | |||||
manage_sites | Y | |||||
manage_network_users | Y | |||||
manage_network_plugins | Y | |||||
manage_network_themes | Y | |||||
manage_network_options | Y | |||||
upload_plugins | Y | |||||
upload_themes | Y | |||||
upgrade_network | Y | |||||
setup_network | Y | |||||
Permissions | Super Adm. | Adm. | Édit. | Aut. | Cont. | Abon. |
activate_plugins | Y | Y 2 | ||||
create_users | Y | Y 1 | ||||
delete_plugins | Y | Y 1 | ||||
delete_themes | Y | Y 1 | ||||
delete_users | Y | Y 1 | ||||
edit_files | Y | Y 1 | ||||
edit_plugins | Y | Y 1 | ||||
edit_theme_options | Y | Y | ||||
edit_themes | Y | Y 1 | ||||
edit_users | Y | Y 1 | ||||
export | Y | Y | ||||
import | Y | Y | ||||
Permissions | Super Adm. | Adm. | Édit. | Aut. | Cont. | Abon. |
install_plugins | Y | Y 1 | ||||
install_themes | Y | Y 1 | ||||
list_users | Y | Y | ||||
manage_options | Y | Y | ||||
promote_users | Y | Y | ||||
remove_users | Y | Y | ||||
switch_themes | Y | Y | ||||
update_core | Y | Y 1 | ||||
update_plugins | Y | Y 1 | ||||
update_themes | Y | Y 1 | ||||
edit_dashboard | Y | Y | ||||
customize | Y | Y | ||||
delete_site | Y | Y | ||||
Permissions | Super Adm. | Adm. | Édit. | Aut. | Cont. | Abon. |
moderate_comments | Y | Y | Y | |||
manage_categories | Y | Y | Y | |||
manage_links | Y | Y | Y | |||
edit_others_posts | Y | Y | Y | |||
edit_pages | Y | Y | Y | |||
edit_others_pages | Y | Y | Y | |||
edit_published_pages | Y | Y | Y | |||
publish_pages | Y | Y | Y | |||
delete_pages | Y | Y | Y | |||
delete_others_pages | Y | Y | Y | |||
delete_published_pages | Y | Y | Y | |||
delete_others_posts | Y | Y | Y | |||
delete_private_posts | Y | Y | Y | |||
edit_private_posts | Y | Y | Y | |||
read_private_posts | Y | Y | Y | |||
delete_private_pages | Y | Y | Y | |||
edit_private_pages | Y | Y | Y | |||
read_private_pages | Y | Y | Y | |||
unfiltered_html | Y | Y 1 | Y 1 | |||
unfiltered_html | Y | Y | Y | |||
Permissions | Super Adm. | Adm. | Édit. | Aut. | Cont. | Abon. |
edit_published_posts | Y | Y | Y | Y | ||
upload_files | Y | Y | Y | Y | ||
publish_posts | Y | Y | Y | Y | ||
delete_published_posts | Y | Y | Y | Y | ||
edit_posts | Y | Y | Y | Y | Y | |
delete_posts | Y | Y | Y | Y | Y | |
Permissions | Super Adm. | Adm. | Édit. | Aut. | Cont. | Abon. |
read | Y | Y | Y | Y | Y | Y |
Les Permissions
switch_themes
- Depuis la version 2.0 ;
- Permet d’accéder aux options des écrans d’administration :
- Apparence,
- Apparence > Thèmes.
edit_themes
- Depuis la version 2.0 ;
- Permet d’accéder à Apparence > Éditeur de fichiers des thèmes pour modifier les fichiers de thème.
edit_theme_options
- Depuis la version 3.0 ;
- Permet d’accéder aux options des écrans d’administration :
- Apparence > Widgets,
- Apparence > Menus,
- Apparence > Personnalisation si elle est supportée par le thème actuel,
- Apparence > En-tête.
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
- Depuis la version 2.0 ;
- Permet d’accéder aux options des écrans d’administration :
edit_plugins
- Depuis la version 2 ;
- Permet d’accéder aux options des écrans d’administration :
install_plugins
- Depuis la version 2.7 ;
- Permet d’accéder aux options des écrans d’administration :
- Extensions* > Ajouter des nouvelles extensions.
edit_users
- Depuis la version 2.0 ;
- Permet d’accéder aux options des écrans d’administration :
- Comptes*.
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.
manage_links
- Depuis la version 2.0 ;
- Permet d’accéder aux options des écrans d’administration :
- Liens,
- Liens > Ajouter des nouveaux.
upload_files
- Depuis la version 2.0 ;
- Permet d’accéder aux options des écrans d’administration :
- Média,
- Média > Ajouter.
import
- Depuis la version 2.0 ;
- Permet d’accéder aux options des écrans d’administration :
- Outils > Import,
- Outils > Export.
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
- Depuis la version 2.0 ;
- Permet d’accéder aux options des écrans d’administration :
- Pages,
- Pages > Ajouter.
read
- Depuis la version 2.0 ;
- Permet d’accéder aux options des écrans d’administration :
- Tableau de bord,
- Utilisateurs > Votre profil,
- Utilisé nulle part dans le code principal sauf menu.php.
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 ;
- Sans autres permissions, les comptes créés auront le rôle par défaut pour un nouveau compte de votre blog.
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
- Depuis la version 3.0 ;
- Permet d’accéder aux options des écrans d’administration :
- Comptes*.
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
- Depuis la version 3.0 ;
- Multisite uniquement ;
- Permet d’accéder à l’Administration d’un réseau multisite ;
- Permet à la personne de mettre à niveau le réseau.
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
- Multisite uniquement ;
- Permet d’accéder au menu des Extensions du réseau.
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
- Members Plugin (extension disponible en français)
- User Access Manager (extension disponible en français)
- Advanced Access Manager (extension disponible en français)
- User Role Editor (extension disponible en français)
- WordPress User Role Editor
- Simple Membership Plugin
- View Admin As (« Rôles par défaut » et « Gestionnaire de rôles »)
Information
- WordPress Capabilities (en anglais)
- WordPress Roles and Capabilities at a Glance (en anglais) – Une représentation visuelle simplifiée des rôles et des permissions de WordPress (en anglais)
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 2023 – Marie Comet – Remplacement de « télécharger sans filtre » par « insérer du HTML sans filtre » dans la liste pour unfiltered_html
25 janvier 2022 – Jenny 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 2021 – Jenny Dupuy – Suppression de l’encodage des caractères accentués ou spéciaux dans les liens concernés.
15 décembre 2020 – Patrice Pichon – mise à jour avec la version anglaise du 30 janvier 2020 (ajout des blocs réutilisables) – actualisation de liens.