Skip to content

[Admin] Gestion des droits des utilisateurs Dolibarr #30

@AurelienBISOTTI

Description

@AurelienBISOTTI

🎯 Objectif

Définir et implémenter un modÚle de droits (permissions/roles) pour le module e-facture afin de :

  • SĂ©curiser les actions sensibles (Ă©mission de statuts, configuration PDP, webhooks
)
  • Tracer qui fait quoi (auditabilitĂ©)
  • Limiter l’accĂšs aux donnĂ©es Ă  caractĂšre sensible (IBAN, payloads API, journaux)

Conformité visée : AFNOR XP Z12-012 / Z12-013 / Z12-014 (séparation des responsabilités, intégrité des flux, traçabilité).


đŸ§± PĂ©rimĂštre

  • Module e-facture uniquement (factures entrantes/sortantes, flux 2/6/10, annuaire).
  • Interface Admin (configuration PDP, webhooks, CRON).
  • Journaux e-facturation (lectures/exports/masquage).
  • Actions utilisateur sur factures provenant d’un PDP (changements de statut, relances, imports).

Hors périmÚtre : droits génériques Dolibarr hors e-facture (devis, stock, etc.).


🔐 Permissions proposĂ©es

Paramétrage & Connectivité

  • efacture_admin : Lire la configuration, CrĂ©er/Ă©diter/supprimer un PDP + gĂ©rer OAuth2 (client_id/secret), Modifier la configuration (endpoints, formats, options), Configurer les tĂąches CRON (frĂ©quence, portĂ©e, PDP ciblĂ©s)

Flux & Statuts

  • efacture_import : Importer / actualiser les factures entrantes et statuts du cycle de vie
  • efacture_send : Modifier et Ă©mettre des statuts de cycle de vie (flux 6) vers PDP, depuis les factures individuelles ou en action massive (exemple : acceptĂ©e, refusĂ©e, en litige, suspendue)

Journaux & Traçabilité

  • efacture_events_read : Voir la timeline e-facture sur les factures
  • efacture_logs_read : Lire les logs API du module
  • efacture_logs_export : Exporter les logs (CSV/JSON)
  • efacture_logs_payload_view_sensitive : Voir payloads sensibles (masquĂ©s sinon : IBAN, tokens, signatures)

đŸ–„ïž UI / UX

  • Si droits insuffisants, masquer ET/OU badger les actions dĂ©sactivĂ©es avec info-bulle expliquant le manque de droit :

    • menus
    • boutons d’action (statuts, import)
    • champs sensibles (IBAN, payloads)
    • onglets
  • Onglet Logs : masquer/afficher les payloads selon efacture_logs_payload_view_sensitive.


✅ Critùres d’acceptation

  • Un utilisateur sans efacture_send voit les boutons de changement de statut grisĂ©
  • Un utilisateur sans efacture_logs_payload_view_sensitive voit les payloads masquĂ©s (hash/placeholder).

đŸ§Ș Tests Ă  prĂ©voir

  • Matrice permissions × actions (UI & API)
  • Essais de contournement (URL direct, actions massives)
  • VĂ©rification masquage IBAN/payloads
  • Export logs avec/without payloads sensibles

🔗 DĂ©pendances


📚 RĂ©fĂ©rences

  • XP Z12-012 (API PDP)
  • XP Z12-013 (modĂšles d’intĂ©gration asynchrone, sĂ©curitĂ©, webhooks)
  • XP Z12-014 (rĂŽles & cycles de vie — sĂ©paration des responsabilitĂ©s)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    A chiffrer

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions