Skip to Content
WordPressPartie 14 — Mini-jeux (exploration guidée)10 — Utilisateurs & rôles (gestion)

Terrain 10 — Utilisateurs & rôles (gestion)

⏱️ TL;DR — 20 mini-jeux ⭐⭐ pour gérer les comptes en administrateur : profils, mots de passe, rôles custom, capabilities, Application Passwords (clé du headless !), 2FA, moindre privilège. Complète le terrain 02 (où tu vivais les rôles) par la gestion.


🕹️ Mini-jeu 1 — Créer et éditer un compte 🛠️

But : la base. Mission : crée un compte, puis modifie son nom public affiché. Étapes :

  1. Comptes → Ajouter → remplis → crée.
  2. Édite → « Nom à afficher publiquement ».

✅ Solution

Le nom public (display name) peut différer de l’identifiant (login). Bonne pratique sécurité : ne pas exposer l’identifiant de connexion comme nom d’auteur public (terrain 16).


🕹️ Mini-jeu 2 — Réinitialiser un mot de passe ⭐⭐ 🛠️

But : dépanner un utilisateur. Mission : génère un nouveau mot de passe pour un compte. Étapes :

  1. Comptes → le profil → Définir un nouveau mot de passe → Générer.

✅ Solution

L’admin peut régénérer un mot de passe fort, ou envoyer un lien de réinitialisation. Ne jamais réutiliser un mot de passe partagé : un compte = un mot de passe fort. Encourage les gestionnaires de mots de passe.


🕹️ Mini-jeu 3 — Enrichir un profil ✍️

But : les champs publics. Mission : renseigne bio, site web et un réseau social d’un profil.

✅ Solution

Le profil porte bio, site, e-mail, et parfois des champs sociaux (selon thème/extension). Ces données peuvent alimenter l’encart auteur public (terrain 02, jeu 20). Séparation nette donnée ↔ affichage.


🕹️ Mini-jeu 4 — Les rôles standards, de mémoire ⭐⭐ 🛠️

But : ancrer les 5 rôles. Mission : liste les 5 rôles et leur pouvoir principal.

✅ Solution

Abonné (profil/commente) · Contributeur (rédige, soumet) · Auteur (publie ses posts) · Éditeur (gère tout le contenu) · Administrateur (gère le site). En multisite s’ajoute le Super Admin (réseau). C’est une échelle de privilèges croissants.


🕹️ Mini-jeu 5 — Un éditeur de rôles ⭐⭐⭐ 🛠️

But : manipuler les capabilities. Mission : installe « Members » (ou « User Role Editor ») et ouvre l’éditeur de rôles.

✅ Solution

Ces extensions exposent la matrice rôle × capability en UI. WordPress stocke les rôles/caps en base (option wp_user_roles) ; nativement, pas d’UI pour les éditer. Indispensable pour des rôles métier.


🕹️ Mini-jeu 6 — Créer un rôle custom ⭐⭐⭐ 🛠️

But : un rôle sur-mesure. Mission : crée un rôle « Gestionnaire produits » avec des caps ciblées.

✅ Solution

Via Members : duplique un rôle proche, ajuste les capabilities (ex. gérer les produits mais pas les réglages). En code : add_role('shop_manager_lite', 'Gestionnaire produits', array('read'=>true, ...)). Principe du moindre privilège.


🕹️ Mini-jeu 7 — Ajouter/retirer une capability ⭐⭐⭐ 🛠️

But : granularité fine. Mission : donne à l’Auteur la capability edit_pages (puis retire-la).

✅ Solution

Une capability est un droit atomique (edit_pages, manage_options, upload_files…). Un rôle = un paquet de caps. Ajuster une cap change tous les utilisateurs de ce rôle. Réfléchis avant : l’effet est global.


🕹️ Mini-jeu 8 — Rôle en masse ⭐⭐ 🛠️

But : action groupée. Mission : passe 3 comptes d’un rôle à un autre en une fois. Étapes :

  1. Comptes → coche 3 → « Modifier le rôle en… » → applique.

✅ Solution

Le changement de rôle groupé accélère l’administration d’une plateforme à nombreux comptes. Les capabilities suivent immédiatement. Pratique lors d’une réorganisation d’équipe.


🕹️ Mini-jeu 9 — Créer un Application Password ⭐⭐⭐⭐ 💻

But : la clé de l’API/headless. Mission : génère un mot de passe d’application pour ton compte. Étapes :

  1. Comptes → ton profil → section Mots de passe d’application → nomme (« HeadlessShelf ») → Ajouter.
  2. Copie le mot de passe (affiché une seule fois).

✅ Solution

Un Application Password authentifie une machine (script, front Next.js) via l’API REST sans livrer ton vrai mot de passe. Base de l’auth headless (terrain 17, Partie 9). Chaque appli a sa clé, révocable indépendamment.


🕹️ Mini-jeu 10 — Révoquer un Application Password ⭐⭐⭐ 💻

But : couper un accès. Mission : révoque la clé créée au jeu 9.

✅ Solution

« Révoquer » invalide immédiatement la clé (l’appli perd l’accès) sans toucher ton mot de passe ni les autres clés. Bonne hygiène : une clé par usage, révoquée dès qu’un service est retiré. Réflexe de sécurité d’API.


🕹️ Mini-jeu 11 — Forcer une déconnexion ⭐⭐ 🛠️

But : couper les sessions. Mission : déconnecte toutes les sessions d’un compte. Étapes :

  1. Profil → Sessions → « Se déconnecter partout ailleurs ».

✅ Solution

Utile si un appareil est perdu/compromis : invalide toutes les sessions actives sauf la courante. Sécurité de compte native, souvent ignorée.


🕹️ Mini-jeu 12 — Supprimer avec réattribution ⭐⭐ 🛠️

But : ne pas perdre de contenu (rappel actif). Mission : supprime un compte en réattribuant ses contenus.

✅ Solution

À la suppression, WordPress propose de réattribuer le contenu à un autre compte (à préférer) ou de le supprimer. En prod : toujours réattribuer (voir terrain 02, jeu 24).


🕹️ Mini-jeu 13 — Import d’utilisateurs en masse ⭐⭐⭐ 🛠️

But : peupler vite. Mission : importe des comptes via un plugin CSV (« Import users from CSV »).

✅ Solution

Pas d’import CSV natif d’utilisateurs → extension. Colonnes typiques : user_login, user_email, role, first_name…. Vérifie l’encodage et les doublons. (Moodle, lui, l’a en natif — comparaison utile.)


🕹️ Mini-jeu 14 — Activer le 2FA ⭐⭐⭐⭐ 🛠️

But : double authentification. Mission : installe un plugin 2FA et active la double authentification sur ton compte.

✅ Solution

Le 2FA (TOTP via appli, ou clé) protège même si le mot de passe fuite — surtout pour les comptes admin. Non natif → extension (Two-Factor, Wordfence Login Security). Fortement recommandé en prod.


🕹️ Mini-jeu 15 — Le principe du moindre privilège ⭐⭐ 🛠️

But : doctrine de sécurité. Mission : audite tes comptes : chacun a-t-il le rôle minimal nécessaire ?

✅ Solution

Moindre privilège : donne le rôle le plus bas suffisant. Un rédacteur = Auteur, pas Admin. Moins d’admins = moins de cibles. Un compte compromis fait d’autant moins de dégâts que son rôle est bas.


🕹️ Mini-jeu 16 — Comptes nominatifs ⭐⭐ 🛠️

But : traçabilité. Mission : remplace un compte « admin » partagé par des comptes nominatifs.

✅ Solution

Un compte par personne (jamais partagé) permet de tracer qui a fait quoi et de révoquer un accès sans gêner les autres. Évite aussi le login « admin » générique, cible des attaques.


🕹️ Mini-jeu 17 — L’utilisateur ne s’auto-promeut pas ⭐⭐⭐ 💻

But : comprendre une garde native. Mission : connecté en Éditeur, tente de changer ton propre rôle → constate l’absence de l’option.

✅ Solution

Un utilisateur ne peut pas modifier son propre rôle ni s’accorder des caps qu’il n’a pas : garde-fou natif contre l’escalade de privilèges. Leçon pour tes plugins : vérifie les capabilities côté serveur (terrain 16).


🕹️ Mini-jeu 18 — Champs de profil personnalisés ⭐⭐⭐⭐ 💻

But : étendre le profil (aperçu code). Mission : imagine ajouter un champ « Téléphone » au profil — note comment.

✅ Solution

Nativement limité → on ajoute des champs via les hooks show_user_profile/edit_user_profile (+ personal_options_update pour sauver). C’est du code (terrain 12/15). Ou une extension (ACF, profils étendus). Le profil est extensible.


🕹️ Mini-jeu 19 — Auditer les rôles avec un plugin ⭐⭐⭐ 🛠️

But : visualiser qui peut quoi. Mission : avec Members, affiche la matrice des capabilities par rôle.

✅ Solution

La vue matricielle révèle des surprises (une cap accordée par une extension à un rôle inattendu). Auditer périodiquement = hygiène de sécurité, surtout après l’ajout d’extensions qui créent leurs propres rôles/caps.


🕹️ Mini-jeu 20 — Récap gestion des comptes ⭐⭐ 🛠️

But : valider le terrain (et la fin du bloc no-code). Mission : une plateforme saine : comptes nominatifs, moindre privilège, 2FA sur les admins, un rôle métier custom, Application Passwords pour les intégrations, sessions maîtrisées.

✅ Solution

Tu sais administrer les comptes et tu tiens la clé du headless (Application Passwords). Fin du parcours découverte/admin (terrains 01–10). Cap sur le code : environnement de dev (terrain 11).


Terrain suivant : 11 — Environnement de dev.