You are currently viewing Nettoyer l’interface utilisateur

Nettoyer l’interface utilisateur

  • Post category:WordPress

Le défi : mettre en place un environnement WordPress adapté pour chaque utilisateur

WordPress, une interface d’administration reconnue

Comme tous les outils de gestion de contenu, WordPress propose une interface d’administration afin de faciliter les mises à jour d’un site internet. Cette interface se révèle particulièrement réussie et est reconnue de ce fait pour sa simplicité d’utilisation. Mettre à jour un site internet avec WordPress peut s’avérer un véritable plaisir.

Mais dans les faits, l’interface de WordPress est rarement propre car le concepteur du site aura ajouté un thème graphique et de nombreux modules pour personnaliser celui-ci. Plus il y a d’options, plus l’utilisateur final risque de se perdre en cours de route.

Quand je choisis et achète un thème graphique (comme écrit auparavant, je ne choisis jamais de thèmes gratuits), il n’est pas rare que celui-ci soit proposé avec plusieurs extensions populaires et normalement payantes. Ce n’est pas un cadeau qui m’est fait puisque sans un Revolution Slider ou un WP Bakery par exemple, il ne me sera pas possible d’obtenir un résultat similaire à celui du site de démonstration, où j’ai découvert et analysé le thème graphique. Je devrai faire avec.

A côté du thème graphique, il y a bien sûr toutes les autres extensions que je souhaiterais ajouter, qui répondent à des manques dans les fonctionnalités de la version WordPress de base : formulaires, tableaux, boutons sociaux, etc.

En tant que concepteur de site internet, ça ne me dérange pas du tout d’ajouter plein d’extensions. Mais quand le site doit être transmis à un client, ou tout simplement à une personne qui n’a aucune connaissances informatiques, je me dois de rendre l’interface compréhensible.

Il va donc me falloir simplifier cette interface. Mais comment faire ?

Masquer des options de l’interface

Un thème graphique propose souvent un tas de fonctionnalités dont l’utilisateur final n’a rien à faire. Un portfolio, par exemple, est inutile pour beaucoup de clients. Il en est de même pour une rubrique dédiée au staff d’une entreprise. Mais ce n’est pas tout, WordPress propose lui aussi des options parfois inutiles. La section Commentaires par exemple, n’a pas d’intérêt pour un site vitrine, puisqu’elle fonctionne avec un système de blog.

Pour commencer, il va nous falloir identifier et retirer toutes les options non prévues et qui s’avèrent complètement inutiles pour l’utilisateur du site internet. Ces options ne seront plus accessibles, il faut donc les identifier soigneusement. Pour les supprimer nous allons ajouter un bloc de code au sein du fichier functions.php de notre thème graphique. Cela s’appelle des hooks.

Voici un bloc de lignes de code que vous pouvez personnaliser suivant vos besoins.

/* Cacher des rubriques entières dans la barre de gauche */
add_action( 'admin_menu', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
remove_menu_page('edit.php'); // Articles
remove_menu_page('upload.php'); // Media
remove_menu_page('edit.php?post_type=page'); // Pages
remove_menu_page('edit-comments.php'); // Commentaires
remove_menu_page('themes.php'); // Apparence
remove_menu_page('plugins.php'); // Extensions
remove_menu_page('users.php'); // Utilisateurs
remove_menu_page('tools.php'); // Outils
remove_menu_page('options-general.php'); // Réglages
}

/* Cacher des sous-rubriques dans la barre de gauche */
add_action( 'admin_menu', 'adjust_the_wp_menu', 999 );
function adjust_the_wp_menu() {
$page = remove_submenu_page( 'edit.php', 'edit.php' ); // Tous les articles
$page = remove_submenu_page( 'edit.php', 'post-new.php' ); // Ajouter articles
$page = remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=category' ); // Catégorie
$page = remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=post_tag' ); // Etiquettes
$page = remove_submenu_page( 'upload.php', 'media-new.php' ); // Ajouter Media
$page = remove_submenu_page( 'upload.php', 'upload.php' ); // Bibliotheque
$page = remove_submenu_page( 'edit.php?post_type=page', 'edit.php?post_type=page' ); // Toutes les pages
$page = remove_submenu_page( 'edit.php?post_type=page', 'post-new.php?post_type=page' ); // Ajouter une page

$page = remove_submenu_page( 'themes.php', 'themes.php' ); // Thèmes
$page = remove_submenu_page( 'themes.php', 'customize.php' ); // Personnaliser thème
$page = remove_submenu_page( 'themes.php', 'widgets.php' ); // Widgets
$page = remove_submenu_page( 'themes.php', 'nav-menus.php' ); // Menus
$page = remove_submenu_page( 'themes.php', 'theme-editor.php' ); // Editeur
$page = remove_submenu_page( 'plugins.php', 'plugins.php' ); // Extensions
$page = remove_submenu_page( 'plugins.php', 'plugin-install.php' ); // Installer plugin
$page = remove_submenu_page( 'plugins.php', 'plugin-editor.php' ); // Plugin Editor

$page = remove_submenu_page( 'users.php', 'users.php' ); // Tous les utilisateurs
$page = remove_submenu_page( 'users.php', 'user-new.php' ); // Ajouter un utilisateur
$page = remove_submenu_page( 'users.php', 'profile.php' ); // Votre profil
$page = remove_submenu_page( 'tools.php', 'tools.php' ); // Outils disponibles
$page = remove_submenu_page( 'tools.php', 'import.php' ); // Importer
$page = remove_submenu_page( 'tools.php', 'export.php' ); // Exporter

$page = remove_submenu_page( 'options-general.php', 'options-general.php' ); // Reglages general
$page = remove_submenu_page( 'options-general.php', 'options-writing.php' ); // Reglages ecriture
$page = remove_submenu_page( 'options-general.php', 'options-reading.php' ); // Reglages lecture
$page = remove_submenu_page( 'options-general.php', 'options-discussion.php' ); // Reglages discussion
$page = remove_submenu_page( 'options-general.php', 'options-media.php' ); // Reglages medias
$page = remove_submenu_page( 'options-general.php', 'options-permalink.php' ); // Reglages permaliens
}

Nous noterons que les sections sont masquées de l’interface d’adminitration mais restent accessibles pour toutes personnes qui connaîtraient leurs adresses. Cette méthode n’enlève pas de droits utilisateurs, elle ne fait que cacher des options.

Une fois cette configuration effectuée, vous pouvez encore vous retrouver avec certaines rubriques non souhaitées, correspondant aux extensions installées et aux options de votre thème graphique. Nous n’allons pas supprimer ces options car il peut être utile d’y retourner ultérieurement. Du coup nous allons les masquer pour certains utilisateurs, et pour d’autres non.

Personnaliser des options utilisateurs

WordPress comprend un système de droits utilisateur qui s’articule autour de rangs : administrateur, éditeur, auteur, contributeur, abonné. Ces rangs WordPress attribuent essentiellement des droits d’écriture : qui a le droit de rédiger un article, qui a le droit de rédiger une page, etc. Cela ne va pas très loin et j’utilise de ce fait un certain nombre d’extensions que je trouve bien utiles, toujours avec ce souci de simplifier l’utilisation de WordPress pour le client final. En voici quelques unes :

  • AAM : Gestion des droits utilisateur.
  • Peter’s login redirect : Paramétrage des pages atterrissage de l’utilisateur, lors d’une connection / déconnection
  • User switching : Basculer sur le profil d’un utilisateur, pour vérifier ce qu’il voit
AAM

L’extension AAM va permettre de choisir quelles rubriques et sous-rubriques sont affichées, pour un rang ou pour un utilisateur. Elle permet de garder pour vous certaines options, et de les masquer pour d’autres utilisateurs, quelque soit leurs rangs. AAM permet également de créer des rangs d’utilisateur avec des droits spécifiques. Cela peut s’avérer utile en cas de besoin spécifique (par exemple, un auteur qui ne pourra modifier qu’une seule page du site).

L’extension Peter’s login redirect va permettre d’orienter un utilisateur (ou tous les utilisateurs d’un même rang) vers une page spécifique, lors de sa connection. Par défaut un utilisateur est redirigé vers le tableau de bord, mais souvent celui-ci ne contient rien de pertinent. Rediriger l’internaute vers la liste des articles ou des pages peut alors s’avérer un bon compromis (d’autant plus si vous décidez de masquer le tableau de bord).

Enfin, l’extension User switching va vous permettre de vérifier le travail accompli, sans avoir besoin de vous connecter et de vous déconnecter. Vous n’aurez pas besoin non plus des mots de passe des autres utilisateurs. Bien entendu, il faut être administrateur d’un site internet pour utiliser une telle extension.

Masquer des widgets

Enfin, l’interface d’administration peut être allégée via le menu Apparence / Widgets. WordPress comprend plein de widgets inutiles, et les thèmes graphiques en ajoutent également. Je saute bien souvent cette étape, mais il est bien sûr possible de virer les widgets WordPress par défaut :

/* Supprimer des widgets */
function remove_default_widgets() {
unregister_widget('WP_Widget_Pages'); // Pages
unregister_widget('WP_Widget_Calendar'); // Calendrier
unregister_widget('WP_Widget_Archives'); // Archives
unregister_widget('WP_Widget_Links'); // Liens
unregister_widget('WP_Widget_Meta'); // Meta
unregister_widget('WP_Widget_Search'); // Rechercher
unregister_widget('WP_Widget_Recent_Posts'); // Articles recents
unregister_widget('WP_Widget_Recent_Comments'); //Commentaires recents
unregister_widget('WP_Widget_RSS'); // Flux RSS
unregister_widget('WP_Widget_Tag_Cloud'); // Mots clef
}
add_action('widgets_init', 'remove_default_widgets', 11);

D’autres idées pour simplifier une interface client ? N’hésitez pas à les partager ci-dessous !