Rôles & Niveaux d'accès

Comprendre le système de rôles de CNX LINK et les permissions associées à chaque niveau d'accès.

Vue d'ensemble

CNX LINK s'appuie sur un système de rôles fonctionnels pour contrôler l'accès aux modules (projets, requêtes, documents, événements, administration).

Les rôles sont exposés par l'API via l'endpoint GET /v1/auth/roles et sont stockés dans le champ users.status.

Cette page donne une vue produit/fonctionnelle ; pour le détail technique, référez-vous aussi à la documentation API et aux contrôleurs concernés.

Rôles disponibles

P

Prospect

Utilisateur en phase de découverte de la plateforme.

  • Accès limité aux fonctionnalités publiques et basiques.
  • Peut recevoir des événements d'information et des notifications spécifiques.
  • Peut être converti en Client ou Client Promoteur.
C

Client

Utilisateur client standard de la plateforme CNX LINK.

  • Accès à ses propres projets, requêtes et documents liés.
  • Peut créer des requêtes, commenter, joindre des documents.
  • Accès aux événements et discussions auxquels il est associé.
CP

Client Promoteur

Client clé, souvent porteur ou sponsor de projets.

  • Mêmes droits qu'un Client sur ses projets et requêtes.
  • Visibilité renforcée sur les projets sponsorisés.
  • Peut recevoir plus de notifications et de rapports.
A

Assistant

Rôle attribué aux assistants des clients, avec des accès réduits aux documents sensibles et fonctionnalités limitées.

  • Peut aider à la création et au suivi des requêtes pour le compte de clients.
  • Accès réduit aux documents sensibles (pas d'accès complet à tous les documents).
  • Accès partiel à certains écrans de back-office (selon les contrôleurs).
  • N'a pas les pleins pouvoirs d'un Administrateur.
A

Administrateur

Membre de l'équipe CNX (interne), avec des droits avancés sur les données.

  • Peut accéder à la plupart des écrans de back-office.
  • Peut voir et traiter les requêtes des clients.
  • Peut gérer les projets, événements et documents tactiques/opérationnels.
  • N'a pas accès aux documents stratégiques (contrats, TDR, offres, lettres, devis, factures).
V

Visualiseur

Rôle en lecture seule pour consulter les données sans pouvoir les modifier.

  • Accès en lecture seule aux projets, requêtes et documents.
  • Peut consulter les événements et discussions.
  • Accès à /v1/all-documents (rôle admin en lecture seule).
  • Pas de droits de modification ou de création.
P

Partenaire

Partenaire externe de CNX avec accès limité aux projets et documents partagés.

  • Accès aux projets et documents qui lui sont explicitement partagés.
  • Peut consulter et commenter sur les projets assignés.
  • Accès limité aux fonctionnalités de la plateforme.
SA

Super Administrateur

Rôle le plus élevé, réservé à l'équipe CNX pour l'administration globale.

  • Accès complet à toutes les ressources (utilisateurs, projets, requêtes, événements).
  • Peut modifier le mot de passe d'un utilisateur, générer des fiches d'identité PDF, etc.
  • Accès aux vues globales comme /v1/all-documents et aux actions sensibles.

Matrice des permissions

Cette matrice reflète la logique actuellement implémentée dans les contrôleurs (notamment AuthController, ProjectController, EventController, RequestController).

Action Clients
(prospect, client, client-promoter, partenaire)
Assistant Viewer Admin Super-admin
Accéder à ses propres requêtes
Voir et traiter les requêtes des clients Partiel
Créer / gérer les projets internes Selon config
Accéder à /v1/all-documents
Télécharger documents tactiques (business case, charte, livrables)
Télécharger documents stratégiques (contrats, TDR, offres, lettres, devis, factures)
Télécharger documents opérationnels (documents généraux)
Accéder aux documents sensibles Accès réduit
Générer la fiche d'identité PDF d'un utilisateur
Changer le mot de passe d'un autre utilisateur
Accéder aux vues back-office (dashboard admin) Limité Lecture seule
Modifier / supprimer n'importe quel événement
Modifier / supprimer n'importe quel message

Note : certains comportements fins (par module) sont décrits directement dans la documentation Swagger et le code des contrôleurs.

Restrictions d'accès par catégorie de documents

Les documents sont organisés en trois catégories avec des restrictions d'accès spécifiques selon les rôles.

Documents Stratégiques

Types : Contrats, TDR, Offres, Lettres de commande, Lettres administratives, Devis, Factures, Lettres de mission

Rôles autorisés :

  • • super-admin
  • • sponsor
  • • client, client-promoter
  • • prospect
  • • assistant
  • • viewer (lecture seule)

Rôles non autorisés :

  • • admin
  • • copil, cso, cs
  • • partenaire

Documents Tactiques

Types : Business Case, Charte du projet, Livrables

Rôles autorisés :

  • • super-admin, admin
  • • sponsor
  • • copil
  • • client, client-promoter
  • • prospect
  • • assistant
  • • partenaire
  • • viewer (lecture seule)

Rôles non autorisés :

  • • cso, cs

Documents Opérationnels

Types : Documents généraux/divers

Rôles autorisés :

  • • super-admin, admin
  • • sponsor
  • • copil, cso, cs
  • • client, client-promoter
  • • prospect
  • • assistant
  • • partenaire
  • • viewer (lecture seule)

Rôles non autorisés :

  • • Aucun (tous les rôles ont accès)

Note importante : Le rôle admin n'a pas accès aux documents stratégiques (contrats, TDR, offres, lettres, devis, factures). Seul le super-admin a accès complet à tous les types de documents.

Rôles dans l'API

Dans le code, les rôles sont majoritairement utilisés via des conditions sur $user->status, par exemple :

Accès Admin / Super-admin

in_array($user->status, ['admin', 'super-admin'])

Utilisé dans ProjectController, EventController, RequestController, etc.

Super-admin uniquement

$user->status === 'super-admin'

Pour les opérations critiques (comme PUT /v1/users/{id}/change-password).

Clients

Les statuts prospect, client, client-promoter sont traités comme des profils « côté client »

Avec accès restreint à leurs propres ressources.

Bonnes pratiques d'assignation

Limiter le rôle super-admin

À un très petit nombre de comptes internes (équipe CNX uniquement).

Utiliser admin

Pour l'équipe opérationnelle qui gère les projets, événements, requêtes et documents au quotidien.

Utiliser viewer pour la consultation

Pour les profils qui ont besoin d'accéder aux données en lecture seule sans pouvoir les modifier.

Utiliser partenaire pour les partenaires externes

Pour les partenaires externes qui ont besoin d'accéder uniquement aux projets et documents qui leur sont explicitement partagés.

Réserver assistant aux assistants des clients

Pour les profils d'appui (support, PMO) qui aident les clients mais ne doivent pas tout administrer. Accès réduit aux documents sensibles.

Différencier client et client-promoter

Pour mieux refléter la gouvernance (sponsors, décideurs, etc.).