Accès au POS
Pour contrôler l'accès aux fonctionnalités de WCPOS, vous pouvez utiliser les capacités et les rôles d'utilisateur de WordPress. En attribuant des rôles spécifiques aux utilisateurs et en configurant leurs capacités, vous pouvez adapter les niveaux d'accès pour différents utilisateurs du POS. Le plugin WCPOS s'intègre aux rôles existants de WordPress et introduit un rôle spécifique pour les caissiers.
Le tableau suivant résume les principaux rôles d'utilisateur dans le POS et leurs capacités respectives :
| Rôle | Créé par | Description |
|---|---|---|
| Administrateur | WordPress | Le propriétaire du site qui a toutes les capacités activées par défaut. |
| Shop Manager | WooCommerce | Ce rôle est destiné aux utilisateurs qui ont besoin d'accéder au POS et de gérer les paramètres du POS. Les Shop Managers peuvent ne pas avoir la permission d'installer des plugins ou d'effectuer d'autres tâches administratives. |
| Caissier | WCPOS | Ce rôle est ajouté par l'extension WCPOS et s'adresse aux utilisateurs qui se serviront principalement du PDV. Les caissiers peuvent tenir la caisse et, par défaut, créer et modifier des produits et des clients — mais ils n'ont pas accès à WP Admin pour modifier les paramètres du PDV, installer des extensions ou créer des articles de blog. Vous pouvez ajuster chacune de ces autorisations (voir ci-dessous). |
Depuis la version 1.10, le rôle Caissier dispose des autorisations de création et de modification des produits dès l'installation, afin que le personnel puisse corriger un prix ou ajouter un produit sans administrateur. La suppression des produits reste facultative : elle n'est pas autorisée par défaut. Chaque modification de produit ou de coupon est toujours vérifiée côté serveur par rapport aux autorisations WordPress réelles de l'utilisateur ; si le serveur la refuse, elle est annulée sur l'appareil et le motif est indiqué au caissier. Ajustez ces autorisations sur l'écran Accès.
Pour attribuer et gérer les rôles et les autorisations des utilisateurs, accédez à WP Admin > POS > Access, où les interrupteurs d'autorisation sont regroupés par tâche (produits, commandes, clients, etc.) afin de mieux comprendre l'effet de chacun.
L'interrupteur Gérer les paramètres du PDV (manage_woocommerce_pos) contrôle les pages de paramètres sous WP Admin > POS et l'API de paramètres correspondante. L'écran Paramètres dans la fenêtre du PDV est différent : il contient les préférences propres à l'appareil, comme l'imprimante, le lecteur de codes-barres, le thème et les options d'affichage ; elles sont stockées uniquement sur cet appareil et accessibles à tous les utilisateurs pouvant ouvrir le PDV. Désactiver Gérer les paramètres du PDV ne masque pas cet écran, et les modifications effectuées par un caissier n'atteignent pas le serveur.
La liste des clients du PDV affiche tous les utilisateurs WordPress, y compris le personnel, car tout compte peut être le client d'une commande. La modification est plus restreinte que la consultation : un utilisateur du PDV qui n'est pas administrateur ne peut pas modifier ni supprimer un compte disposant d'autorisations du personnel, quel que soit l'état de l'interrupteur Gérer les clients. Le personnel comprend les administrateurs, les gestionnaires de boutique, les autres caissiers et toute personne ayant un rôle de rédaction dans wp-admin, comme les éditeurs, auteurs et contributeurs (autorisations manage_options, manage_woocommerce, edit_users et edit_posts). Seuls les administrateurs peuvent modifier les comptes du personnel depuis le PDV.
Tâches partiellement autorisées
Chaque interrupteur de tâche sur l'écran Accès correspond à un ensemble d'autorisations. Lorsqu'un rôle n'en possède qu'une partie, la tâche est indiquée comme partiellement autorisée. Ouvrez Avancé pour voir les autorisations individuelles manquantes. Cocher la case accorde les autorisations restantes ; la décocher supprime l'ensemble des autorisations.
Jusqu'à la version 1.10.17 incluse, les mises à jour de l'extension réappliquaient les autorisations par défaut aux rôles Administrateur, Gestionnaire de boutique et Caissier à chaque mise à jour. Une boutique qui avait désactivé Créer et modifier des produits pour les caissiers retrouvait l'option activée après chaque mise à jour, ce qui explique les changements d'autorisations observés dans certaines boutiques. Ce problème est corrigé depuis la première version suivant la 1.10.17 : une mise à jour n'accorde que les autorisations nouvelles dans cette version ; toute autorisation supprimée reste donc supprimée. Désactiver puis réactiver l'extension réinitialise toujours chaque rôle à ses valeurs par défaut ; cette procédure constitue la réparation documentée et n'est pas déclenchée par une mise à jour.
Le tableau suivant fournit un aperçu des capacités de WordPress associées au plugin WCPOS :
| Capacité | Description | Exemple d'utilisation |
|---|---|---|
access_woocommerce_pos | Autorise l'accès à l'interface WCPOS. | Activer cette option donnerait au caissier l'autorisation d'accéder et d'utiliser le POS, lui permettant ainsi d'effectuer des transactions de point de vente. |
manage_woocommerce_pos | Permet la gestion des paramètres et des configurations de WCPOS. | Activer cette option donnerait au caissier la capacité de modifier les paramètres liés au POS, tels que les méthodes de paiement ou les modèles de reçus. |
create_users | Permet au caissier de créer de nouveaux comptes d'utilisateur WordPress. | Désactiver cette option empêcherait le caissier de créer de nouveaux comptes clients dans le POS. |
edit_others_shop_orders | Permet l'édition des commandes de boutique créées par d'autres caissiers. | Désactiver cette option empêcherait un caissier de modifier des commandes de boutique créées par un autre caissier dans le POS. |
edit_product | Permet au caissier d'éditer les détails des produits. | Désactiver cette option empêcherait le caissier de modifier les détails des produits disponibles dans le POS. |
edit_published_products | Permet au caissier d'éditer les produits publiés. | Désactiver cette option empêcherait le caissier d'apporter des modifications aux produits déjà publiés dans le POS. |
edit_shop_orders | Permet au caissier d'éditer les commandes de boutique. | Désactiver cette option empêcherait le caissier de modifier les détails des commandes de boutique, tels que le statut de la commande ou les détails du client, dans le POS. |
edit_users | Permet au caissier d'éditer des comptes d'utilisateurs existants. | Désactiver cette option empêcherait le caissier de modifier les détails des comptes clients, tels que l'adresse de facturation, dans le POS. |
list_users | Permet au caissier de voir une liste de comptes d'utilisateurs. | Désactiver cette option empêcherait le caissier de rechercher ou de sélectionner des clients dans le POS. |
manage_product_terms | Permet au caissier de gérer les catégories et les tags de produits. | Désactiver cette option empêcherait le caissier de créer, d'éditer ou de supprimer des catégories ou des tags de produits dans le POS. |
publish_shop_orders | Permet au caissier de publier des commandes de boutique. | Désactiver cette option empêcherait le caissier de finaliser et de traiter de nouvelles commandes de boutique dans le POS. |
read_private_products | Permet au caissier d'accéder aux détails des produits privés. | Désactiver cette option empêcherait le caissier de voir les détails des produits privés disponibles dans le POS. |
read_private_shop_coupons | Permet au caissier d'accéder aux détails des coupons de boutique privés. | Désactiver cette option empêcherait le caissier de voir les détails des coupons de boutique privés dans le POS. |
read_private_shop_orders | Permet au caissier d'accéder aux détails des commandes de boutique privées. | Désactiver cette option empêcherait le caissier de voir les détails des commandes de boutique privées dans le POS. |
read | Permet l'accès à l'Admin WordPress. | Désactiver cette option empêche le caissier d'accéder au tableau de bord WordPress et à la page de profil utilisateur. |
En attribuant les capacités appropriées à chaque rôle, vous pouvez affiner l'accès et les autorisations pour différents utilisateurs dans le POS. Cela vous permet de contrôler qui peut effectuer certaines actions, voir des informations sensibles et apporter des modifications à votre boutique.
Pour plus d'informations détaillées sur la gestion des rôles et des capacités des utilisateurs dans WordPress, vous pouvez consulter le Codex de WordPress.
Ce que chaque rôle par défaut peut faire, en un coup d'œil
Avec les capacités par défaut en place, les trois rôles se comportent comme suit dans le POS :
- Administrator — accès complet au POS et à la gestion.
- Shop Manager — accès complet au POS et à la gestion, à l'exception des actions qui nécessitent la capacité d'installer des plugins (telles que l'installation ou l'activation d'extensions POS).
- Caissier — processus de vente PDV habituel (parcourir les produits, prendre des commandes, traiter les paiements, imprimer des reçus et gérer les clients), avec en plus la création et la modification de produits par défaut (la suppression est facultative), mais sans accès aux paramètres, aux journaux ni à l'administration de la boutique.
Pour le détail complet par point de terminaison — incluant les points de terminaison du plugin Pro, le comportement d'expiration des jetons et des conseils pour distinguer les échecs de capacité des échecs de jeton — consultez la référence Accès aux points de terminaison par rôle.
Un utilisateur ayant plusieurs rôles
WordPress permet à un compte de cumuler plusieurs rôles, même si l'écran de profil ne l'affiche que lorsqu'une extension comme Members ajoute les cases à cocher des rôles. WordPress fusionne les autorisations de tous les rôles du compte ; un second rôle ne retire donc généralement rien à lui seul. Les extensions de gestion des rôles changent la donne. Members active par défaut Les autorisations refusées doivent toujours l'emporter sur les autorisations accordées : une autorisation marquée Refuser sur n'importe lequel des rôles du compte l'emporte sur une autorisation accordée par tous les autres rôles, quel que soit leur ordre. Un administrateur qui est également client hérite de chaque Refuser appliqué au rôle Client.
Le résultat dépend de la version de WCPOS. Les versions actuelles de WCPOS refusent la connexion au PDV et indiquent les autorisations manquantes :
Par exemple, un compte Administrateur et Client auquel les refus ci-dessus s'appliquent voit le message suivant :
Ce compte ne peut pas utiliser le PDV. Autorisations manquantes : publish_shop_orders, read_private_products, read_private_shop_orders, list_users. Il possède les rôles Client et Administrateur. Une autorisation refusée dans un rôle peut l'emporter sur une autorisation accordée dans un autre ; les extensions de gestion des rôles comme Members appliquent d'abord le refus. Supprimez le rôle supplémentaire ou annulez le refus dans l'éditeur de rôles.
Les anciennes versions vérifiaient uniquement access_woocommerce_pos lors de la connexion ; comme les refus ne la suppriment pas, le compte se connectait, puis tous les écrans échouaient : aucun produit ni client, et impossible d'enregistrer les commandes. Sur ces versions, le journal du PDV dans État de la boutique → Journaux, sur l'appareil concerné, consigne chaque requête refusée avec le code du serveur. woocommerce_rest_cannot_view pour les produits signifie que read_private_products est manquante ; pour les clients, il s'agit de list_users ; et woocommerce_rest_cannot_create pour une commande signifie que publish_shop_orders est manquante. Ces entrées sont signalées sous AUTH201.
Pour l'administrateur du site : supprimez le rôle supplémentaire du compte (Utilisateurs → Tous les utilisateurs, puis modifiez le compte), ou ouvrez ce rôle dans l'éditeur de rôles et annulez les marques Refuser des autorisations indiquées. L'écran Accès de WP Admin affiche uniquement les autorisations accordées ; un Refuser défini par un éditeur de rôles n'y apparaît pas. Une fois les rôles corrigés, un utilisateur ayant une session PDV active se déconnecte puis se reconnecte ; un utilisateur dont la connexion a été refusée se reconnecte simplement.