Ce qui n'est pas actuellement implémenté est signifié avec l'accronyme NYI
(Not Yet Implemented
)
L'ajout d'une nouvelle habilitation (partie 1., 2. et 3.) est documenté de manière explicite dans le document Ajout d'un nouveau fournisseur
Cette définition permet de définir des attributs statiques d'une demande d'habilitation, tel que le nom, description, liens vers les CGUs, fournisseur de données.
Il s'agit de modèles stockés en dur dans le code, via des fichiers de configuration.
Une demande d'habilitation est le contrat effectif entre une organisation et un fournisseur de données. Celui-ci peut se remplir via différents formulaires.
Les définitions statiques sont tirées de 1.
Chaque demande possède un cycle de vie déterminer via une machine à états. Les états sont les suivants:
draft
: état initial, lorsque le demandeur démarre la demande d'habilitation ;submitted
: lorsque l'usager a soumis sa demande d'habilitation ;NYI
changes_requested
: lorsqu'un instructeur demande des modifications au demandeur ;refused
: l'instructeur a refusé la demande d'habilitation. Il s'agit d'un état final pour la demande.validated
: l'instructeur a validé la demande d'habilitation
Chaque état influe sur les actions possibles sur une demande d'un point de vue controller (via la stack d'autorisation).
Lors du démarrage d'une demande, en fonction du nombre de formulaires, l'interface change afin d'aiguiller au maximum le demandeur.
On précise systématiquement pour quelle organisation l'habilitation va être remplie, et une introduction de ce à quoi va consister le formulaire.
Si il y a plusieurs formulaires disponibles, par défaut il s'agit d'un simple
index sans aide, il est possible de personnaliser cette page (par exemple avec
un arbre de décision NYI
)
Permet de remplir des habilitations. Certains formulaires peuvent pré-remplir des informations directement à la création. Ces informations peuvent être modifiées ou non, cela dépend de comment le formulaire est configuré.
Il y a 2 grands types de formulaires:
- Sur une page: lorsqu'il n'y a pas énormément d'information à renseigné
- En plusieurs étapes: lorsqu'il faut renseigner pas mal d'informations de la part du demandeur
Une habilitation peut posséder plusieurs formulaires, en fonction des cas d'usages.
Par exemple pour API Entreprise:
- Formulaire pour un cas d'usage précis avec un éditeur précis: on ne renseigne que les infos des contacts RGPD, tout le reste est pré-rempli (caché ou non).
- Formulaire en demande libre: en plusieurs étapes, beaucoup plus technique et
Il s'agit de modèles stockés en dur dans le code, via des fichiers de configuration.
NIY
(not sure?) Formulaire validé et figé, associé à la demande.
Il y a 3 types d'utilisateur User
, distingués via le tableau roles
- Les usagers normaux: principalement les demandeurs, sans roles ;
- Les instructeurs: instruisent les demandes (possède des rôles de type
mon_api:instructor
) NYI
Les rapporteursNYI
Les administrateurs: peuvent changer les instructeurs (possède le rôleadministrator
)
Il s'agit de l'entité principale, à laquelle les habilitations sont rattachées.
NYI
Certaines informations de l'organisation peuvent être renseignées afin de
simplifier le remplissage. Par exemple le DPO ou DPD, à partir du moment que
celui-ci a été renseigné.
Définition des fournisseurs de données, associés aux définitions des habilitations.
Il s'agit de modèles stockés en dur dans le code, via des fichiers de configuration.
-
Le demandeur n'est plus réellement l'entité centrale, il s'agit maintenant de l'organisation, et pas mal d'informations seront tirés de la dite organisation: DPD, DPO ..
Cela implique par ailleurs que l'usager est connecté en tant qu'agent de l'organisation, et qu'il ne voit pas ses demandes sur les autres organisations. Il peut cependant changer depuis son profil, ou lorsqu'il se connecte.
Visuellement on affiche de manière explicite l'organisation courante dans l'entête principale
-
Les habilitations peuvent avoir plusieurs formulaires associés, en fonction de critères tel que les cas d'usages, les éditeurs..
-
Les habilitations sont beaucoup plus configurables et ne possède plus aucun attributs ou blocs communs (seul l'organisation et le demandeur sont des attrubuts communs).
Il existe des blocs communs que l'on peut ajouter pour des éléments communs (infos de base du projet, contacts RGPD ...)