<!-- HYPERNUM_DOC_VERSION: 1.4.35 -->
# Hyper'Num — Documentation maître de la plateforme

> **Socle figé :** V1.0.0 « Genesis » — gel officiel du 2026-06-27
> **Version courante :** V1.4.35 « Studio » — 2026-08-23 (lignée post-Genesis, stable)
> **Propriétaire / éditeur :** Honorus Tech · **Produit :** Hyper'Num · **Modèle :** SaaS marque blanche
> **Statut du document :** source unique de vérité — consolide `docs/hypernum/v1/*`, `docs/hypernum/v1.1/*`, `docs/hypernum/architecture/*`, les rapports de phase (0 → 49) et la mémoire projet.
> **Source de vérité version :** `src/hypernum/core/version.ts` (constante `HYPERNUM_VERSION`)
> **Mise à jour :** ce document est réécrit manuellement à chaque nouvelle lignée. Un marqueur `HYPERNUM_DOC_VERSION` en tête de fichier garantit la cohérence avec `HYPERNUM_VERSION` — un bandeau d'avertissement apparaît sur `/manuel/plateforme-complete` en cas de désynchronisation.

Ce document décrit **l'intégralité de la plateforme Hyper'Num** : sa raison d'être, son architecture technique, ses 37 modules Genesis + le module Pack de communication Emissary, son cycle de vie du contenu, sa sécurité, ses performances, son historique de construction et ses guides opérationnels. Il est destiné à trois audiences :

- **Décideurs / structures clientes** — sections 1, 4 (survol), 12, 13.
- **Opérateurs & administrateurs** — sections 4, 5, 7, 12.
- **Développeurs, architectes, auditeurs** — sections 2, 3, 6, 8, 9, 10, 11, 14.

---

## Table des matières

1. [Introduction & vision](#1-introduction--vision)
2. [Architecture technique](#2-architecture-technique)
3. [Modèle de données](#3-modèle-de-données)
4. [Catalogue des modules (37 Genesis + 1 Emissary)](#4-catalogue-des-modules-37-genesis--1-emissary)
5. [Navigation & shell applicatif](#5-navigation--shell-applicatif)
6. [Sécurité](#6-sécurité)
7. [Cycle de vie du contenu](#7-cycle-de-vie-du-contenu)
8. [Import / Export Engine](#8-import--export-engine)
9. [IA transverse](#9-ia-transverse)
10. [Performance & exploitation](#10-performance--exploitation)
11. [Historique de construction — Phases 0 → 49](#11-historique-de-construction--phases-0--49)
12. [Guides opérationnels](#12-guides-opérationnels)
13. [Glossaire](#13-glossaire)
14. [Annexes & sources](#14-annexes--sources)

---

## 1. Introduction & vision

### 1.1 Qu'est-ce qu'Hyper'Num ?

Hyper'Num est un **logiciel SaaS autonome** de pilotage et de diffusion de contenu multi-canal, propriété de **Honorus Tech**. Il est distribué en **marque blanche** : chaque structure cliente peut le personnaliser (identité, palette, modules activés, quotas) sans modification du code.

L'application est un **shell unique** : toutes les URL applicatives sont sous `/hypernum/...`. Les seules routes publiques hors application sont `/auth`, `/reset-password`, `/pending`, `/install`. Aucune couche concurrente n'existe — voir mémoire *Hyper'Num Isolation* (Phase 0).

### 1.2 Version courante — V1.4.19 « Studio »

**Socle figé — V1.0.0 « Genesis »** (2026-06-27)

- Statut : stable, figée. Aucune fonctionnalité nouvelle sur cette lignée sans nouvelle feuille de route.
- Correctifs autorisés : lignée `1.0.x` (sécurité, bugs uniquement).
- Certification : V1 certifiée en Phase 48 avec 0 réserve bloquante, 3 importantes, 5 mineures (voir mémoire *V1 Certification*).

**Lignée V1.1 « Emissary »** (ouverte le 2026-07-15, stable)

- **1.1.0 → 1.1.3** — MVP module **Pack de communication** : génération, clonage de ressources, duplication d'instance.
- **1.1.4 → 1.1.7** — Éditeur WYSIWYG universel (Pro Controls, Live Canvas, Intelligence IA).
- **1.1.8** — Clôture Lot 5, Phase 49 (suivi réserves V1).
- **1.1.9 → 1.1.13** — Fortify & Polish : catalogue d'automatisations, MFA TOTP, monitoring OTLP, recherche accélérée, thèmes visuels.
- **1.1.14 → 1.1.15** — Audit du découplage backend (~97 % d'abstraction).

**Lignée V1.2 « Atelier »**

- **1.2.0** — Presets d'apparence réutilisables.
- **1.2.1** — Génération d'images IA via Lovable AI Gateway.
- **1.2.2** — Édition multi-blocs simultanée.

**Lignée V1.3 « Studio »**

- **1.3.0** — Séparation des espaces « Créer » et « Outils ».
- **1.3.1** — Pont Hyper'Connect (bidirectionnel avec référentiel partagé).
- **1.3.2** — Sélecteur universel de partenaire et intégration dans les parcours de création.
- **1.3.3** — Auto-création des entités parentes Hyper'Connect et messages utilisateur clarifiés.

**Lignée V1.4 « Packs Partenaires »**

- **1.4.0 → 1.4.3** — Mécanique modulaire, modèles, entrées/finitions, livraison (publication, duplication, export).
- **1.4.4 → 1.4.7** — Contrôle qualité, journal de traçabilité, portail partenaire public `/pack/:token`, transmission par QR/e-mail.
- **1.4.8 → 1.4.12** — Suivi de consultation, synthèse de pilotage, tri & filtres rapides, export portefeuille, fiche A4 imprimable.
- **1.4.13 → 1.4.18** — Vue par partenaire, alertes d'échéance, réutilisation guidée, recherche transversale, réorganisation, renommage de dossier.
- **1.4.19** — Navigation simplifiée : sidebar avec accès rapides, recherche d'outil, ouverture auto du pôle actif ; navigation mobile par pôles ; pied de page utile.

Détail complet : `CHANGELOG.md`, `docs/hypernum/v1.1/README.md`, `docs/hypernum/v1.4/PACKS_PARTENAIRES.md`.

Périmètre livré (Genesis + Emissary + Atelier + Studio + Packs Partenaires) :

- **37 modules Genesis + modules 1.1 → 1.4** couvrant Pilotage, Contenus, Catalogue, Diffusion, Écosystème, Qualité, Administration, Packs Partenaires.
- **~230 tables** sous le préfixe `hypernum_*`, RLS systématique, `workspace_id` propagé.
- **6 rôles SaaS** (`super_admin`, `admin`, `editor`, `contributor`, `viewer`, `guest`).
- **14+ contrats internes** garantissant le découplage entre modules.
- **9 slots de connecteurs** prêts mais inactifs (out of scope V1).

Hors-périmètre restant (documenté) : connecteurs externes actifs, marketplace publique d'extensions, API publique versionnée, bundles `.hnb` multi-packs, déclencheurs JsonLogic sur `pack.published`.

### 1.3 Modèle marque blanche

L'identité par défaut du produit (Hyper'Num) et la structure propriétaire/éditrice (Honorus Tech) sont déclarées dans `src/config/branding.ts`. Chaque structure cliente peut surcharger l'apparence pour ses propres utilisateurs : nom produit, logo, favicon, palette, entité légale, texte de copyright. Le code couleurs de référence — hérité historiquement du projet d'origine « Opération Hypérion » — reste la valeur par défaut, mais il ne désigne pas la structure propriétaire de la plateforme :

- Primary navy `#0B2545`
- Accent orange `#F28C38`
- Surface immersive navy `#0B1B2B`
- Typographie : **Sora** (display), **Manrope** (body)

> **Clarification identitaire** : Honorus Tech est seule propriétaire et éditrice du logiciel Hyper'Num. « Opération Hypérion » est un nom de code historique. Le domaine technique historique `hyperion-defense.fr` est en cours de migration vers `www.hypernum.fr` ; il ne représente aucune autre entité propriétaire.

---

## 2. Architecture technique

### 2.1 Stack

| Couche | Technologie |
|---|---|
| Frontend | React 18, Vite 5, TypeScript 5 (strict), Tailwind CSS 3, shadcn/ui |
| Data client | react-query v5, Zod (validation), react-hook-form |
| Backend managé | **Lovable Cloud** (Supabase géré : PostgreSQL, Auth, Storage, Edge Functions, pg_cron) |
| Edge Functions | Deno + imports `npm:` uniquement, auth via `auth.getClaims()` |
| IA transverse | Lovable AI Gateway (Google Gemini + OpenAI, aucune clé côté client) |
| Emails | Domaine dédié `notify.www.hyperion-defense.fr`, templates custom |

Le projet est **strictement client-side + backend managé** : aucun serveur applicatif propre, aucun conteneur. La stack est verrouillée — pas de Next.js, pas de SSR, pas de framework alternatif.

### 2.2 Vue en couches

```text
┌──────────────────────────────────────────────────────────────────────┐
│                          UI (React + shadcn)                          │
│  HyperNumLayout · Sidebar 7 pôles · ⌘K · Onboarding · Health Footer   │
├──────────────────────────────────────────────────────────────────────┤
│                        Modules (37)                                   │
│  Pilotage · Contenus · Catalogue · Diffusion · Écosystème · Qualité   │
│  · Administration                                                     │
├──────────────────────────────────────────────────────────────────────┤
│                        Core Hyper'Num                                 │
│  HyperNumProvider · WorkspaceProvider · UxProvider                    │
│  ConfigCenter · EventBus · Lifecycle · RuleEngine · Contracts         │
│  Shortcuts · Inheritance · Version                                    │
├──────────────────────────────────────────────────────────────────────┤
│                    Lovable Cloud (Postgres)                           │
│  ~230 tables hypernum_*  ·  RLS + GRANTs  ·  SECURITY DEFINER RPC     │
│  pg_cron jobs  ·  Edge Functions (audit-runner, dependency-scan, …)   │
└──────────────────────────────────────────────────────────────────────┘
```

### 2.3 Arborescence `src/hypernum/`

```text
src/hypernum/
├── core/               # Providers, services transverses, contrats
│   ├── HyperNumProvider.tsx
│   ├── workspace/      # WorkspaceProvider, switcher, isolation
│   ├── ux/             # ⌘K, favoris, récents, onboarding, shortcuts
│   ├── services/       # configCenter, lifecycle, ruleEngine
│   ├── events/         # eventBus (→ hypernum_analytics_events)
│   ├── contracts/      # 14 contrats de découplage
│   ├── inheritance/    # Résolution PMP marque → produit → service
│   ├── publish/        # useContentLock, LockConflictDialog, workflow
│   └── version.ts      # Constantes de version officielles
├── modules/            # 37 modules (voir §4)
│   └── <module>/
│       ├── HyperNum<Module>.tsx   # entrée lazy
│       ├── components/
│       ├── hooks/
│       └── lib/
├── layout/             # HyperNumLayout, sidebar, topbar, footer
├── ui/                 # Composants transverses (UnderlineAccent, HelpHint, …)
└── routes/             # navigation.ts (registre 7 pôles), lazy routes
```

Chaque module suit la même convention et **ne dépend d'aucun autre module** ; seuls les contrats (`src/hypernum/core/contracts/`) sont partagés.

### 2.4 Conventions transverses

- **Tables** : `hypernum_<domain>_<entity>` — préfixe obligatoire (`NAMING_CONVENTIONS.md`).
- **RPC** : `hypernum_<verbe>_<objet>` (ex. `hypernum_promote_sandbox`).
- **Événements** : `hypernum.<domain>.<action>` (catalogue : `EVENT_CATALOG.md`).
- **Routes** : `/hypernum/<module>[/sous-route]`.
- **Hooks** : `useHyperNum<Domain>...` (transverses) ou `use<Object>...` (interne module).
- **Design tokens** : jamais de couleurs hardcodées — toujours via variables CSS de `src/index.css` et variants shadcn.

### 2.5 Edge Functions

Toutes les Edge Functions utilisent **exclusivement des imports `npm:`** (jamais `esm.sh`) et valident les JWT via `auth.getClaims(token)` pour compatibilité avec les clés de signature Supabase. Principales fonctions :

| Fonction | Rôle | Déclencheur |
|---|---|---|
| `audit-runner` | Exécute les règles `hypernum_audit_rules` | pg_cron quotidien |
| `dependency-scan` | Recalcule les dépendances inter-objets | pg_cron horaire |
| `apply-retention` | Applique les politiques de rétention (soft-delete → purge) | pg_cron quotidien |
| `send-transactional-email` | Envoi via domaine custom | Appel client |
| `import-bundle` / `export-bundle` | Import/Export Engine (Phase 42) | Appel client |
| `ai-briefing`, `ai-synthesis`, `ai-search` | IA transverse | Appel client |

Imports massifs (SIRENE, FINESS, Annuaire…) — restreints `super_admin` uniquement (mémoire *Edge Function Security*).

---

## 3. Modèle de données

### 3.1 Groupes de tables

Toutes les tables portent le préfixe `hypernum_*` et incluent au minimum : `id`, `workspace_id`, `lifecycle_state` (`active` / `archived` / `deleted`), `archived_at`, `soft_deleted_at`, `created_at`, `updated_at`, `business_code` (objets métier).

| Groupe | Exemples de tables | Rôle |
|---|---|---|
| Contenu | `hypernum_pages`, `hypernum_sections`, `hypernum_blocks`, `hypernum_templates` | Structure éditoriale WYSIWYG |
| Catalogue | `hypernum_brands`, `hypernum_products`, `hypernum_services`, `hypernum_capabilities`, `hypernum_audiences` | Modèle métier héritable |
| Variables & tokens | `hypernum_variables`, `hypernum_variable_scopes` | Injection dans PMP et contenus |
| Assets | `hypernum_assets`, `hypernum_asset_variants` | Médiathèque (bucket dédié) |
| Diffusion | `hypernum_campaigns`, `hypernum_channels`, `hypernum_smart_links`, `hypernum_qr_codes`, `hypernum_representations` | Distribution multicanal |
| PMP | `hypernum_pmp_documents`, `hypernum_pmp_sections` | Plans marketing personnalisés |
| Écosystème | `hypernum_partners`, `hypernum_partner_relations` | Partenaires (bidirectionnel, mémoire *Bidirectional Partner Sync*) |
| Workflow | `hypernum_versions`, `hypernum_sandboxes`, `hypernum_publications`, `hypernum_previews` | Publication / rollback |
| Qualité | `hypernum_audit_rules`, `hypernum_dependencies`, `hypernum_health_snapshots` | Validation, audit, santé |
| SaaS | `hypernum_workspaces`, `hypernum_workspace_members`, `hypernum_invitations` | Multi-tenant, rôles |
| Observabilité | `hypernum_analytics_events`, `activity_logs` | Bus interne + traçabilité |
| IO | `hypernum_io_bundles`, `hypernum_io_operations` | Import/Export Engine |

### 3.2 Politique RLS type

Chaque table `public.hypernum_*` respecte l'ordre non négociable :

1. `CREATE TABLE public.hypernum_x (...)` avec `workspace_id NOT NULL`.
2. `GRANT SELECT, INSERT, UPDATE, DELETE ON public.hypernum_x TO authenticated;` + `GRANT ALL ... TO service_role;`
3. `ALTER TABLE ... ENABLE ROW LEVEL SECURITY;`
4. Policies filtrant par `workspace_id` + rôle via fonction `has_role()` `SECURITY DEFINER`.

Aucune politique n'expose le workspace d'un autre tenant. Les rôles sont stockés dans `hypernum_workspace_members` — jamais sur le profil (règle stricte anti-escalade).

### 3.3 Fonctions & RPC

- **RPC métier** (`SECURITY DEFINER` + `SET search_path = public`) pour agrégations lourdes : `hypernum_health_overview`, `hypernum_health_integrity`, `hypernum_health_modules`, `hypernum_dependency_scan`, `hypernum_promote_sandbox`, `hypernum_apply_retention`.
- **Jobs pg_cron** : `hypernum-audit-runner` (quotidien), `hypernum-dependency-scan` (horaire), `hypernum_apply_retention` (quotidien).

---

## 4. Catalogue des modules (37 Genesis + 1 Emissary)

Répartis en **7 pôles**. Chaque module suit la même convention (`src/hypernum/modules/<slug>/HyperNum<Module>.tsx`, lazy-loadé). Références détaillées : `docs/hypernum/v1/V1_RAPPORT_FONCTIONNALITES.md` (Genesis) et `docs/hypernum/v1.1/PACK_MODULE.md` (Emissary).

### 4.1 🧭 Pilotage

| Module | Route | Rôle |
|---|---|---|
| Tableau de bord | `/hypernum` | Vue d'accueil, KPIs, raccourcis |
| Cockpit | `/hypernum/cockpit` | Vue opérationnelle temps réel |
| Analytics | `/hypernum/analytics` | Événements bus, rapports |
| Audit readiness | `/hypernum/audit` | Préparation à l'audit externe |
| Audit Engine | `/hypernum/audit-engine` | Règles JsonLogic, exécutions |
| Centre de Santé | `/hypernum/health` | Intégrité DB, modules, RPC |

### 4.2 📝 Contenus

| Module | Route | Rôle |
|---|---|---|
| Pages | `/hypernum/pages` | Pages éditables, structure et statut |
| Builder | `/hypernum/builder` | Éditeur WYSIWYG DnD avancé (Phase 39) |
| Smart Blocks | `/hypernum/smart-blocks` | Blocs réutilisables, overrides rich-content |
| Sections | `/hypernum/sections` | Composition de blocs, héritage |
| Modèles | `/hypernum/templates` | Templates de pages/sections |
| Variables | `/hypernum/variables` | Tokens injectables (scope structure/marque/page) |
| Médiathèque (Assets) | `/hypernum/assets` | Fichiers, variantes, bucket dédié |
| Bibliothèque | `/hypernum/library` | Vue transverse Blocks + Sections + Modèles + Assets |

### 4.3 🗂️ Catalogue

| Module | Route | Rôle |
|---|---|---|
| PMP | `/hypernum/pmp` | Plans marketing personnalisés (documents composés) |
| Marques | `/hypernum/brands` | Racine héritage marque → produit → service |
| Produits | `/hypernum/products` | Produits liés à une marque |
| Services | `/hypernum/services` | Services liés à un produit ou une marque |
| Capacités | `/hypernum/capabilities` | Compétences transverses |
| Audiences | `/hypernum/audiences` | Cibles marketing |
| Catalogue transverse | `/hypernum/catalog` | Vue croisée paginée serveur |

### 4.4 📣 Diffusion

| Module | Route | Rôle |
|---|---|---|
| Campagnes | `/hypernum/campaigns` | Campagnes multi-canal |
| Smart Links | `/hypernum/smart-links` | Liens dynamiques trackés |
| QR Codes | `/hypernum/qr-codes` | Génération & suivi |
| Canaux | `/hypernum/channels` | Canaux de diffusion (web, print, PDF, email…) |
| Représentations | `/hypernum/representations` | Rendus par canal (viewport, gabarit) |
| Calendrier | `/hypernum/calendar` | Planification |
| Documents | `/hypernum/documents` | Exports statiques (PDF, MD, HTML) |
| Automatisations | `/hypernum/automations` | Déclencheurs → actions (JsonLogic) |
| **Pack de communication** *(Emissary 1.1.x)* | `/hypernum/diffusion/packs` | Génération one-shot d'un pack (PMP + page + smart_links + QR + documents) à partir d'un pack-type et de variables saisies, publication directe encadrée, duplication d'instance |

### 4.5 🤝 Écosystème

| Module | Route | Rôle |
|---|---|---|
| Partenaires | `/hypernum/partners` | Réseau de partenaires (bidirectionnel) |
| Marketplace | `/hypernum/marketplace` | Placeholder — 9 connector slots inactifs |

### 4.6 🧪 Qualité

| Module | Route | Rôle |
|---|---|---|
| Validation | `/hypernum/validation` | File de validation avant publication |
| Versioning | `/hypernum/versions` | Historique + diffs |
| Sandbox | `/hypernum/sandboxes` | Bacs à sable pré-publication |
| Publication | `/hypernum/publications` | Publications & rollback |
| Dépendances | `/hypernum/dependencies` | Impact / dépendances inter-objets (Phase 29) |

### 4.7 ⚙️ Administration

| Module | Route | Rôle |
|---|---|---|
| Configuration | `/hypernum/configuration` | Settings, feature flags, quotas |
| Administration | `/hypernum/admin` | Utilisateurs, workspaces, rôles, docs internes |
| Aide | `/hypernum/help` | Aide contextuelle, raccourcis, tutoriels |

Les modules **legacy supprimés** ne doivent jamais être réintroduits : Écosystème (workspace/projects), Partenariats, Acteurs, Veille, Cartographie, Analysis Folders, Influence Matrix, AppMode bi-modal, imports SIRENE/FINESS/OSM/Annuaire, Trello kanban (mémoire *Hyper'Num Isolation*).

---

## 5. Navigation & shell applicatif

### 5.1 Shell unique

`src/hypernum/layout/HyperNumLayout.tsx` est le **seul shell applicatif**. Il expose :

- Sidebar 7 pôles (mapping module → pôle dans `src/hypernum/routes/navigation.ts`).
- Topbar : sélecteur de workspace, ⌘K, notifications, profil.
- Footer : Centre de Santé compact.
- Raccourcis clavier globaux : `?` (aide), `g d/b/l/c/x/p/a` (aller à un pôle).

Aucun autre `Layout*` ne subsiste (les anciens `AppLayout`, `AppSidebar` ont été supprimés en Phase 0).

### 5.2 Routes publiques hors app

`/auth`, `/reset-password`, `/pending` (compte en attente d'approbation), `/install` (initialisation d'une structure). Toutes les autres routes sont sous `/hypernum/...` et protégées.

### 5.3 UX transverses

- **Command Palette ⌘K** (Phase 35) : recherche universelle serveur (filtrage cmdk désactivé, mémoire *Search Filtering Logic*).
- **Favoris & récents** (Phase 35) : persistés par utilisateur.
- **Onboarding persistant** (Phase 35) : reprend là où on en était.
- **Aide contextuelle** `<HelpHint />` : tooltips guidés par module.
- **Contraintes mobile** : cibles tactiles ≥ 44 px, safe-area insets, dialogs `max-w-2xl max-h-[85vh]`, footers `flex-wrap` (mémoire *Dialog Geometry*, *Mobile PWA Experience*).

---

## 6. Sécurité

### 6.1 Trois couches cumulatives

1. **Authentification** — Lovable Cloud Auth, JWT. Providers activés : email/password, Google OAuth (approbation manuelle si admin existe — mémoire *OAuth Security Delay*).
2. **Multi-tenant** — `workspace_id` propagé sur ~210 tables, filtré via RLS.
3. **Rôles** — 6 rôles dans `hypernum_workspace_members`, jamais sur le profil, testés via `has_role()` `SECURITY DEFINER`.

### 6.2 Rôles SaaS

| Rôle | Portée | Capacité |
|---|---|---|
| `super_admin` | Global (Honorus Tech) | Toute action, y compris imports massifs & suppressions protégées |
| `admin` | Workspace | Gestion utilisateurs, config, publication |
| `editor` | Workspace | Création, édition, publication après validation |
| `contributor` | Workspace | Création, édition (drafts) |
| `viewer` | Workspace | Lecture |
| `guest` | Workspace | Lecture strictement limitée (invité externe) |

Presets d'invitation : Observer / User / Contributor (mémoire *Ecosystem Auth Presets*). Suppression d'un utilisateur exige un transfert de propriété (mémoire *User Deletion Transfer*).

### 6.3 Traçabilité

Toute mutation métier insère un enregistrement dans `activity_logs` **avant** invalidation des queries (contrainte stricte — mémoire *Log Traceability Constraint*). Hook : `useLogActivity` (`@/hooks/useActivityLog`).

### 6.4 Protection & suppression

- Champ `is_protected` sur les objets sensibles → suppression bloquée pour tout rôle ≠ `super_admin` (mémoire *Is-Protected Deletion Lock*).
- Soft delete via `lifecycle_state` + `soft_deleted_at`. Purge asynchrone via `hypernum_apply_retention`.

### 6.5 Résultats d'audit V1

Zéro risque critique. Détail : `docs/hypernum/v1/V1_RAPPORT_SECURITE.md`.

---

## 7. Cycle de vie du contenu

### 7.1 Workflow standard

```text
Brouillon ──▶ Sandbox ──▶ Preview ──▶ Validation ──▶ Publication ──▶ Production
                 │                          │                │
                 └── promote (RPC) ─────────┘                └── rollback (RPC)
```

Tables : `hypernum_versions`, `hypernum_version_diffs`, `hypernum_sandboxes`, `hypernum_sandbox_entities`, `hypernum_publications`, `hypernum_previews`.

### 7.2 Verrous collaboratifs

- Hook `useContentLock` (`src/hypernum/core/publish/`) — pose un verrou par utilisateur sur une entité en cours d'édition.
- `LockConflictDialog` — affichage explicite en cas de conflit, avec option « prendre la main » (audit-tracée).
- `PublishWorkflowBar` — barre d'action contextuelle (brouillon → publication).

### 7.3 Versioning & rollback

Chaque publication crée une version horodatée + diff structuré. Rollback via RPC `hypernum_rollback_publication`. Historique consultable dans `/hypernum/versions`.

### 7.4 Héritage (Inheritance)

Résolution automatique marque → produit → service pour PMP et variables (voir `src/hypernum/core/inheritance/`). Les overrides sont matérialisés en `rendered_html` à la composition (mémoire *WYSIWYG composition editors*).

---

## 8. Import / Export Engine

Livré en **Phase 42**. Route : `/hypernum/io`.

- **13 types d'objets** supportés (pages, sections, blocks, marques, produits, services, capacités, audiences, PMP, variables, assets, modèles, smart blocks).
- **Formats** : JSON, Bundle (`.hnb`), CSV, YAML, Markdown.
- **Bucket** : `io-bundles` (Storage privé, RLS par workspace).
- **4 stratégies de conflit** : `skip`, `replace`, `merge`, `duplicate`.
- **Traçabilité** : chaque opération journalisée dans `hypernum_io_operations` + `activity_logs`.

Détails : `docs/hypernum/PHASE_42_IO_ENGINE.md`.

---

## 9. IA transverse

Fourniture via **Lovable AI Gateway** — aucune clé côté client. Modèles : Google Gemini Flash (défaut), OpenAI GPT (fallback ciblé).

Cas d'usage livrés :

- **Briefings quotidiens** — synthèse narrative des événements du workspace.
- **Rapports hebdomadaires narratifs** — lundi 07:00, résumé stratégique (mémoire *Weekly Narrative Reports*).
- **Recherche NLP** — requête langage naturel → filtre structuré.
- **Alertes intelligentes** — détection d'anomalies, acteurs influents inactifs 30 j+ (mémoire *AI Smart Alerts*).

Les prompts sont **stockés en base** (`hypernum_ai_prompts`), pas dans le code (mémoire *AI Centralized Strategy*). Chaque appel est logué et attribué au workspace.

---

## 10. Performance & exploitation

### 10.1 Performance

- **Lazy-loading 100 %** des routes Hyper'Num (`React.lazy` + `Suspense`).
- **16+ index DB** (Phase 31 & 32) sur `workspace_id`, `lifecycle_state`, `created_at`, dépendances, analytics.
- **RPC serveur** pour KPIs & agrégations lourdes.
- **react-query staleTime** calibré par domaine (30 s Santé → 5 min référentiels).
- **Cap visuel** : graphe de dépendances 200 nœuds max ; médiathèque virtualisée > 200 items.

Détails : `docs/hypernum/v1/V1_RAPPORT_PERFORMANCES.md`.

### 10.2 Health Center

`/hypernum/health` — agrégation live via 3 RPC (`hypernum_health_overview`, `_integrity`, `_modules`). Alerte visuelle + widget footer.

### 10.3 Instance & quotas

Sizing d'instance Lovable Cloud configurable via *Cloud → Overview → Advanced settings*. Quotas & feature flags gérés dans `hypernum_config_center` (Configuration Center).

### 10.4 Jobs planifiés

| Job | Fréquence | Rôle |
|---|---|---|
| `hypernum-audit-runner` | Quotidien (off-peak) | Exécute `hypernum_audit_rules` |
| `hypernum-dependency-scan` | Horaire | Recalcule dépendances |
| `hypernum_apply_retention` | Quotidien | Purge soft-delete expiré |
| `ai-weekly-report` | Lundi 07:00 | Génère rapport hebdo |

---

## 11. Historique de construction — Phases 0 → 49

Chronologie condensée. Fichiers sources : `docs/hypernum/PHASE_*.md`, `docs/hypernum/phase44` → `phase48/`, `docs/hypernum/v1.1/` (lignée Emissary).

| Phase | Livrable | Statut |
|---|---|---|
| **0** | Isolation Hyper'Num : suppression des couches legacy (Écosystème, Veille, Acteurs, Trello, AppLayout). Hyper'Num devient l'application entière. | ✅ |
| 1–28 | Construction des 37 modules par pôle (Contenus, Catalogue, Diffusion, Qualité, Administration). Convention `hypernum_*` généralisée. | ✅ |
| 29 | Centre des Dépendances : analyse d'impact avant suppression, graphe interactif. | ✅ |
| 30 | Versioning + diffs structurés + rollback publications. | ✅ |
| 31 | Documentation V1 initiale (architecture, schémas, guides) + 16 index DB. | ✅ |
| 32 | Sandbox & promote sandbox → production. Harmonisation RLS + GRANT sur 150+ tables. | ✅ |
| **33** | Cleanup DB : plan de migration des tables legacy, purge partielle. | ✅ |
| **34** | Architecture SaaS multi-tenant : `workspace_id`, 6 rôles, invitations 8 caractères. | ✅ |
| **35** | Audit UX : ⌘K, favoris, récents, raccourcis, onboarding persistant, `<HelpHint />`. | ✅ |
| **36** | Health Center + 3 RPC agrégées + widget footer. | ✅ |
| 37 | `version.ts` source unique. Rapports d'audit V1 (qualité, sécurité, perf, fonctionnalités). | ✅ |
| **38** | Navigation 7 pôles : sidebar hub-first, mapping module→pôle, raccourcis `g d/b/l/c/x/p/a`. | ✅ |
| **39** | Builder professionnel : zoom, règles, guides, mini-carte, focus, plein écran, viewports Print/PDF, comparaison versions, favoris, palette `/`. | ✅ |
| **40** | Media Center : variantes, virtualisation, bucket dédié. | ✅ |
| **41** | Back-office : administration workspaces, invitations, quotas. | ✅ |
| **42** | Import/Export Engine : `/hypernum/io`, 13 types, 5 formats, 4 stratégies de conflit. | ✅ |
| 43 | Dead code sweep, perf notes, audit final. | ✅ |
| **44** | Automatisations JsonLogic (déclencheurs → actions). | ✅ |
| **45** | WYSIWYG composition itération 2 : éditeurs DnD Sections/Pages/Modèles, overrides rich-content. | ✅ |
| **46** | Extensions marque blanche + branding runtime. | ✅ |
| **47** | Autonomie no-dev : 9/11 🟢, 2/11 🟡 (thèmes, automatisations avancées), note 86/100. | ✅ |
| **48** | Certification V1 : 0 réserve bloquante, 3 importantes, 5 mineures. **V1.0.0 Genesis figée.** | ✅ |
| **49** | **Ouverture lignée V1.1 « Emissary »** — module Pack de communication : MVP 1.1.0 (tables, RPC, scope `pack` priorité 45, UI wizard 3 étapes) + patch 1.1.1 (clonage smart_links / QR) + patch 1.1.2 (clonage PMP / page / documents) + patch 1.1.3 (duplication d'instance, Lot 4 partiel). | ✅ |

Phases légères (couleurs, wording, correctifs 1.0.x, patches 1.1.x) documentées dans les `PHASE_*.md` et `docs/hypernum/v1.1/*` correspondants.

---

## 12. Guides opérationnels

### 12.1 Onboarding d'une nouvelle structure

1. **Créer le workspace** — `/hypernum/admin` (super_admin) ou route `/install` pour première structure.
2. **Configurer l'identité marque blanche** — `/hypernum/configuration` : nom, logo, favicon, palette.
3. **Inviter les utilisateurs** — invitations 8 caractères, preset (Observer / User / Contributor).
4. **Approuver les comptes** — comptes OAuth attendus dans `/pending` (mémoire *OAuth Security Delay*).
5. **Peupler le catalogue** — Marques → Produits → Services → Capacités → Audiences.
6. **Créer les variables** — scope structure / marque / page.
7. **Composer une première page** — Builder ou Modèles.

### 12.2 Publier une PMP

1. Créer un document PMP (`/hypernum/pmp`) rattaché à une marque + produit + service.
2. Composer les sections (héritage automatique des variables).
3. Enregistrer un brouillon → promouvoir en Sandbox.
4. Passer par Validation si le rôle l'exige.
5. Publier → une version + un rendu (`rendered_html`) sont créés.
6. En cas de régression : rollback via `/hypernum/publications`.

### 12.3 Personnaliser la marque blanche

1. Éditer `src/config/branding.ts` (identité **par défaut**, jamais spécifique à une structure).
2. Pour surcharger par workspace : `hypernum_workspace_branding` (nom, logo asset, palette hex).
3. Vérifier l'aperçu dans le workspace concerné — le shell recharge le branding depuis `WorkspaceProvider`.

### 12.4 Imports massifs (super_admin uniquement)

- Passer par `/hypernum/io` (Import/Export Engine, Phase 42).
- Bundles `.hnb` recommandés (checksum + manifeste).
- Choisir la stratégie de conflit adaptée (`merge` = enrichissement, `replace` = écrasement).
- Le log d'opération est consultable dans `hypernum_io_operations` + `activity_logs`.

### 12.5 Incident / diagnostic

1. Consulter le **Centre de Santé** (`/hypernum/health`) — statut global + par module.
2. Regarder `activity_logs` filtré sur la fenêtre de l'incident.
3. Ouvrir `/hypernum/audit-engine` — règles récentes en échec.
4. Si Edge Function : consulter les logs backend (super_admin).
5. Si régression fonctionnelle : rollback via `/hypernum/publications`.

---

## 13. Glossaire

- **Bundle (`.hnb`)** — Archive Hyper'Num utilisée par l'Import/Export Engine.
- **Business code** — Identifiant métier stable d'un objet, indépendant de son UUID technique.
- **Contract** — Interface découplée entre modules (`src/hypernum/core/contracts/`).
- **EventBus** — Bus interne publiant dans `hypernum_analytics_events`.
- **Genesis** — Codename de la V1.0.0.
- **HelpHint** — Composant d'aide contextuelle in-app.
- **Héritage (Inheritance)** — Résolution marque → produit → service pour variables et PMP.
- **Lifecycle** — État `active` / `archived` / `deleted` (soft delete).
- **Lock** — Verrou d'édition collaboratif (`useContentLock`).
- **Marque blanche** — Personnalisation d'identité par structure sans modification du code.
- **PMP** — Plan Marketing Personnalisé, document composé rattaché à un produit/service.
- **RLS** — Row Level Security PostgreSQL.
- **RPC** — Fonction PostgreSQL appelée via l'API Data, souvent `SECURITY DEFINER`.
- **Sandbox** — Bac à sable pré-publication.
- **Smart Block** — Bloc paramétrable réutilisable dans plusieurs sections.
- **Smart Link** — Lien dynamique tracké (redirection + analytics).
- **Structure** — Instance cliente (équivalent workspace commercial).
- **Variable** — Token nommé injectable dans un contenu, avec scope hiérarchique.
- **Workspace** — Unité d'isolation multi-tenant technique.

---

## 14. Annexes & sources

### 14.1 Documents sources consolidés

- **Architecture & version**
  - `docs/hypernum/v1/V1_ARCHITECTURE_FINALE.md`
  - `docs/hypernum/v1/V1_DOCUMENTATION_FINALE.md`
  - `docs/hypernum/v1/V1_RELEASE_NOTES.md`
  - `docs/hypernum/architecture/README.md`, `organisation.md`, `principes.md`
  - `src/hypernum/core/version.ts`

- **Rapports V1 (Phase 37)**
  - `V1_RAPPORT_QUALITE.md`
  - `V1_RAPPORT_SECURITE.md`
  - `V1_RAPPORT_PERFORMANCES.md`
  - `V1_RAPPORT_FONCTIONNALITES.md`
  - `V1_RAPPORT_CONFORMITE_FINAL.md`
  - `RAPPORT_FINAL_V1.md`

- **Documentation V1 historique**
  - `architecture-generale.md`, `schemas-objets.md`, `relations-metier.md`
  - `glossaire.md`, `audit-permissions.md`
  - `guide-administrateur.md`, `guide-developpeur.md`, `guide-exploitation.md`, `guide-maintenance.md`

- **Transverses**
  - `docs/hypernum/NAMING_CONVENTIONS.md`
  - `docs/hypernum/EVENT_CATALOG.md`
  - `docs/hypernum/CUSTOM_DOMAINS.md`
  - `docs/hypernum/ADDENDUM_V3_REPORT.md`

- **Phases clés**
  - `PHASE_33_CLEANUP_REPORT.md`, `PHASE_33_DB_MIGRATION_PLAN.md`
  - `PHASE_34_SAAS_ARCHITECTURE.md`
  - `PHASE_35_UX_AUDIT.md`
  - `PHASE_36_HEALTH_CENTER.md`
  - `PHASE_38_NAV_AUDIT.md`
  - `PHASE_39_BUILDER_AUDIT.md`
  - `PHASE_40_MEDIA_CENTER.md`
  - `PHASE_41_BACK_OFFICE.md`
  - `PHASE_42_IO_ENGINE.md`
  - `PHASE_43_DEAD_CODE.md`, `PHASE_43_FINAL_AUDIT.md`, `PHASE_43_PERF_NOTES.md`
  - `docs/hypernum/phase44/`, `phase45/`, `phase46/`, `phase47/`, `phase48/`

### 14.2 Points de code de référence

- `src/hypernum/core/version.ts` — identité de version.
- `src/hypernum/core/contracts/index.ts` — registre des 14 contrats internes.
- `src/hypernum/routes/navigation.ts` — mapping module → pôle.
- `src/hypernum/core/publish/` — workflow de publication + verrous.
- `src/hypernum/core/inheritance/` — résolution PMP.
- `src/config/branding.ts` — identité par défaut.

### 14.3 Frontières gelées (rappel)

- Pas de SSR, pas de Next.js, pas d'API REST publique.
- Pas de webhooks sortants — les 9 `hypernum_connector_slots` restent inactifs.
- Pas de stockage externe hors Lovable Cloud Storage.
- Pas de réintroduction des modules legacy (Écosystème, Veille, Acteurs, Trello, Cartographie…).

---

*Fin du document maître. Toute évolution structurelle doit être précédée d'une nouvelle feuille de route Honorus Tech et incorporée à ce fichier par un patch daté.*
