HandyCafe Docs
owner

Roles et permissions des caissiers

HandyCafe utilise le controle d'acces base sur les roles (RBAC) pour gerer ce que chaque membre du personnel peut voir et faire dans le systeme. Chaque caissier se voit attribuer un role qui determine ses permissions exactes dans l'ensemble de l'application.


Types de roles

HandyCafe propose trois types de roles :

Admin

Le role Admin accorde un acces illimite a toutes les fonctionnalites du systeme. Les administrateurs peuvent gerer les caissiers, consulter tous les rapports, modifier les parametres et effectuer toute operation. Ce role est destine aux proprietaires de cafes et aux responsables seniors qui ont besoin d'un controle total.

Il y a toujours au moins un compte Admin dans le systeme. Le role Admin ne peut pas etre supprime ni voir ses permissions reduites.

Par defaut

Le role Par defaut n'a aucune permission speciale attribuee. Un caissier avec le role Par defaut peut se connecter et effectuer des operations de base mais ne peut pas acceder aux zones restreintes comme la gestion des membres, les rapports ou la configuration des consoles. Utilisez-le comme point de depart pour les nouvelles recrues qui n'ont besoin de gerer que des taches elementaires.

Personnalise

Les roles personnalises vous permettent de definir exactement les permissions d'un caissier. Vous choisissez un nom, definissez un niveau, puis cochez ou decochez les indicateurs de permissions individuels dans six categories. Cela vous donne un controle precis sur les acces de chaque membre du personnel.


Categories de permissions

HandyCafe dispose de 22 indicateurs de permissions individuels organises en 6 categories. Chaque indicateur controle une action ou une vue specifique dans le systeme.

1. Authentification (1 indicateur)

Indicateur Description
CLIENT_LOGIN Autorise le caissier a connecter les PC clients (demarrer des sessions au nom des clients)

Sans cette permission, un caissier ne peut ni demarrer ni gerer les sessions clients.

2. Membres (6 indicateurs)

Indicateur Description
VIEW Voir la liste des membres et les details des membres
ADD Creer de nouveaux comptes membres
DELETE Supprimer des comptes membres du systeme
UPDATE Modifier les informations d'un membre existant (nom, solde, etc.)
DISPLAY_EMAIL Voir les adresses e-mail des membres dans la liste
DISPLAY_GSM Voir les numeros de telephone des membres dans la liste

Un caissier avec uniquement VIEW peut parcourir la liste des membres mais ne peut pas en creer, modifier ou supprimer. Les indicateurs DISPLAY_EMAIL et DISPLAY_GSM controlent si les informations de contact sensibles sont visibles. C'est utile pour la conformite en matiere de vie privee lorsque tout le personnel ne doit pas voir les donnees personnelles.

3. Consoles (4 indicateurs)

Indicateur Description
VOIR Voir la page des consoles et les cartes de statut des consoles
ADD Enregistrer de nouvelles consoles de jeux dans le systeme
DELETE Retirer des consoles du systeme
UPDATE Modifier les details des consoles (nom, adresse MAC, tarification)

4. Journaux (4 indicateurs)

Indicateur Description
VOIR Accéder à la page des journaux
DISPLAY_FULL Voir l'historique complet des journaux (toutes les dates)
DISPLAY_TODAY Voir uniquement les entrees du jour
DELETE Supprimer des entrees de journal

Si un caissier dispose de VIEW et DISPLAY_TODAY mais pas de DISPLAY_FULL, il ne peut voir que les entrees de journal de la journee en cours. C'est utile pour les superviseurs de quart qui doivent surveiller l'activite courante sans acceder aux historiques.

5. Rapports (3 indicateurs)

Indicateur Description
PAGE_VIEW Acceder a la page des rapports/rapport de caisse
DISPLAY_FULL Voir l'historique complet des rapports (toutes les dates)
DISPLAY_TODAY Voir uniquement les donnees du jour

Comme pour les journaux, les permissions de rapport vous permettent de controler si le personnel peut voir l'historique financier complet ou uniquement les chiffres du jour. Un caissier avec PAGE_VIEW et DISPLAY_TODAY peut consulter les transactions de son propre quart mais ne peut pas acceder aux donnees historiques de revenus.

6. Modes de paiement (4 indicateurs)

Indicateur Description
MANAGE Acceder a la zone de gestion des modes de paiement
ADD Creer de nouveaux modes de paiement (especes, carte, paiement mobile, etc.)
DELETE Retirer des modes de paiement du systeme
UPDATE Modifier les details d'un mode de paiement existant

Recapitulatif

Categorie Indicateurs Total
Authentification CLIENT_LOGIN 1
Membres AFFICHER, AJOUTER, SUPPRIMER, MISE À JOUR, DISPLAY_EMAIL, DISPLAY_GSM 6
Consoles AFFICHER, AJOUTER, SUPPRIMER, METTRE À JOUR 4
Journaux VUE, DISPLAY_FULL, DISPLAY_TODAY, DELETE 4
Rapports PAGE_VIEW, DISPLAY_FULL, DISPLAY_TODAY 3
Modes de paiement GÉRER, AJOUTER, SUPPRIMER, METTRE À JOUR 4
Total 22

Fonctionnement des permissions

Chaque categorie de permissions possede un ensemble d'indicateurs individuels. Chaque indicateur peut etre active ou desactive independamment a l'aide de cases a cocher dans l'editeur de roles.

L'interface propose des cases a cocher pour chaque permission. Cochez ou decochez simplement les permissions que vous souhaitez accorder ou revoquer. Le systeme gere automatiquement le stockage sous-jacent : vous n'avez pas besoin de calculer de valeurs manuellement.

Par exemple, dans la catégorie Membres, vous pouvez activer ou désactiver indépendamment : VIEW, ADD, DELETE, UPDATE, DISPLAY_EMAIL et DISPLAY_GSM. Un caissier avec uniquement VIEW et UPDATE coches peut voir et modifier les membres, mais ne peut pas en ajouter ni en supprimer.


Creer un compte caissier

  1. Rendez-vous dans Gestion > Caissiers dans l'application serveur.
  2. Cliquez sur le bouton Ajouter un caissier.
  3. Saisissez le nom d'utilisateur du caissier. C'est ce qu'il utilisera pour se connecter.
  4. Definissez un mot de passe. Choisissez un mot de passe fort. Ce compte peut avoir acces a des donnees financieres et aux informations des clients.
  5. Selectionnez un role dans le menu deroulant. Vous pouvez choisir Admin, Par defaut ou tout role personnalise que vous avez cree.
  6. Cliquez sur Enregistrer pour creer le compte.

Le nouveau caissier peut desormais se connecter au serveur HandyCafe avec ses identifiants.


Creer un role personnalise

  1. Rendez-vous dans Gestion > Roles des caissiers dans l'application serveur.
  2. Cliquez sur le bouton Ajouter un role.
  3. Saisissez un nom de role (par exemple "Superviseur de quart", "Caissier junior", "Personnel de nuit").
  4. Definissez le niveau du role. Les niveaux superieurs indiquent plus d'autorite. Il est utilise pour l'ordre d'affichage et la hierarchie organisationnelle.
  5. Cochez ou decochez les permissions individuelles dans les six categories. Chaque case a cocher correspond a l'un des 22 parametres de permission.
  6. Cliquez sur Enregistrer pour creer le role.

Une fois cree, vous pouvez attribuer ce role a n'importe quel compte caissier.


Application cote serveur

Les permissions sont appliquees cote serveur et pas uniquement masquees dans l'interface. Meme si quelqu'un parvenait a contourner l'interface client ou a manipuler le code frontend, le serveur valide chaque requete par rapport aux permissions du role du caissier avant de l'executer.

Cela signifie :

  • Un caissier sans MEMBER_DELETE ne peut pas supprimer un membre, meme en envoyant une requete API directe.
  • Un caissier sans REPORT_DISPLAY_FULL ne peut pas recuperer les donnees de rapports historiques, quelle que soit la methode d'acces au systeme.
  • Tous les controles de permissions s'effectuent dans le backend Rust avant toute operation en base de donnees.

Securite : limitation du debit

Pour se proteger contre les attaques par force brute, HandyCafe applique une limitation du debit de connexion :

  • 5 tentatives de connexion echouees dans une fenetre de 10 minutes declenche un verrouillage automatique.
  • Le verrouillage dure 15 minutes, durant lesquelles aucune tentative de connexion n'est acceptee pour ce compte.
  • A l'expiration de la periode de verrouillage, le caissier peut reessayer.

Cela s'applique a la fois a l'ecran de connexion du serveur et a la connexion du caissier sur les PC clients.


Gestion des quarts

L'activite de chaque caissier est suivie individuellement tout au long de son quart :

  • Toutes les transactions (paiements de sessions, paiements de commandes, etc.) sont enregistrees avec l'identite du caissier.
  • La caisse enregistreuse suit les soldes d'ouverture et de fermeture pour chaque quart de caissier separement.
  • Des rapports de quart peuvent etre generes par caissier, montrant exactement le montant des revenus traites durant leur quart.
  • Lorsqu'un caissier se deconnecte, son quart est cloture et une synthese est disponible pour consultation.

Ce suivi par caissier garantit la responsabilite et facilite l'identification des ecarts en fin de quart.


Exemples de permissions

Scenario 1 : Caissier de base Une nouvelle recrue qui n'a besoin que de demarrer/arreter des sessions et d'encaisser des paiements. Attribuez-lui un role personnalise avec uniquement CLIENT_LOGIN active. Elle ne peut pas voir les membres, les rapports, les journaux ou les consoles.

Scenario 2 : Superviseur de quart Un employe de confiance qui supervise la salle. Attribuez-lui un role avec CLIENT_LOGIN, MEMBER_VIEW, MEMBER_UPDATE, CONSOLE_VIEW, REPORT_PAGE_VIEW et REPORT_DISPLAY_TODAY. Il peut gerer les sessions, consulter (mais pas supprimer) les membres, voir les consoles et verifier les revenus du jour, mais ne peut pas acceder aux rapports historiques complets ni modifier les modes de paiement.

Scenario 3 : Responsable de nuit Un responsable qui gere le quart de nuit de maniere autonome. Accordez-lui la plupart des permissions sauf MEMBER_DELETE, LOG_DELETE et PAYMENT_METHOD_DELETE. Il peut tout gerer durant son quart mais ne peut pas supprimer definitivement des donnees critiques.

Scenario 4 : Personnel avec restriction de confidentialite Un caissier qui ne devrait pas voir les coordonnees des clients. Creez un role avec MEMBER_VIEW active mais DISPLAY_EMAIL et DISPLAY_GSM desactives. Il peut rechercher des membres par nom mais les coordonnees personnelles sont masquees.