> ## Documentation Index
> Fetch the complete documentation index at: https://docs.snakysec.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Glossary

# Glossaire produit SnakySec — FR/EN canonique

> Référence terminologique pour le code, l'UI, la doc commerciale et les rapports clients.
> Source de vérité : ce fichier. Tout libellé UI doit utiliser le terme canonique correspondant.
> Décisions sourcées : `docs/project/UX_AUDIT_RECOMMENDATIONS.md` arbitrage A4 (2026-04-29).

***

## Règles d'usage

1. **Toute PR introduisant un nouveau libellé** doit soit utiliser un terme du glossaire, soit l'enrichir via revue produit.
2. **Le code (variables, types, schéma DB)** garde la nomenclature anglaise existante (`GapFinding`, `severity`, etc.) — ne pas renommer pour éviter le coût de migration.
3. **L'UI utilisateur** utilise le terme canonique FR ou EN selon la locale active (next-intl).
4. **Les rapports PDF, emails transactionnels, doc commerciale** utilisent le terme canonique selon la locale du client.
5. **Les noms propres et termes techniques** restent en anglais ou en majuscules : SnakySec, CIS, SCuBA, DICT, Microsoft 365, Entra ID, Graph API, Vault, BullMQ.

***

## Tableau de correspondance

| Concept                                                | Canonique FR                                           | Canonique EN                                              | Code (DB/types)                          | À éviter                                                         |
| ------------------------------------------------------ | ------------------------------------------------------ | --------------------------------------------------------- | ---------------------------------------- | ---------------------------------------------------------------- |
| Item de non-conformité dans un audit                   | **Écart**                                              | **Finding**                                               | `GapFinding`                             | "non-conformité" (lourd) · "open gap" (jargon) · "finding" en FR |
| Action de déclencher un audit                          | **Lancer** un audit                                    | **Run** an audit                                          | `triggerAudit()`                         | "Trigger" en FR · "Launch" · "Démarrer"                          |
| Score de conformité (% global)                         | **Score de conformité**                                | **Compliance score**                                      | `complianceScore`                        | "compliance %" en FR                                             |
| Niveau de gravité d'un écart                           | **Sévérité**                                           | **Severity**                                              | `severity`                               | "criticité"                                                      |
| Plan d'action correctif                                | **Remédiation**                                        | **Remediation**                                           | `Remediation*`                           | "Plan d'action" (ambigu, garder pour titre seul)                 |
| Action structurée multi-étapes                         | **Action de remédiation**                              | **Remediation action**                                    | `RemediationAction`                      | "tâche"                                                          |
| Jalon daté avec dépendances                            | **Jalon**                                              | **Milestone**                                             | `Milestone`                              | "étape"                                                          |
| Relancer un audit échoué                               | **Relancer**                                           | **Retry**                                                 | `retryAudit()`                           | "Re-run" en FR                                                   |
| Synchroniser un audit avec GitLab                      | **Synchroniser**                                       | **Sync**                                                  | `syncAudit()`                            | "Mettre à jour"                                                  |
| Action de quitter sa session                           | **Se déconnecter**                                     | **Sign out**                                              | `signOut()`                              | "Logout" · "Quitter" (réservé au mode impersonate)               |
| Quitter le mode impersonate                            | **Quitter le mode aperçu**                             | **Exit preview mode**                                     | `exitImpersonation()`                    | "Quitter" sans contexte                                          |
| Voir le portail comme un client (admin)                | **Prévisualiser le portail**                           | **Preview portal**                                        | `impersonateClient()`                    | "Voir comme ce client" (ambigu, suggère navigation simple)       |
| Naviguer vers une vue (lien simple)                    | **Voir**                                               | **View**                                                  | —                                        | "Ouvrir" (incohérent)                                            |
| Détail d'un audit                                      | **Détail de l'audit**                                  | **Audit detail**                                          | —                                        | "Vue audit"                                                      |
| Détail d'un client                                     | **Détail du client**                                   | **Client detail**                                         | —                                        | "Fiche client" (vocabulaire CRM)                                 |
| Espace tenant client                                   | **Tenant client**                                      | **Client tenant**                                         | `Client`                                 | "Locataire" (traduction littérale)                               |
| Portail accessible au client final                     | **Portail client**                                     | **Client portal**                                         | `/portal/*`                              | "Espace client"                                                  |
| Tableau de bord MSSP                                   | **Tableau de bord**                                    | **Dashboard**                                             | `/dashboard/*`                           | "Cockpit"                                                        |
| Cycle de revue d'accès                                 | **Revue d'accès**                                      | **Access review**                                         | `AccessReview`                           | "Audit des accès"                                                |
| Maturité d'un contrôle (CMMI 1-5)                      | **Niveau de maturité**                                 | **Maturity level**                                        | `cmmiLevel`                              | "Maturité CMMI" (jargon)                                         |
| Niveau (Initial/Repeatable/Defined/Managed/Optimizing) | **Initial / Reproductible / Défini / Géré / Optimisé** | **Initial / Repeatable / Defined / Managed / Optimizing** | —                                        | Mélange FR/EN                                                    |
| Disponibilité (axe DICT)                               | **Disponibilité**                                      | **Availability**                                          | `availability`                           | "Uptime" (technique)                                             |
| Intégrité (axe DICT)                                   | **Intégrité**                                          | **Integrity**                                             | `integrity`                              | —                                                                |
| Confidentialité (axe DICT)                             | **Confidentialité**                                    | **Confidentiality**                                       | `confidentiality`                        | —                                                                |
| Traçabilité (axe DICT)                                 | **Traçabilité**                                        | **Traceability**                                          | `traceability`                           | "Auditabilité" (proche mais distinct)                            |
| Rapport non signé (vivant)                             | **Rapport de suivi**                                   | **Tracking report**                                       | `TRACKING`                               | "Rapport vivant"                                                 |
| Rapport signé Ed25519 (immuable)                       | **Rapport certifié**                                   | **Certified report**                                      | `CERTIFICATION`                          | "Rapport scellé"                                                 |
| Chaîne d'audit log scellée                             | **Journal scellé**                                     | **Sealed log**                                            | `PlatformAuditLog`                       | "Audit log" en FR                                                |
| Détection altération chaîne                            | **Altération détectée**                                | **Tampering detected**                                    | —                                        | "Corruption" (anxiogène)                                         |
| Statut conforme                                        | **Conforme**                                           | **Compliant**                                             | `compliant`                              | "OK"                                                             |
| Statut non conforme                                    | **Non conforme**                                       | **Non-compliant**                                         | `finding`                                | "KO" · "Failed" en FR                                            |
| Statut nécessitant revue manuelle                      | **Revue manuelle**                                     | **Manual review**                                         | `manual`                                 | "À vérifier"                                                     |
| Statut non applicable                                  | **Non applicable**                                     | **Not applicable**                                        | `not_applicable`                         | "N/A" en libellé long                                            |
| Statut permissions insuffisantes                       | **Permissions insuffisantes**                          | **Insufficient permissions**                              | `insufficient_perms`                     | "No perm"                                                        |
| Statut non évalué                                      | **Non évalué**                                         | **Not assessed**                                          | `not_assessed`                           | "Skipped"                                                        |
| Statut erreur                                          | **Erreur**                                             | **Error**                                                 | `error`                                  | "Failed" (ambigu avec finding)                                   |
| Trigger d'audit type                                   | **Manuel / Programmé / Onboarding / Régression**       | **Manual / Scheduled / Onboarding / Regression**          | `MANUAL/SCHEDULED/ONBOARDING/REGRESSION` | —                                                                |
| Locataire Microsoft 365                                | **Tenant M365**                                        | **M365 tenant**                                           | `tenantId`                               | "Organisation Microsoft"                                         |
| Auditeur (rôle utilisateur)                            | **Analyste**                                           | **Analyst**                                               | `ANALYST`                                | "Auditor"                                                        |
| Administrateur SnakySec                                | **Administrateur MSSP**                                | **MSSP admin**                                            | `MSSP_ADMIN`                             | "Super admin"                                                    |
| Utilisateur côté client                                | **Utilisateur client**                                 | **Client user**                                           | `CLIENT_USER`                            | "End user"                                                       |
| Pre-flight check permissions                           | **Vérification préalable**                             | **Preflight check**                                       | `preflight`                              | "Test connexion" (réservé étape 4 onboarding)                    |
| Test connexion Graph + Exchange                        | **Test de connexion**                                  | **Test connection**                                       | —                                        | "Smoke test"                                                     |

***

## Règles spécifiques

### "Voir" vs actions à effet de bord

Le verbe **"Voir"** est réservé à une **navigation simple** (pas de mutation, pas de side-effect serveur).

| ✅ Bon                                          | ❌ Mauvais                                                     |
| ---------------------------------------------- | ------------------------------------------------------------- |
| `<Link href="/portal/audits/[id]">Voir</Link>` | `<button onClick={impersonate}>Voir comme ce client</button>` |
| `Voir le détail`                               | `Voir tous les findings` (préférer "Voir tous les écarts")    |

Pour les actions à effet de bord, utiliser un verbe explicite :

* **Prévisualiser** (impersonate) : "Prévisualiser le portail"
* **Lancer** : "Lancer un audit"
* **Télécharger** : "Télécharger le rapport"
* **Générer** : "Générer le document"

### Statuts d'écart (severity)

Échelle canonique (alignée avec OWASP) :

| FR          | EN            | Code            |
| ----------- | ------------- | --------------- |
| Critique    | Critical      | `CRITICAL`      |
| Élevée      | High          | `HIGH`          |
| Moyenne     | Medium        | `MEDIUM`        |
| Faible      | Low           | `LOW`           |
| Informative | Informational | `INFORMATIONAL` |

### Statuts de cycle de remédiation

Échelle canonique de progression (workflow GapFinding) :

| FR             | EN            | Code            |
| -------------- | ------------- | --------------- |
| Ouvert         | Open          | `OPEN`          |
| En cours       | In progress   | `IN_PROGRESS`   |
| Remédié        | Remediated    | `REMEDIATED`    |
| Vérifié        | Verified      | `VERIFIED`      |
| Risque accepté | Accepted risk | `ACCEPTED_RISK` |

### Périodes temporelles dans les filtres

Format canonique : "X jours" / "X mois" en FR, "X days" / "X months" en EN.

| FR                | EN                |
| ----------------- | ----------------- |
| 7 jours           | 7 days            |
| 30 jours          | 30 days           |
| 90 jours          | 90 days           |
| 3 mois            | 3 months          |
| 12 mois glissants | Rolling 12 months |

***

## Termes spécifiques produit (à conserver tels quels)

Termes techniques ou marques qui ne se traduisent pas :

* **SnakySec** — nom commercial, jamais traduit
* **MSSP** — Managed Security Service Provider (acronyme international)
* **GRC** — Governance, Risk, Compliance (acronyme standard)
* **DICT** — modèle ANSSI (Disponibilité, Intégrité, Confidentialité, Traçabilité)
* **CMMI** — Capability Maturity Model Integration
* **CIS** — Center for Internet Security (CIS Benchmarks)
* **SCuBA** — Secure Cloud Business Applications (CISA)
* **NIS2** — Network and Information Systems directive 2
* **ANSSI** — Agence nationale de la sécurité des systèmes d'information
* **eIDAS** — electronic IDentification, Authentication and trust Services
* **Microsoft 365 / M365** — produit Microsoft
* **Entra ID** — produit Microsoft (anciennement Azure AD)
* **Graph API** — Microsoft Graph
* **PowerShell** — produit Microsoft
* **SSO** — Single Sign-On
* **PIM** — Privileged Identity Management
* **SIEM** — Security Information and Event Management
* **vCISO** — virtual Chief Information Security Officer
* **PSSI** — Politique de Sécurité des Systèmes d'Information (méthodologie ANSSI)
* **PCA / PRA** — Plan de Continuité d'Activité / Plan de Reprise d'Activité
* **DPIA** — Data Protection Impact Assessment (RGPD)
* **SoA** — Statement of Applicability (ISO 27001)

***

## Application opérationnelle (où mettre à jour)

Quand on change un terme canonique, vérifier ces emplacements :

1. **Fichiers i18n** : `platform/messages/fr.json` + `platform/messages/en.json`
2. **Composants UI** avec libellés hardcodés (à éliminer via REC-CRIT-01)
3. **Templates GRC PDF** : `platform/src/lib/grc/components/`
4. **Templates email** : `platform/src/lib/email/templates/`
5. **Doc commerciale** : `docs/competitive-analysis-2026.md`, `docs/marketing/` (si existe)
6. **Schéma audit JSON v3.0** : `src/schemas/` (côté audit engine PowerShell)
7. **Glossaire dans le portail client** : à créer (V2) — page d'aide pour les DSI PME

***

## Historique des décisions

| Date       | Décision                                                                | Source                                                                                |
| ---------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| 2026-04-29 | "Écart" canonique en FR (vs "Finding")                                  | Arbitrage A4, [UX\_AUDIT\_RECOMMENDATIONS.md](../project/UX_AUDIT_RECOMMENDATIONS.md) |
| 2026-04-29 | "Lancer" canonique en FR (vs "Trigger" / "Launch")                      | REC-CRIT-04, [UX\_AUDIT\_RECOMMENDATIONS.md](../project/UX_AUDIT_RECOMMENDATIONS.md)  |
| 2026-04-29 | "Se déconnecter" partout (vs "Logout")                                  | REC-CRIT-04, REC-MIN-02                                                               |
| 2026-04-29 | "Prévisualiser le portail" pour impersonate (vs "Voir comme ce client") | REC-CRIT-04 distinction navigation/action                                             |

***

## À mesurer (questions ouvertes Phase 3 audit UX)

* **Q2 audit UX** : "Findings" vs "Écarts" — tester avec 3-5 DSI PME pilotes (interviews, capture portail). Si rejet "écart" jugé trop pédagogique, reconsidérer V2.
* Métriques de succès : 0 occurrence de "Findings" dans `messages/fr.json` après REC-CRIT-04 livré, vérifié par script CI REC-CRIT-01.
