Fonctionnalités logiciel

Comment gérer les droits d'accès à votre logiciel SaaS ?

Découvrez les techniques de gestion des autorisations des vos utilisateurs avec droits d'accès que vous pouvez implémenter dans votre logiciel.

Qu'est-ce que la gestion des droits d'accès ?

En complément de l'étape de connexion qui nous a permis de valider l'identité de l'utilisateur, la gestion des droits d'accès dans un logiciel, permet de définir précisément qui a droit d'accéder à un élément de votre système.

Les permissions d'accès peuvent se gérer de 2 manières :

  • le contrôle statique : est-ce que l'utilisateur a accès à une fonctionnalité indépendamment de la donnée ?
  • le contrôle dynamique : est-ce que l'utilisateur à accès en fonction de la donnée ?

Et comme souvent, nous avons la possibilité de combiner les 2 si votre projet le nécessite.

Dans cet article, nous allons vous présenter les différents types de droits d'accès que vous pouvez inclure dans votre logiciel ainsi que différentes techniques de mise en place.

Les différents types de droits d'accès

Les droits d'accès aux données

Les données gérées par votre logiciel ne sont pas accessibles à l'intégralité de vos utilisateurs.

Par exemple, chaque utilisateur peut avoir accès à ses données personnelles et celle de son entreprise seulement.

C'est ce que l'on appelle l'accès aux données selon un périmètre.

Lorsque l'on se situe au niveau d'une donnée, par exemple un projet dans un logiciel de gestion de projet, nous pouvons définir plusieurs types d'accès unitaires.

  • le droit de lecture : est-ce que l'utilisateur peut voir le projet ?
  • le droit d'écriture : est-ce que l'utilisateur peut modifier le projet ?
  • le droit de suppression : est-ce que l'utilisateur peut supprimer le projet ?
  • le droit de création : est-ce que l'utilisateur peut créer un nouveau projet ?

Et pour chacun de ces droits vous pouvez définir vos propres règles !

Vous l'aurez compris la gestion des droits d'accès peut être gérée de manière extrêmement fine et se révéler complexe à l'usage.

Nous vous conseillons de faire simple dans un premier temps !

Si besoin, nos outils nous permettront de vous accompagner sur cette mise en place jusqu'à l'implémentation de workflow de traitement de vos données.

Les droits d'accès aux fonctionnalités

L'autre catégorie de droits d'accès concernent les fonctionnalités de votre logiciel.

  • Est-ce que l'utilisateur peut afficher un bouton ou accéder à une page ?
  • Est-ce qu'il a accès à une fonctionnalité en mode simple ou expert ?

Ce type de droit d'accès est particulièrement adapté pour gérer différentes offres commerciales.

Par exemple, certaines fonctionnalités disponibles à l'ensemble de vos utilisateurs et d'autres nécessitant la souscription d'un abonnement premium.

Dans ce cas de figure, nous vous conseillons de lister l'ensemble des accès et de définir une règle de gestion pour chacun d'eux. Cela rendra votre code beaucoup plus évolutif et vous n'aurez pas besoin de retoucher l'ensemble de votre logiciel si vous souhaitez ajouter une offre supplémentaire.

Comment gérer les droits d'accès ?

Définir des typologies d'utilisateurs

Votre logiciel peut gérer différents types d'utilisateurs.

En fonction du type de l'utilisateur, vous pouvez lui donner accès ou non aux données et aux fonctionnalités de votre produit.

Voici un exemple de différents types d'utilisateurs possibles :

  • administrateurs : généralement réservé aux personnes responsables de la gestion du système
  • manager
  • utilisateur : généralement vos clients
  • support technique
  • comptable : pour récupérer les factures

Vous pouvez ensuite avoir des types spécifiques à votre domaine : coach, formateur, médecin du travail, responsable de point de vente ou de région.

La gestion de types d'utilisateurs vous permet d'avoir une mise en place proche de votre domaine et est généralement plus facilement compréhensible par l'exemple des acteurs.

De plus, cela permet une gestion uniforme des droits.

Nous pouvons même aller plus loin en réalisant des interfaces dédiées à certains types de profils.

Ainsi, seul les administrateurs et les comptables pourraient avoir accès aux backoffices et le reste des utilisateurs se connecteraient sur l'interface front.

Ce type de mise en place permet d'avoir une interface optimisée pour chaque cas d'utilisation tout en garantissant une meilleure gestion des accès.

Définir des niveaux de droits pour des utilisateurs

Cette technique correspond aux logiciels dont les droits d'un utilisateur peuvent évoluer dans le temps.

Par exemple, si votre logiciel possède une version freemium et un ou plusieurs niveaux d'abonnement.

Un utilisateur peut être freemium pendant un temps puis prendre la version payante pendant quelques mois et revenir ensuite en freemium.

Dans un autre cas de figure, un utilisateur pourrait être promu manager en l'absence de son responsable puis reviendrait au niveau normal lorsque ce dernier serait de retour dans l'entreprise.

Définir des périmètres

Votre logiciel peut définir différentes notions de périmètre afin de gérer l'accès aux données.

En fonction du contexte, les utilisateurs n'accèdent qu'aux données de leur périmètre ou accèdent simplement en visualisation à l'extérieur de leur zone.

Vous pouvez par exemple gérer :

  • des lieux ou zones géographiques : ce cas de figure correspond à la gestion de point de vente ou de zones commerciales.
  • des marques : pour les groupes gérant plusieurs marques ayant des identités différentes.
  • des gammes de produits : parfois appelé "univers" (l'univers ski, l'univers randonnée...).

Pour aller plus loin nous pouvons vous proposer de gérer ces périmètres de manière hiérarchique ainsi les utilisateurs de plus haut niveau accèdent directement aux données des niveaux inférieurs.

Par exemple, un responsable régional peut accéder aux données des secteurs et point de vente de sa région.

Définir des droits d'accès temporaires

Votre logiciel Saas peut proposer une version d'essai de 14 jours.

Dans ce cas, il s'agit d'un droit d'accès temporaire au service qui sera coupé une fois la période révolue.

Gérer les accès avec des crédits d'utilisation ou de quota

Dans ce type d'implémentation, vous définissez un système de crédit ainsi que le nombre de crédits que coute chacune des actions disponibles dans votre logiciel.

Par exemple :

  • création d'un questionnaire = 1 crédit
  • génération d'un bilan PDF individuel détaillé = 3 crédits
  • génération d'un bilan PDF collectif = 5 crédits

Vous définissez un nombre de crédit utilisable pour chaque utilisateur. Généralement un achat de pack de crédit ou un quota mensuel en fonction d'un abonnement.

Cette technique permet à vos utilisateurs de ne payer que ce qu'ils consomment réellement.

Les pièges à éviter lors de la mise en place de droits d'accès

Faire trop complexe

Votre système de gestion des droits d'accès ne doit pas brider vos utilisateurs.

Si vous partez sur une gestion complexe dès le départ, vos utilisateurs passeront plus de temps à essayer de comprendre cette mise en place plutôt qu'à utiliser votre outil et vous risquez de les perdre.

Ne pas respecter les codes de votre secteur

Vous pouvez avoir une idée géniale mais si l'intégralité de vos concurrents fonctionne d'une manière similaire et différente de la vôtre, cela peut perdre également vos utilisateurs.

Si vos utilisateurs ont l'habitude de l'achat de pack de crédit et que vous ne le proposez pas, cela peut représenter un frein bloquant à l'utilisation de votre outil.

Comme pour chaque fonctionnalité, nous vous conseillons de bien comprendre votre cible avant de vous lancer.

Ne pas prévoir une mise en place centralisée

La gestion des droits d'accès est un élément complexe dans votre système.

La mise en place technique doit être centralisée afin que votre système soit stable et évolutif.

Les développeurs juniors ont tendance à gérer cela bouton par bouton et à terme cela vous coutera très cher...

Ne pas prévoir de documentation

Vous pouvez avoir le meilleur système au monde si vous ne l'expliquer pas clairement vos utilisateurs seront perdus et parfois vos développeurs également.

Pensez à faire un page détaillant l'intégralité des droits d'accès et ajouter des liens lors de blocages de votre interface pour que l'utilisateur puisse en comprendre la raison en toute autonomie.

Conclusion

Dans cet article, nous vous avons présenté tout ce qu'il y a à savoir sur la mise en place de droits d'accès dans un logiciel.

Vous savez à présent qu'il s'agit d'une fonctionnalité critique de votre logiciel qu'il ne faut pas prendre à la légère.

Même si nous avons couvert un large périmètre de possibilité, nous vous conseillons de commencer par faire simple. Vous aurez le temps de faire évoluer les choses lorsque votre base d'utilisateurs sera plus importante.

Nous espérons que ces conseils vous auront été utiles et nous vous souhaitons le meilleur dans vos développements.