# Paramétrage des écrans, des actions et des options d’implémentation **Objectif :** Chaque écran, chaque action (fonctionnalité) et chaque option d’implémentation doit être paramétrable, sans recours au code pour activer, désactiver ou adapter le comportement. **Référence :** `docs/SCREENS_AND_FUNCTIONS_MAP.md` (principe de paramétrabilité). --- ## 1. Périmètre | Élément | Description | Exemples de paramètres | |--------|--------------|-------------------------| | **Écran** | Page ou vue identifiée par une route ou un identifiant. | Visible (oui/non), ordre d’affichage, libellé, icône, regroupement menu, rôles autorisés, offices concernés, types de dossiers concernés. | | **Action** | Opération utilisateur (bouton, commande, lien). | Visible (oui/non), activée (oui/non), droits requis, conditions (ex. « si dossier partagé »), libellé. | | **Option d’implémentation** | Choix technique ou métier qui modifie le comportement. | Workflow (nombre d’étapes, libellés), intégrations (Outlook, IA, ancrage), seuils (alertes, conservation), éditeur (OnlyOffice ou autre), mode Chat IA (activé/désactivé). | --- ## 2. Niveaux de paramétrage Les paramètres peuvent s’appliquer à un ou plusieurs niveaux. La résolution est du plus global au plus local (plateforme → office → type de dossier → contexte utilisateur). | Niveau | Portée | Qui paramètre | Exemple | |--------|--------|----------------|---------| | **Plateforme** | Tous les offices du déploiement concerné (**docv** / **enso**). | Admin plateforme. | Activation globale de l’ancrage, des textes i18n, des plans d’abonnement. | | **Office** | Un office donné. | Admin d’office (ou rôle dédié). | Liste des écrans visibles, ordre des menus, activation du workflow documentaire, intégration Outlook pour l’office. | | **Type de dossier** | Tous les dossiers d’un type (ex. « Vente », « Dossier permanent »). | Admin d’office ou config par type. | Écrans et actions disponibles pour ce type, workflow associé, documents attendus. | | **Rôle** | Tous les utilisateurs ayant un rôle donné (dans un office ou global). | Admin plateforme ou admin d’office. | Matrice de permissions (écrans et actions accessibles), libellés par rôle. | | **Préférence utilisateur** | Un utilisateur donné (dans les limites de son rôle). | L’utilisateur. | Ordre des favoris, panneaux ouverts par défaut, langue. | --- ## 3. Écrans : paramètres typiques Pour chaque écran répertorié dans la cartographie : - **Identifiant** : stable (ex. `dashboard`, `folders`, `composition-actes`). - **Visible** : oui / non (par office, par rôle, ou par type de dossier si l’écran est lié à un type). - **Ordre** : position dans le menu ou dans le sélecteur « Aller à » (entier ou clé de tri). - **Libellé** : texte affiché (surchargeable par office ou par locale). - **Accès** : liste des rôles (ou permission) autorisés ; défaut = selon matrice des permissions. - **Condition d’affichage** : optionnelle (ex. afficher « Data room » seulement si au moins une dataroom existe ou si la fonction dataroom est activée pour l’office). Stockage recommandé : table ou entité `screen_config` (ou équivalent) avec `screen_id`, `office_id` (nullable pour plateforme), `role_id` (nullable), `case_type_id` (nullable), champs `visible`, `order`, `label_override`, `condition`. --- ## 4. Actions : paramètres typiques Pour chaque action (bouton, lien, commande) listée dans la cartographie : - **Identifiant** : stable (ex. `folder.create`, `document.download`, `share.invite`). - **Écran parent** : écran ou contexte où l’action est proposée. - **Visible** : oui / non (par office, rôle, type de dossier). - **Activée** : oui / non (peut dépendre d’une option d’implémentation, ex. « Télécharger avec filigrane » seulement si filigrane activé). - **Droits requis** : permission(s) nécessaire(s) ; défaut = selon matrice rôle × ressource × action. - **Condition** : expression ou règle métier (ex. « Inviter » visible seulement si partage activé pour le dossier). - **Libellé** : surchargeable par office ou locale. Stockage recommandé : table ou entité `action_config` (ou équivalent) avec `action_id`, `screen_id`, `office_id`, `role_id`, `case_type_id`, champs `visible`, `enabled`, `permission_override`, `condition`, `label_override`. --- ## 5. Options d’implémentation : paramètres typiques Les options d’implémentation couvrent les choix techniques ou métier qui influencent le comportement sans changer le code. | Catégorie | Exemples d’options | Niveau | Valeurs typiques | |-----------|--------------------|--------|-------------------| | **Workflow** | Nombre d’étapes, libellés des statuts, transitions autorisées par rôle. | Office, type de dossier | Référentiel workflow (id), JSON ou table des états. | | **Intégrations** | Outlook, API IA, ancrage ; identité fédérée ou API métier secteur notarial uniquement si un tel déploiement est ouvert hors périmètre actuel. | Plateforme, office | Activé (oui/non), URL, clés (masquées). | | **Alertes** | Délais (jours/mois), types d’alertes actifs, destinataires par type. | Office, type de dossier | Configuration par type d’alerte. | | **Documents** | Types de documents attendus, durée de conservation, motivation collecte. | Office, type de dossier | Référentiel types de documents, champs par type. | | **Dataroom** | Droits par défaut (viewer/editor), date de fin d’accès max. | Office | Valeurs par défaut. | | **UI / comportement** | Chat IA activé, éditeur de rédaction (OnlyOffice ou autre), pagination. | Plateforme, office, utilisateur | Feature flags, préférences. | Stockage : tables ou entités dédiées (workflow, integration_config, alert_config, document_type_config, etc.) + table générique `system_configuration` (clé / valeur ou JSON) pour les feature flags et options globales. --- ## 6. Résolution et priorité Lors de l’affichage d’un écran ou d’une action : 1. Charger les paramètres **plateforme** (défauts globaux). 2. Surcharger avec les paramètres **office** (si utilisateur dans un office). 3. Surcharger avec les paramètres **type de dossier** (si écran/action dans un contexte de type de dossier). 4. Surcharger avec les paramètres **rôle** (matrice permissions + éventuelles surcharges écran/action). 5. Appliquer les **préférences utilisateur** pour l’ordre, les panneaux, la langue (sans dépasser les droits). Un paramètre non défini à un niveau donné conserve la valeur du niveau parent. Une désactivation à un niveau ne peut pas être réactivée à un niveau plus local (sécurité). --- ## 7. Interface de paramétrage - **Admin plateforme :** écrans et actions visibles au niveau plateforme, options d’implémentation globales (intégrations, feature flags), rôles et permissions plateforme. - **Admin d’office :** écrans et actions pour l’office, ordre et libellés, options d’implémentation de l’office (workflow, alertes, types de documents, dataroom), gestion des rôles et membres de l’office. - **Utilisateur :** préférences personnelles (ordre, panneaux, langue) dans les limites de son rôle. Les écrans « Configuration établissements », « Types et configuration », « Configuration système » (super-admin) et « Mon compte » exposent les entrées correspondant à ces niveaux. --- ## 8. Référence croisée avec la cartographie - La **liste des écrans** dans `docs/SCREENS_AND_FUNCTIONS_MAP.md` (sections 1 à 17) constitue le référentiel des identifiants d’écrans à rendre paramétrables. - La **liste des actions par écran** (section 18) constitue le référentiel des actions à rendre paramétrables. - **Référentiel exhaustif** : `docs/features/REFERENTIEL_ECRANS_ACTIONS.md` — table de tous les écrans (zone, identifiant stable, route, actions 18.x) et liste des actions par écran parent, pour paramétrage et implémentation. - **Sociétés (enso-front)** : écrans **`companies.list`** (`/dashboard`, navigation latérale) et **`companies.detail`** (`/company/[companyId]`) — mêmes leviers de paramétrage que les autres écrans (visible, ordre, rôles, libellés). Les actions sous-jacentes restent celles des dossiers (zone 2) et des documents (zone 3) pour l’onglet dossier permanent. - **Description technique d’implémentation** : `docs/features/implementation/README.md` — documents IMPL_xx par zone (routes, composants front, handlers/services/repos back, BDD, paramétrage). - Chaque **option d’implémentation** mentionnée dans la cartographie ou dans `docs/features/FONCTIONNALITES_IA_LOCAL_A_INTEGRER.md` (workflow, intégrations, seuils, éditeur, etc.) doit avoir un paramètre ou une table de configuration dédiée. Aucun écran ni action ne doit être codé en dur comme toujours visible ou toujours masqué sans passer par ce paramétrage.