Rôles et permissions
Matrice complète des rôles Bordoly (Admin, Opérateur, Technicien, Chauffeur) avec leurs droits sur sites, enlèvements, sessions, rapports, facturation et audit.
Bordoly distingue trois rôles d'utilisateurs et plusieurs profils mobiles. Ce qui peut sembler complexe au premier abord est en réalité simple : les permissions Bordoly sont dérivées de votre profil TrackDéchets. Vous ne configurez pas les droits ligne par ligne — vous alignez vos membres TD, et Bordoly en déduit le rôle.
Hiérarchie des rôles — l'admin a toutes les permissions, l'opérateur gère le quotidien, le technicien et le chauffeur sont limités au terrain.
TrackDéchets reste la source de vérité
Bordoly ne maintient pas son propre annuaire de droits : le rôle de chaque utilisateur est calculé à partir des permissions TrackDéchets de son établissement. Si vous voulez promouvoir un Opérateur en Admin, vous modifiez son rôle TD — la prochaine synchronisation propage le changement.
Cela évite les dérives de droits silencieuses (un admin Bordoly qui n'aurait plus les droits TD correspondants), et garantit qu'aucune action ne peut être menée par quelqu'un qui n'a pas la responsabilité légale équivalente côté TD.
Les rôles disponibles
Bordoly expose trois rôles côté API + base de données, déclarés dans
packages/domain/src/types/user.ts :
| Rôle | Étendue d'accès |
|---|---|
| Admin | Tout — configuration globale, utilisateurs, audit, facturation |
| Opérateur | Opérations métier : enlèvements, sessions, sites, conteneurs |
| Technicien | App mobile uniquement — saisies terrain, photos, sessions |
Trois profils complémentaires apparaissent en pratique :
| Profil | Accès |
|---|---|
| Chauffeur (mobile) | App mobile, tournée du jour, signature BSD |
| Billing Owner | Statut additionnel — un seul par tenant, propriétaire abonnement |
| Tiers via portail public | Lecture seule d'une session via lien sécurisé, sans création de compte |
Matrice des permissions
| Capacité | Admin | Opérateur | Technicien (mobile) | Chauffeur (mobile) | Tiers (portail) |
|---|---|---|---|---|---|
| Sites — voir | ✓ | ✓ | Lecture seule | ✗ | ✗ |
| Sites — créer/modifier | ✓ | ✓ | Création limitée terrain | ✗ | ✗ |
| Sites — supprimer | ✓ | ✓ | ✗ | ✗ | ✗ |
| Enlèvements (pickups) | ✓ | ✓ | ✗ | Lecture (tournée) | ✗ |
| Sessions — créer/clore | ✓ | ✓ | ✗ | ✗ | ✗ |
| Sessions — voir + saisir | ✓ | ✓ | ✓ (saisies + photos) | ✗ | Lecture seule |
| Rapports PDF / PPTX | ✓ | ✓ | ✗ | ✗ | ✗ |
| Registre DREAL / CSV | ✓ | ✓ | ✗ | ✗ | ✗ |
| Facturation — consultation | ✓ | Lecture seule | ✗ | ✗ | ✗ |
| Facturation — gestion | BO uniquement | ✗ | ✗ | ✗ | ✗ |
| Journal d'audit | ✓ | ✗ | ✗ | ✗ | ✗ |
| Utilisateurs — inviter | ✓ | ✗ | ✗ | ✗ | ✗ |
| Conteneurs déchets | ✓ | Lecture seule | ✗ | ✗ | ✗ |
| App mobile, surface Technicien | ✓ (producteur) | ✗ | ✓ | ✗ | ✗ |
| App mobile, surface Chauffeur | Lecture seule (transporteur), ou complet après activation | Lecture seule (transporteur) | ✗ | ✓ | ✗ |
Les clés côté code :
manage.sites,manage.pickups,manage.sessions,view.audit,manage.wasteContainers,tech.waste-entries. Voirpackages/domain/src/rbac/rights.tspour la liste complète.
Qui ouvre l'application mobile, et sur quelle surface
L'accès mobile ne se décide pas au niveau du compte, mais établissement par établissement. Bordoly regarde deux choses : le droit de saisie terrain (surface Technicien), et le droit d'organiser les enlèvements sur un établissement déclaré transporteur dans TrackDéchets (surface Chauffeur).
| Profil, sur cet établissement | Ce qui s'ouvre dans l'application mobile |
|---|---|
| Admin, producteur | Surface Technicien, en écriture (entrées de déchets, photos) |
| Admin, transporteur | Surface Chauffeur en lecture seule, avec activation possible (voir ci-dessous) |
| Admin, producteur et transporteur | Les deux surfaces, avec un sélecteur de rôle dans l'application |
| Opérateur, transporteur | Surface Chauffeur en lecture seule, sans activation possible |
| Opérateur, producteur seul | Aucun accès mobile |
| Admin ou Opérateur, exutoire seul | Aucun accès mobile |
En lecture seule, vous suivez la tournée du jour et son déroulé. Vous ne confirmez pas un enlèvement, ne signalez pas d'incident, ne reportez pas un passage et ne signez aucun bordereau : ces gestes demandent une identité chauffeur.
Activer son accès chauffeur
Le patron d'un petit transporteur conduit souvent lui-même. Il n'a besoin ni d'une deuxième adresse e-mail, ni d'un deuxième compte : depuis Utilisateurs, en vue Transporteur, la carte Mon accès chauffeur rattache une vraie identité chauffeur à son compte web.
Ce que l'activation change :
- la personne devient planifiable sur une tournée et apparaît dans la liste des chauffeurs,
- elle confirme un enlèvement, prend les photos et signe le bordereau sous son nom,
- elle se connecte à l'application avec son adresse habituelle et un code à 6 chiffres reçu par e-mail,
- elle ne consomme pas de siège utilisateur supplémentaire dans votre abonnement.
Deux conditions, cumulatives : être Admin sur l'établissement transporteur visé (un Admin ailleurs, simple Opérateur ici, ne peut pas s'y rendre chauffeur), et activer l'accès soi-même. Vous ne pouvez pas l'activer pour quelqu'un d'autre, et personne ne peut l'activer à votre place. Un Opérateur ne voit pas la carte.
Le bouton Désactiver, sur la même carte, met l'accès en pause sans rien supprimer, et la réactivation rend la même identité chauffeur. Le détail est dans Pourquoi mon adresse est-elle déjà utilisée ?.
Notes par rôle
Admin — peut tout faire dans le tenant. Accès au journal d'audit
(view.audit, réservé Admin), à la matrice des conteneurs déchets, et à la liste des
utilisateurs. C'est le seul rôle qui peut inviter, désactiver, ou changer le statut
des autres comptes. Dérivé d'un membre Admin sur l'établissement TD correspondant.
Opérateur — fait tourner l'opérationnel quotidien : planifier des enlèvements, ouvrir/fermer des sessions, suivre les transporteurs, créer/modifier des sites, lancer des rapports. N'a pas accès au journal d'audit ni à l'invitation d'utilisateurs.
Technicien (mobile) — dédié au terrain via l'app mobile. Peut consulter ses sessions assignées, saisir des entrées de déchets, prendre des photos horodatées et géolocalisées, créer un site rapidement si une intervention l'exige. Pas d'accès au back-office web. Authentification e-mail + PIN à 6 chiffres, valable 15 minutes et à usage unique, avec verrouillage après 5 tentatives. Voir Installer l'app technicien.
Chauffeur (mobile) — accède à sa tournée du jour, peut signer les BSDs au moment
de l'enlèvement. Sa fiche est gérée séparément (table drivers) pour faciliter la
gestion des intérimaires. Authentification identique aux techniciens. Voir
App chauffeur — tournée du jour.
Tiers via portail public — un transporteur sans compte Bordoly, un client final ou un inspecteur DREAL peut recevoir un lien sécurisé vers une session précise. Code d'accès à 12 caractères, rate-limit 20 req/min/IP, lecture seule. Voir Portail public.
Billing Owner (BO) — n'est pas un rôle séparé mais un statut ajouté à un utilisateur Admin. Un seul BO par tenant. C'est lui qui :
- voit et modifie les détails de l'abonnement Stripe,
- reçoit les factures par e-mail,
- peut transférer son statut à un autre Admin via Transférer la propriété.
Les autres Admins voient une version lecture seule de la page facturation, avec un bandeau qui indique qui est le BO actuel.
Comment changer un rôle ?
- Modifiez d'abord le rôle côté TrackDéchets sur l'établissement concerné.
- Dans Bordoly, ouvrez Utilisateurs.
- Cliquez sur Synchroniser dans l'en-tête de l'annuaire — la propagation est immédiate.
Voir Inviter un administrateur web pour le détail des écrans.
Et après ?
Vous êtes bloqué ? Écrivez-nous à support@bordoly.fr — engagement Standard : réponse sous 4h ouvrées (lun-ven 9h-18h CET). Entreprise : sous 1h ouvrées (8h-20h CET).