# Guide d'Utilisation Officiel — Plateforme Industrielle MNGI
## Manuel Utilisateur Exhaustif : Fonctionnalités Métier & Ergonomie Avancée

---

> **Plateforme** : Suite Native Rust MNGI (Transformation, Traçabilité & Comptabilité Halieutique)  
> **Marque Officielle** : **MNGI** (Dakhla / Agadir, Maroc)  
> **Public Cible** : Direction Générale, Responsables d'Usine, Chefs de Quai, Contrôleurs de Gestion, Magasiniers et Opérateurs de Saisie.  
> **Philosophie Opérationnelle** : *« L'opérateur saisit le minimum. Le système calcule et rapproche le maximum. Le responsable contrôle par exception. Le patron décide avec certitude. »*

---

## SOMMAIRE GÉNÉRAL

1. [Prise en Main & Accès à la Plateforme](#1-prise-en-main--accès-à-la-plateforme)
2. [Boîte à Outils d'Ergonomie Universelle & Facilité de Navigation](#2-boîte-à-outils-dergonomie-universelle--facilité-de-navigation)
   - [2.10. Comparatif des 3 Modes de Saisie Coexistants (Où et Comment Saisir)](#210-comparatif-des-3-modes-de-saisie-coexistants)
   - [2.11. Préservation & Réconciliation Guidée Web ↔ Excel avec Cases à Cocher](#211-préservation--réconciliation-guidée-web--excel-avec-cases-à-cocher)
   - [2.12. Circuit Unique de Pièces Justificatives & Workflow des Saisies en Attente](#212-circuit-unique-de-pièces-justificatives--workflow-des-saisies-en-attente)
   - [2.13. Sélecteur Multi-Bases SQLite à Chaud (Production / Simulation)](#213-sélecteur-multi-bases-sqlite-à-chaud-production--simulation)
3. [Guide Détaillé Page par Page (20 Écrans Métier)](#3-guide-détaillé-page-par-page)
   - [Page 01 : Hub Général & Accueil (`/`)](#page-01--hub-général--accueil)
   - [Page 02 : Grand Tableau de Bord des Flux (`/tableau`)](#page-02--grand-tableau-de-bord-des-flux-tableau)
   - [Page 03 : Registre Officiel « Rapport Global » 20 Colonnes (`/rapport-global`)](#page-03--registre-officiel-rapport-global-20-colonnes-rapport-global)
   - [Page 04 : Rendement Débarquement → Triage BP → BT (`/rapports/rendement-bp-bt`)](#page-04--rendement-débarquement--triage-bp--bt-rapportsrendement-bp-bt)
   - [Page 05 : Rendement Triage → Emballage BT → BE (`/rapports/rendement-bt-be`)](#page-05--rendement-triage--emballage-bt--be-rapportsrendement-bt-be)
   - [Page 06 : Rendement Global Filière BP → BE (`/rapports/rendement-bp-be`)](#page-06--rendement-global-filière-bp--be-rapportsrendement-bp-be)
   - [Page 07 : Suivi Frigorifique des Stocks (`/rapports/suivi-stock`)](#page-07--suivi-frigorifique-des-stocks-rapportssuivi-stock)
   - [Page 08 : Comptabilité CGNC & Charges Hors Poisson (`/comptabilite`)](#page-08--comptabilité-cgnc--charges-hors-poisson-comptabilite)
   - [Page 09 : Comptabilité Analytique & Coût de Revient (`/analytique`)](#page-09--comptabilité-analytique--coût-de-revient-analytique)
   - [Page 10 : MRP Halieutique & Planification des Besoins (`/mrp`)](#page-10--mrp-halieutique--planification-des-besoins-mrp)
   - [Page 11 : Diagnostic Industriel & Contrôle par Exception (`/diagnostic`)](#page-11--diagnostic-industriel--contrôle-par-exception-diagnostic)
   - [Page 12 : Mass Balance, Généalogie & Réconciliation (`/mass-balance`)](#page-12--mass-balance-généalogie--réconciliation-mass-balance)
   - [Page 13 : Moteur de Contrôle Interne & 7 Couches de Valeur (`/controle-interne`)](#page-13--moteur-de-contrôle-interne--7-couches-de-valeur-controle-interne)
   - [Page 14 : Administration des Utilisateurs & Droits RBAC (`/gestion-utilisateurs`)](#page-14--administration-des-utilisateurs--droits-rbac-gestion-utilisateurs)
   - [Page 15 : Référentiels Métier & Paramétrage Usine (`/referentiels`)](#page-15--référentiels-métier--paramétrage-usine-referentiels)
   - [Page 16 : Visualiseur de Documentation & Wiki Officiel (`/doc`)](#page-16--visualiseur-de-documentation--wiki-officiel-doc)
   - [Page 17 : Prestations de Froid, Sous-Traitance & Stockage Négatif (`/services-froid`)](#page-17--prestations-de-froid-et-sous-traitance-services-froid)
   - [Page 18 : Dossiers d'Exportation & Liasse Documentaire ONSSA (`/dossiers-export`)](#page-18--dossiers-dexportation-et-liasse-sanitaire-onssa-dossiers-export)
   - [Page 19 : Module RH Complet & Simulateur Mobilisation par Arrivage (`/rh`)](#page-19--module-rh-complet--simulateur-mobilisation-par-arrivage-rh)
   - [Page 20 : Audit d'Intégrité des Indicateurs & Tour de Contrôle KPIs (`/audit-indicateurs`)](#page-20--audit-dintégrité-des-indicateurs--tour-de-contrôle-kpis-audit-indicateurs)
4. [Le Visualiseur & Éditeur Interactif de Bons Numérisés](#4-le-visualiseur--éditeur-interactif-de-bons-numérisés)
5. [Gestionnaire de Sauvegardes & Restauration 1-Clic](#5-gestionnaire-de-sauvegardes--restauration-1-clic)
6. [Le Bot Mobile Telegram Terrain (@WEBINFOSMNGIBOT)](#6-le-bot-mobile-telegram-terrain)
7. [Aide-Mémoire des Raccourcis & Bonnes Pratiques](#7-aide-mémoire-des-raccourcis--bonnes-pratiques)

---

<a id="1-prise-en-main--accès-à-la-plateforme"></a>
<a id="1-prise-en-main-accès-à-la-plateforme"></a>
## 1. PRISE EN MAIN & ACCÈS À LA PLATEFORME

### 1.1. Portail de Connexion Sécurisée (`/connexion`)
- **Adresse locale** : Ouvrez votre navigateur sur **[http://localhost:30018/connexion](http://localhost:30018/connexion)** (ou cliquez sur le bouton *Connexion* en haut à droite).
- **Adresse en production** : Accédez via votre domaine sécurisé (ex: `https://peche.votredomaine.ma/connexion`).
- **Sélection Rapide du Compte (Zéro Saisie Manuelle)** :
  - **Menu Déroulant *"Choisir dans la liste"*** : Situé au-dessus du champ et via le bouton liste `[☰]`, il affiche tous les comptes actifs de l'usine avec leur nom, email et badge de rôle (Direction, Manager, Stock Frigo, Traitement...). Un simple clic insère l'identifiant et active immédiatement la saisie du mot de passe.
  - **Autocomplétion Native `<datalist>`** : Dès que vous cliquez dans la case ou tapez une lettre, la liste des comptes correspondants apparaît instantanément.
- **Confidentialité & Sécurité des Mots de Passe** :
  - **Zéro mot de passe exposé** : Aucun mot de passe n'est pré-rempli ni divulgué sur l'écran de connexion.
  - **Bascule de visibilité** : Un clic sur l'icône œil permet d'afficher ou masquer les caractères lors de la saisie.
  - **Modification Autonome** : Le lien *"Changer le mot de passe ?"* permet à tout utilisateur de modifier son mot de passe en saisissant son ancien mot de passe.

### 1.2. Architecture Ergonomique de la Barre de Navigation Supérieure (Navbar & Sidebar)
Afin de garantir un confort visuel parfait sur toutes les résolutions d'écran (laptops 1366px, 1440px, full HD 1080p et 4K) sans aucun débordement horizontal ni retour à la ligne forcé, la barre supérieure regroupe les 21 écrans applicatifs en **6 grands pôles modulaires d'entreprise** :

- **Logo officiel MNGI** : Redirection instantanée vers l'Accueil (`/`) au clic.
- 🏠 **Accueil** (`/`) : Tableau de bord exécutif d'accueil, KPIs consolidés et centre de téléversement OCR Claude Vision.
- 📈 **Menu Flux & Registres** :
  - *Tableau des Flux (10 Filtres)* (`/tableau`) : Registre dynamique réactif avec 4 graphiques, KPIs et 10 filtres multi-sélection.
  - *Rapport Global (20 Colonnes)* (`/rapport-global`) : Registre officiel consolidé avec édition en ligne et export Excel 1-clic.
  - *Dossiers Export & Liasse ONSSA* (`/dossiers-export`) : Suivi des expéditions maritimes/routières adossées aux bons BS et packing lists.
- 🐟 **Menu Production & Stocks** :
  - *Rendement BP→BT (Pesée → Triage)* (`/rapports/rendement-bp-bt`) : Contrôle des pertes au débarquement et calibrage brut.
  - *Rendement BT→BE (Triage → Emballage)* (`/rapports/rendement-bt-be`) : Freinte de parage, filetage et congélation.
  - *Rendement Global BP→BE (Filière)* (`/rapports/rendement-bp-be`) : Taux de transformation global matière première → produit fini.
  - *Suivi Stock Frigorifique* (`/rapports/suivi-stock`) : Disponibilités nettes par chambre froide (`BE - BS`) et réservations FEFO.
  - *Mass Balance & Généalogie* (`/mass-balance`) : Conservation stricte de la matière et traçabilité ascendante/descendante des lots.
- 💰 **Menu Finance & Coûts** :
  - *Comptabilité Générale CGNC* (`/comptabilite`) : Pièces comptables marocaines, TVA 20%/14%/7% et charges hors poisson.
  - *Coût de Revient Analytique (4 CDC)* (`/analytique`) : Ventilation par les 4 Centres de Coût (Port, Usine, Transport, Siège) et 4 sections usine.
  - *Facturation Services & Froid* (`/services-froid`) : Facturation des prestations de congélation et stockage négatif (-20°C) pour clients tiers.
  - *RH & Salaires (MOD)* (`/rh`) : Collaborateurs permanents, pointage journalier à la tonne/jour et simulateur d'arrivages navires.
- 🏭 **Menu Pilotage Usine** :
  - *MRP Planification Besoins* (`/mrp`) : Planification prévisionnelle des consommables (cartons, glace, froid, camions), caisses navires et palettes.
  - *Diagnostic Usine & RCA* (`/diagnostic`) : Contrôle par exception, détection des goulots d'étranglement et autopsie des pertes en DH.
  - *Moteur Contrôle Interne* (`/controle-interne`) : Matrice des 7 couches de valeur et 10 relations documentaires étanches.
  - *Audit & Intégrité des KPIs* (`/audit-indicateurs`) : Tour de contrôle des 13 invariants d'or mathématiques industriels.
- ⚙️ **Menu Configuration** :
  - *Référentiels Métier & Simulation* (`/referentiels`) : Paramétrage dynamique des standards d'usine (zéro code en dur) et bac à sable de simulation.
  - *Sécurité & Droits RBAC* (`/gestion-utilisateurs`) : Gestion des profils, activation/désactivation, administration des mots de passe (`[🔑 MDP]`) et validation des accès Bot Telegram.
  - *Guide Utilisateur & Wiki* (`/doc`) : Consultation intégrale des manuels de référence dans le visualiseur Markdown.

- **Outils d'Action Rapide & Contrôles Système (Extrémité Droite de la Barre)** :
  - 🔄 **Bouton Bascule Layout (`#btnToggleLayout`)** : Bascule en 1 clic entre la **barre horizontale classique** et la **sidebar latérale pliable**, avec mémorisation automatique du choix dans le navigateur.
  - 🛡️ **Bouton Audit KPIs HUD (`#btnToggleAuditKpi`)** : Active/désactive sur la page en cours l'inspecteur d'intégrité visuelle des métriques (halo vert/jaune et certification mathématique au clic).
  - 🗄️ **Bouton Backups (`#btnGestionSauvegardes`)** : Historique des sauvegardes automatiques, téléchargement d'archives et restauration en 1 clic.
  - 🗄️ **Sélecteur Multi-Bases SQLite (`#btnSelecteurBase`)** : Basculement à chaud entre la base de production (`base_donnees.sqlite`) et les bases de simulation (`base_donnees_simulation_*.sqlite`) avec sauvegarde miroir préalable automatique.
  - 🌓 **Basculeur de Thème Dynamique (`#btnBasculerTheme`)** : Bascule instantanée entre le thème **Or Prestige** (sombre et doré) et le thème **Bleu Océan** (cyan et nuit marine).
  - 🤖 **Bouton Accès Bot Telegram (`#navBtnNotifTelegram`)** : Badge d'alerte en temps réel signalant le nombre de demandes d'accès d'opérateurs terrain en attente d'approbation sur le Bot Telegram.
  - 👤 **Profil Session Connecté & RBAC** : Avatar avec initiales, nom complet de l'utilisateur, badge de rôle, modal de changement de mot de passe (`#modalChangerMdpNavbar`) et bouton *Déconnexion*.

---

<a id="2-boîte-à-outils-dergonomie-universelle--facilité-de-navigation"></a>
<a id="2-boîte-à-outils-dergonomie-universelle-facilité-de-navigation"></a>
## 2. BOÎTE À OUTILS D'ERGONOMIE UNIVERSELLE & FACILITÉ DE NAVIGATION

L'interface MNGI a été spécialement conçue pour le traitement intensif de données volumineuses (milliers de bons de pêche). Elle intègre **6 innovations majeures de navigation** :

```mermaid
graph TD
    A[Moteur DataTables Unifié MNGI] --> B[Double Barre de Défilement Horizontal]
    A --> C[Filtres Popover Excel Fixed]
    A --> D[Alignement Strict thead / tbody]
    A --> E[ColVis avec Agrégation Dynamique]
    A --> F[Édition Directe en Ligne & Toast]
    A --> G[Widget IA Conversationnel Intégré]
    A --> H[Guide Contextuel Dynamique 3 Colonnes]
```

### 2.1. La Double Barre de Défilement Horizontal Synchronisée
- **Problème résolu** : Sur les tableaux larges (15 à 20 colonnes), l'utilisateur devait traditionnellement faire défiler 500 lignes jusqu'en bas pour attraper l'ascenseur horizontal.
- **Solution MNGI** : Une barre de défilement supérieure (`.mngi-double-scroll-top`) est automatiquement injectée au-dessus de chaque tableau. Elle est synchronisée en temps réel avec la barre inférieure : manipuler l'une déplace instantanément l'autre, sans aucun scintillement ni boucle infinie.

### 2.2. Filtres d'En-Tête Popover Style Excel (`position: fixed`)
- **Activation** : Chaque colonne dispose d'une capsule d'entonnoir discrète (22px × 22px).
- **Comportement** :
  1. Un clic ouvre un popover ancré au pixel près sous le bouton d'en-tête.
  2. Un champ de recherche textuelle instantanée filtre la liste des valeurs uniques.
  3. Des boutons rapides **« Tous »** et **« Aucun »** permettent une sélection en un clic.
  4. Chaque case à cocher affiche la fréquence exacte de la valeur entre parenthèses.
  5. Dès qu'un filtre est actif sur une colonne, son bouton s'illumine en bleu cyan néon (`#00e5ff`) pour vous avertir d'un filtrage en cours.
  6. Le popover se ferme automatiquement en cliquant à l'extérieur, en faisant défiler la page ou via la touche `Échap`.

### 2.3. Alignement Strict et Pixel-Perfect (`thead` / `tbody`)
- **Garantie visuelle** : Les en-têtes et le corps du tableau respectent scrupuleusement les mêmes largeurs de colonnes minimales (1350px à 1550px). Fini le vide noir ou les colonnes désaxées lors du défilement horizontal sur les écrans larges (1080p, 2K, 4K).
- La fonction d'auto-ajustement recalcule les largeurs dès que vous redimensionnez la fenêtre ou basculez d'onglet Bootstrap.

### 2.4. Agrégation Dynamique Universelle (`ColVis`)
- **Bouton « Colonnes »** : Situé au-dessus de chaque tableau, il permet d'afficher ou masquer n'importe quelle colonne à la demande.
- **Intelligence MNGI** : Si vous masquez des colonnes de détail (ex : N° Document, Date), le tableau regroupe automatiquement les lignes identiques restantes (par Espèce et Calibre) et **recalcule instantanément la somme des tonnages et valeurs** dans les totaux et cartes KPI, sans recharger la page.

### 2.5. Édition Directe en Ligne (*Inline Editing*) & Toast Non-Bloquant
- Présente sur les pages *Mass Balance*, *Comptabilité Analytique* et *Contrôle Interne* :
  - Cliquez sur une cellule modifiable (déchets, freinte, pesée magasinier, motif, etc.).
  - Saisissez la nouvelle valeur : le calcul de l'écart et de la perte financière en DH est mis à jour **au fil de votre frappe**.
  - La valeur est enregistrée automatiquement en base SQLite, confirmée par un petit bandeau vert *Toast* discret dans le coin supérieur droit.

### 2.6. Widget Assistance IA MNGI (Coin Inférieur Droit)
- Un bouton flottant cyan avec l'icône de robot est disponible sur toutes les pages.
- Ouvrez-le pour poser des questions directes en langage naturel : *"Quel est le stock disponible de Sardines ?"*, *"Combien de tonnes reçues aujourd'hui ?"*, *"Quelles sont les alertes actives ?"*.

### 2.7. Le Module d'Aide Contextuelle Dynamique par Page (Standard Sofia / MNGI)
- **Origine & Modèle** : Calqué sur le standard éprouvé de l'ERP Textile Sofia (`guideContent.ts` / `ModuleHelp.tsx`), ce module garantit qu'aucun utilisateur n'est laissé sans repère, quel que soit l'écran sur lequel il travaille.
- **Présentation Tripartite (3 Volets Métier)** :
  1. 🔍 **Consultation & Navigation** (Bordure Cyan `#00e5ff`) : Éléments visibles, filtres, colonnes, calculs et signification des métriques.
  2. ⚡ **Fonctionnalités & Circuit Opérationnel** (Bordure Violet `#8b5cf6`) : Boutons d'action, workflows, automatismes déclenchés, saisies et fenêtres modales.
  3. 💡 **Astuces & Standards Usine** (Bordure Ambre `#f59e0b`) : Bonnes pratiques d'exploitation, tolérances industrielles (1%), raccourcis clavier et règles de gestion d'atelier.
- **Ergonomie & Persistance** :
  - Chaque bloc est un **accordéon repliable** indépendant pour ne pas encombrer l'écran une fois le fonctionnement maîtrisé.
  - Un bouton interactif **« Masquer le guide » / « Afficher le guide »** permet de minimiser l'ensemble du bandeau.
  - L'état d'ouverture/fermeture est automatiquement mémorisé dans le navigateur via `localStorage` (`mngi_guide_ouvert_{id_page}`).
  - Un lien direct d'ancrage redirige vers le présent manuel détaillé.
- **Intégration API REST Dynamique** :
  - Toutes les fiches pédagogiques sont servies par l'endpoint REST public :
    `GET /api/guide-contextuel/{id_page}`
  - Cette architecture garantit une mise à jour instantanée et synchronisée entre le code, la documentation et les applications clientes tierces.
  - **Couverture Intégrale (19 Écrans)** : Le guide contextuel est présent nativement sur l'ensemble des 19 écrans de la plateforme (Hub `/`, Grand Tableau `/tableau`, Registre 20 colonnes `/rapport-global`, Rendements `/rendement-...`, Stocks `/suivi-stock`, Comptabilités `/comptabilite` & `/analytique`, MRP `/mrp`, Diagnostic `/diagnostic`, Mass Balance `/mass-balance`, Contrôle Interne `/controle-interne`, Sécurité `/gestion-utilisateurs`, Référentiels `/referentiels`, Visualiseur IA `/visualiseur-bon`, Services Froid `/services-froid`, Export `/dossiers-export`, et Module RH Complet `/rh`).

### 2.8. Datalists Universelles (`<input list="...">`) : Autocomplétion Immédiate & Saisie Libre
- **Problème résolu** : Les menus déroulants fermés classiques (`<select>`) obligeaient l'opérateur à n'utiliser que les entrées préexistantes. Si une nouvelle espèce débarquait ou qu'un nouveau client signait, l'utilisateur était bloqué et devait demander une modification logicielle.
- **Solution MNGI** : Remplacement universel par `<input type="text" list="dl-...">` :
  - **Suggestions instantanées** : Dès que vous cliquez dans la case ou tapez la première lettre, la liste complète des suggestions officielles s'affiche sous forme de menu filtrable.
  - **Liberté totale de saisie** : Vous pouvez à tout instant saisir une valeur inédite au clavier. Le système l'enregistre immédiatement et l'ajoute automatiquement au référentiel pour les prochaines saisies.
  - **11 Référentiels connectés** : Usines (`dl-usines`), Bateaux (`dl-bateaux`), Espèces (`dl-especes`), Calibres (`dl-calibres`), Camions (`dl-camions`), Clients/Fournisseurs (`dl-clients`), Marées (`dl-marees`), Types de document (`dl-types-document`), Destinations (`dl-destinations`), Qualités (`dl-qualites`), Lots (`dl-lots`).

### 2.9. Dialogue de Confirmation Pédagogique avant Clic d'Action : Sécurité Anti-Erreur
- **Règle absolue** : **Aucun bouton à impact ne s'exécute directement au premier clic.**
- **Comportement du dialogue** :
  1. Lorsqu'un opérateur clique sur un bouton sensible (enregistrement de bon, génération de facture, synchronisation Excel, sauvegarde ou suppression), un modal interactif sombre et élégant apparaît immédiatement.
  2. Le dialogue affiche trois informations indispensables :
     - **Action Sollicitée** : Décrit précisément ce qui a été demandé (ex: *"Création du document BP 2026-0045 avec 3 ligne(s)"*).
     - **Tâche Exécutée** : Décrit le travail technique entrepris par le système en arrière-plan (ex: *"Enregistrement dans la table RAPPORT_SYNC et synchronisation automatique avec Excel"*).
     - **Impact sur vos Données & Protection** : Rassure l'opérateur sur la préservation de ses données (ex: *"Zéro écrasement : Ce document est ajouté aux registres sans impacter les enregistrements existants"*).
  3. L'opérateur peut choisir sereinement entre **`Annuler / Retour`** (ferme la boîte de dialogue sans rien exécuter) et **`Confirmer et Exécuter`** (déclenche l'action).

<a id="210-comparatif-des-3-modes-de-saisie-coexistants"></a>
### 2.10. Comparatif des 3 Modes de Saisie Coexistants (Où et Comment Saisir)

Pour répondre aux contraintes du terrain industriel de Dakhla, la plateforme MNGI propose **3 modes de saisie complémentaires et interconnectés**. Le tableau comparatif ci-dessous détaille précisément où se rendre, comment procéder et comment sont traitées les pièces justificatives :

| Critère | Mode 1 : Web Automatique (Claude Vision OCR) | Mode 2 : Bot Mobile Telegram Terrain | Mode 3 : Saisie Manuelle Web / Excel |
| :--- | :--- | :--- | :--- |
| **Emplacement & Accès** | Écran `/visualiseur-bon` ou bouton *Scanner Bon* | Smartphone quai via `@WEBINFOSMNGIBOT` | Écrans `/tableau` ou `/rapport-global` via le bouton *+ Saisir un Bon Manuellement* |
| **Profil Utilisateur Cible** | Agent administratif bureau, Contrôleur qualité | Pointeur quai de débarquement, Débardeur portuaire | Opérateur de bureau, Comptable d'usine |
| **Comment faire (Déclencheur)** | Glisser-déposer le scan/photo du bon papier dans la zone d'upload | Prendre la photo haute résolution du bon au quai et l'envoyer dans le chat Telegram | Ouvrir le formulaire modal, renseigner les champs assistés par les 11 datalists |
| **Question Pièce Justificative** | **Implicite** : Le fichier image est obligatoire pour déclencher l'IA | **Implicite** : La photo transmise constitue la pièce justificative | **Explicite** : Le formulaire demande : *« Possédez-vous la pièce physique (bon/facture) ? »* |
| **Traitement si Pièce Présente** | Stockée dans `BON SAISI/{TYPE}_{NUMERO}_{DATE}.jpg` | Stockée dans `BON SAISI/{TYPE}_{NUMERO}_{DATE}.jpg` | Parcourir le disque et téléverser directement dans `BON SAISI/{TYPE}_{NUMERO}_{DATE}.jpg` |
| **Traitement si Pièce Absente** | Non applicable (photo requise) | Non applicable (photo requise) | **Enregistrée en statut *"En attente de pièce"*** avec badge d'avertissement et rattachement différé |
| **Contrôle & Validation** | Prévisualisation écran scindé 42/58 + contrôle règles VBA | Notification de réception (3s) + transfert dans les bons en attente | Contrôle automatique des totaux + dialogue de confirmation pédagogique |
| **Circuit de Stockage Physique** | **Circuit Unique : `BON SAISI/`** | **Circuit Unique : `BON SAISI/`** | **Circuit Unique : `BON SAISI/` (aucun circuit parallèle)** |

<a id="211-préservation--réconciliation-guidée-web--excel-avec-cases-à-cocher"></a>
### 2.11. Préservation & Réconciliation Guidée Web ↔ Excel avec Cases à Cocher (`[x]`)

Afin de garantir une **totale transparence** et d'éviter les synchronisations aveugles qui risqueraient d'écraser des modifications manuelles, la plateforme MNGI intègre un **moteur de réconciliation visuelle guidée** :

1. **Déclenchement** :
   Sur l'écran `/rapport-global`, cliquez sur le bouton **`☑️ Réconciliation Guidée (Cases à cocher)`**.
2. **Prévisualisation Non-Destructive** :
   Le serveur interroge en temps réel le classeur `RAPPORT_GLOBAL.xlsx` et la table SQLite `RAPPORT_SYNC` sans effectuer aucune modification (`GET /api/sync/previsualisation`).
3. **L'Inspecteur Visuel à 3 Onglets** :
   - 🟢 **Ajouts Excel vers Web** : Liste toutes les lignes ajoutées directement dans la feuille Excel mais absentes de SQLite.
   - 🔵 **Ajouts Web vers Excel** : Liste les lignes saisies sur le Web ou via Telegram et prêtes à être exportées dans Excel.
   - 🟠 **Conflits de Valeurs Détectés** : Liste les lignes partageant la même clé (`Type + N° Document + Date`) mais présentant des écarts sur les tonnages, calibres ou valeurs.
4. **Sélection par Cases à Cocher Individuelles (`[x]`)** :
   Chaque ligne dispose de sa propre case à cocher. Des boutons d'action rapide permettent de **« Tout Cocher »** ou **« Tout Décocher »** par onglet.
5. **Application Sélective Certifiée** :
   En cliquant sur *Appliquer la Réconciliation Sélectionnée*, seules les lignes expressément cochées sont traitées (`POST /api/sync/appliquer-selection`), sous la protection du dialogue de confirmation pédagogique.
6. **Moteur d'Appariement Multi-Ensembles (Multi-Set Matching)** :
   Le moteur compare les lignes par groupe de document physique complet (`TYPE_DOCUMENT`, `NUMERO_DOCUMENT`, `DATE_ISO`). Il normalise automatiquement les dates (ex: `23/12/2023` et `2023-12-23` sont reconnues comme strictement identiques) et associe par espèce et calibre, éliminant ainsi les 1 611 faux conflits d'indexation. Les bons réels sans numéro formalisé (ex: ventes directes `BS`) sont également intégrés sans distorsion.
7. **Protection du Miroir Excel & Contrôle d'État Disque** :
   Avant tout rafraîchissement visuel du miroir Excel (`rechargerClasseurExcel`), le système consulte l'horodatage physique du fichier sur le disque. Si le fichier a été modifié depuis une autre application, l'opérateur en est alerté avant d'actualiser la vue.


<a id="212-circuit-unique-de-pièces-justificatives--workflow-des-saisies-en-attente"></a>
### 2.12. Circuit Unique de Pièces Justificatives & Workflow des Saisies en Attente

Conformément à la règle de conception MNGI (*« un seul et même circuit, zéro démultiplication »*), **toutes les pièces justificatives physiques convergent vers un format et un répertoire uniques** :

```
📁 BON SAISI/
  ├── BP_00452_16092026.jpg   (Issu de l'OCR Claude Vision)
  ├── BT_00189_16092026.jpg   (Issu du Bot Telegram au quai)
  └── BE_00890_16092026.jpg   (Issu de la Saisie Manuelle avec pièce)
```

#### Workflow pour les Saisies Manuelles sans Pièce Immédiate :
1. **Saisie Rapide** : Lors d'un débarquement d'urgence, l'opérateur saisit les tonnages sans disposer immédiatement de la facture ou du bon scanné. Il sélectionne l'option : *« Non, pas encore (En attente de justificatif) »*.
2. **Signalement Visuel d'Alerte** : La ligne est enregistrée et se voit attribuer un badge jaune d'avertissement : **`⚠️ Sans Pièce (En attente)`**.
3. **Bouton Trombone Dédié (`[📎]`)** :
   Sur chaque ligne des tableaux `/rapport-global` et `/tableau`, un bouton trombone discret est présent :
   - Si la pièce est présente : un clic ouvre directement la visionneuse haute résolution.
   - Si la pièce est manquante : un clic ouvre la modale de **Rattachement de Pièce Justificative**.
4. **Rattachement Différé en 1 Clic** : Dès que le scan ou la photo arrive, l'opérateur sélectionne le fichier : le système le renomme automatiquement selon la convention officielle (`{TYPE}_{NUMERO}_{DATE}.jpg`) et le classe dans `BON SAISI/`, régularisant ainsi la ligne dans le circuit d'audit officiel.

<a id="213-sélecteur-multi-bases-sqlite-à-chaud-production--simulation"></a>
### 2.13. Sélecteur Multi-Bases SQLite à Chaud (Production / Simulation)

Afin de permettre aux contrôleurs de gestion, ingénieurs méthodes et formateurs de tester des scénarios complexes (semaines types, tests de charge, simulations RH) sans jamais polluer ni corrompre les données réelles de l'usine, la plateforme intègre un **commutateur de bases SQLite à chaud** directement dans la barre de navigation.

```
┌─────────────────────────────────────────────────────────────────────────────┐
│ 🗄 SÉLECTEUR DE BASE SQLITE DANS LA NAVBAR (HAUT À DROITE)                 │
├─────────────────────────────────────────────────────────────────────────────┤
│ • Badge Actif : [ ⬤ Prod : base_donnees.sqlite ]                            │
│ • Clic ➔ Modal `#modalSelecteurBase` listant toutes les bases détectées    │
│   ├── 🟢 base_donnees.sqlite (Base Active de Production)                    │
│   └── 🟠 base_donnees_simulation_S38_2026.sqlite (Scénario Pêche & RH S38)  │
│ • Action : Basculer vers la base sélectionnée                              │
│ • Sécurité : Sauvegarde miroir automatique AVANT basculement                │
│   ➔ base_donnees_PROD_AVANT_SWITCH_20260921_153000.sqlite                   │
└─────────────────────────────────────────────────────────────────────────────┘
```

#### Fonctionnalités & Garanties de Sécurité :
1. **Détection Dynamique Zéro Configuration** :
   Le serveur explore le répertoire racine et répertorie automatiquement tous les fichiers `base_donnees*.sqlite` avec leur taille physique, leur date de dernière modification et leur statut.
2. **Basculement à Chaud sans Redémarrage Serveur** :
   Un clic sur *« Basculer vers cette base »* réoriente instantanément le pool de connexions SQLite du serveur Rust vers le nouveau fichier. Aucune coupure de service, aucun redémarrage nécessaire.
3. **Bouclier Anti-Écrasement (Sauvegarde Miroir Automatique)** :
   Avant d'exécuter la moindre bascule, le moteur crée automatiquement une copie conforme de la base de production courante nommée :
   $$\texttt{base\_donnees\_PROD\_AVANT\_SWITCH\_YYYYMMDD\_HHMMSS.sqlite}$$
   Toutes les données opérationnelles sont ainsi sanctuarisées contre toute fausse manipulation.
4. **Signalétique Visuelle Non-Équivoque** :
   - Lorsque la base réelle est active : le badge de la navbar affiche un indicateur discret vert/neutre `⬤ Prod`.
   - Dès qu'une base de simulation est activée : le badge s'illumine en **orange vif néon (`#ffd166`)** avec l'intitulé de la simulation (ex: `⬤ Sim S38`), rappelant en permanence à l'utilisateur qu'il se trouve dans un environnement d'essai.
5. **Retour Instantané à la Production** :
   À la fin des essais ou de la formation, un simple clic permet de réactiver `base_donnees.sqlite` en un dixième de seconde.

---

<a id="3-guide-détaillé-page-par-page"></a>
<a id="3-guide-detaille-page-par-page"></a>
## 3. GUIDE DÉTAILLÉ PAGE PAR PAGE

---

<a id="page-01--hub-général--accueil"></a>
<a id="page-01--hub-général--accueil-"></a>
### Page 01 : Hub Général & Accueil (`/`)

#### Rôle Métier
Le tableau de bord central pour la direction et les superviseurs. Il donne en un coup d'œil l'état de santé opérationnel de l'usine, les volumes du jour et l'activité du personnel.

#### Composants de l'Écran
1. **Bandeau Supérieur d'État Usine** :
   - Indicateur de fonctionnement global (🟢 Opérationnel).
   - Date du jour et heure locale de Dakhla.
   - Statut en temps réel du Bot Telegram de réception des photos.
2. **Les 4 Cartes KPI Fondamentales** :
   - **Tonnage Débarqué (BP)** : Poids total brut reçu au port sur la période.
   - **Tonnage Transformé (BT)** : Poids net traité dans les ateliers.
   - **Tonnage Fini & Emballé (BE)** : Production sortie du tunnel et stockée.
   - **Valeur Marchande Globale (DH)** : Évaluation financière totale du poisson en stock.
3. **Zone des Actions Immédiates (Boutons Clés)** :
   - Accès rapide au *Visualiseur de Bons* avec badge indiquant le nombre de photos en attente de validation.
   - Lancement manuel d'une synchronisation bidirectionnelle Excel ↔ SQLite.
   - Téléchargement en un clic de la sauvegarde globale de la base.
4. **Graphiques de Tendance Rapide** :
   - Histogramme des réceptions sur les 7 derniers jours.
   - Répartition par espèce dominante (Sardine, Maquereau, Chinchard, Poulpe, Calmar).

#### Facilité de Navigation
- **Navigation par clic sur KPI** : Cliquer sur la carte *Tonnage Débarqué* vous redirige automatiquement vers le détail filtré des Bons de Pesée.

---

### Page 02 : Grand Tableau de Bord des Flux (`/tableau`)

#### Rôle Métier
Le centre de consultation opérationnelle quotidien de tous les flux d'usine. Permet de filtrer et croiser l'ensemble des 20 colonnes réglementaires avec visualisation graphique simultanée.

#### Composants de l'Écran
1. **La Grille des 4 Graphiques Analytiques (Haut de Page)** :
   - *Graphique 1* : Évolution des tonnages par jour/semaine.
   - *Graphique 2* : Répartition pondérale par espèce.
   - *Graphique 3* : Ventilation par type de document (`BP`, `BT`, `BE`, `BS`, `BF`).
   - *Graphique 4* : Palmarès des apports par navire (Top Bateaux).
2. **Le Bandeau Compact des 10 Filtres Multi-Critères** :
   - Disposé horizontalement avec défilement doux (fini l'empilement vertical).
   - Filtres instantanés : *Période (Du/Au), Type de Bon, Usine, Bateau, Camion, Client/Fournisseur, Espèce, Calibre, Destination, Qualité*.
   - Bouton **« Réinitialiser les Filtres »** pour revenir à la vue globale en 1 clic.
3. **Le Grand Tableau DataTables des Lignes Consolidées** :
   - Tableau à haute performance gérant des dizaines de milliers de lignes.
   - Pagination sélectionnable : `10, 25, 50, 100, 250, Tous`.
   - Double barre de défilement horizontal (haut et bas) synchronisée sans à-coups.
   - Filtres popover style Excel sur chaque en-tête de colonne avec compteurs de fréquence.
   - **Bouton Trombone Dédié `[📎]` sur chaque ligne** :
     - *Si la pièce physique existe dans `BON SAISI/`* : ouvre instantanément la visionneuse haute résolution du bon numérisé.
     - *Si la pièce est en attente* : ouvre le modal de rattachement différé pour téléverser la photo et la renommer automatiquement `{TYPE}_{NUMERO}_{DATE}.jpg`.
4. **Bandeau de Projection Sas IA & Actions Opérationnelles** :
   - **Bandeau d'Alerte Projection Sas IA** : Lorsque des bons sont en cours de validation dans `BON SAISI/`, un bandeau jaune ambre affiche le nombre exact de lignes prévisionnelles intégrées et le tonnage correspondant, avec le bouton `[⚡ Inspecter le Sas]`.
   - **`⚡ Sas Bons en Attente` (Bouton `#btnBonsEnAttenteSas`)** :
     - Badge dynamique affichant le nombre de bons en attente.
     - Ouvre le modal `#modal-bons-en-attente` pour inspecter le sas pré-comptable, avec validation rapide unitaire ou validation groupée en 1 clic de tous les bons 100% conformes.
   - **`☑️ Réconciliation Guidée` (Bouton `#btnApercuSync`)** :
     - Ouvre l'inspecteur à cases à cocher `[x]` pour comparer visuellement `RAPPORT_GLOBAL.xlsx` et SQLite sans écrasement aveugle.
   - **`Excel → SQL` & `SQL → Excel`** :
     - Déclenchent la synchronisation bidirectionnelle sous le contrôle du modal de confirmation pédagogique et le suivi de progression en temps réel (SSE).
   - **`📄 Générer Facture Achat` (Bouton Vert `#btnGenererFactureAchat`)** :
     - Ouvre le modal de facturation groupée des Bons de Pesée (BP) non encore facturés.
     - Calcule automatiquement le HT poisson, le **Péage ONP (1%)**, la **Taxe Produit Pélagique TPP (20 DH/Tonne)** et le TTC (exonéré TVA Art. 91 CGI).
   - **`+ Nouveau Bon`** :
     - Saisie unifiée assistée par les datalists universelles avec question obligatoire de détention de pièce justificative.
   - **Export CSV MNGI & Bouton Colonnes (ColVis)** : Export instantané et masquage/affichage de colonnes avec recalcul dynamique des totaux.

---

<a id="page-03--registre-officiel-rapport-global-20-colonnes-rapport-global"></a>
<a id="page-03--registre-officiel--rapport-global--20-colonnes-rapport-global"></a>
### Page 03 : Registre Officiel « Rapport Global » 20 Colonnes (`/rapport-global`)

#### Rôle Métier
C'est le **miroir physique certifié** du classeur Excel officiel de l'entreprise (`RAPPORT/RAPPORT_GLOBAL.xlsx`). Utilisé par le Directeur Financier, l'Auditeur et la Comptabilité pour le contrôle légal.

#### Composants de l'Écran
1. **Les 4 Cartes de Contrôle Légal** :
   - *Nombre total d'enregistrements enregistrés*.
   - *Tonnage net cumulé vérifié (en kg)*.
   - *Valeur marchande globale HT (en DH)*.
   - *Score d'intégrité industrielle* (vérification des dates, numéros de bons et doublons).
2. **Bouton de Téléchargement Officiel 1-Clic** :
   - Un bouton vert distinctif permet de télécharger **directement le fichier Excel réel** `RAPPORT_GLOBAL.xlsx` sans passer par un export web tronqué.
3. **Tableau Intégral des 20 Colonnes Métier** :
   - N° Document, Type Document, Date, Marée, Usine (`MNGI`), Bateau, Camion, Client/Fournisseur, Espèce, Calibre, Emballages, Poids Moyen, Poids Total, Prix Unitaire, Valeur DH, Destination, Bag Guano, Lot, Qualité, Glace (kg).
   - Recherche globale instantanée dans le coin supérieur droit.

---

### Page 04 : Rendement Débarquement → Triage BP → BT (`/rapports/rendement-bp-bt`)

#### Rôle Métier
Surveille la première phase critique de l'usine : le poisson brut acheté au quai (`BP`) entre dans les lignes de tri et d'éviscération pour donner le poisson prêt au travail (`BT`).

#### Fonctionnalités Clés
- **Calcul automatique du Rendement BP → BT** :
  $$\text{Rendement (\%)} = \frac{\text{Poids Traité BT (kg)}}{\text{Poids Débarqué BP (kg)}} \times 100$$
- **Identification des Déchets et de la Freinte de Tri** :
  - Colonne d'écart en kilogrammes et en pourcentage.
  - Alerte couleur : 🟢 Rendement conforme (> 82%) / 🟠 Dérive modérée (78-82%) / 🔴 Freinte anormale (< 78%).
- **Filtrage par Navire et par Marée** : Permet de déterminer immédiatement si une baisse de rendement provient de la qualité du poisson livré par un bateau spécifique.

---

### Page 05 : Rendement Triage → Emballage BT → BE (`/rapports/rendement-bt-be`)

#### Rôle Métier
Analyse la phase de congélation industrielle et de conditionnement : passage du poisson dans le tunnel de congélation très froid (cycle thermique de 6h à 10h) jusqu'à la sortie en cartons pesés (`BE`).

#### Fonctionnalités Clés
- **Calcul du Rendement BT → BE** :
  Mesure l'efficacité du glaçage et la perte par dessiccation grand froid en tunnel.
- **Suivi des Emballages et Calibrage Réel** :
  - Vérification de la conformité du nombre de cartons produits par rapport au tonnage entrant.
  - Détection des décalages de calibrage entre la matière brute et le produit congelé final.

---

### Page 06 : Rendement Global Filière BP → BE (`/rapports/rendement-bp-be`)

#### Rôle Métier
La synthèse absolue de la productivité de l'usine pour la direction : combien de kilos de produit fini congelé en carton obtient-on pour 1 000 kg de poisson brut acheté au port ?

#### Fonctionnalités Clés
- **Ratio Global de Transformation** :
  $$\text{Rendement Global (\%)} = \frac{\text{Poids Fini BE (kg)}}{\text{Poids Brut BP (kg)}} \times 100$$
- **Valorisation Financière de la Perte Matière** :
  - Calcule le montant en Dirhams (DH) de chaque point de rendement perdu :
    $$\text{Perte Financière (DH)} = (\text{Poids Attendu} - \text{Poids Réel}) \times \text{Prix d'Achat Moyen}$$
- **Classement des Espèces les Plus Rentables** : Visualisation comparative directe entre Sardine, Maquereau et Chinchard.

---

### Page 07 : Stock Multi-Niveaux & Logique FEFO (`/rapports/suivi-stock`)

#### Rôle Métier
Plateforme de pilotage frigorifique et commercial de pointe (V2.0) : centralise les stocks physiques réels des chambres froides négatives (-18°C / -25°C), suit les réservations commerciales bloquantes, calcule la disponibilité vente nette et optimise les sorties grâce à l'algorithme **FEFO (First Expired, First Out)**.

#### Composants & Fonctionnalités Clés
1. **Les 4 Cadrans KPI Majeurs du Stock Multi-Niveaux** :
   - 📦 **Stock Physique en Chambres** : Total des tonnes réelles présentes en froid (issu de la balance dynamique $BE - BS + BF$).
   - 🔒 **Stock Réservé Commercial** : Quantités bloquées par les commandes export et engagements locaux non encore expédiés.
   - 🟢 **Stock Disponible Vente** : Marge commerciale nette immédiatement vendable ($\text{Physique} - \text{Réservé}$).
   - 🔴 **Stock Critique & Alertes FEFO** : Tonnage dont la DLC est proche ou dont la durée de stockage dépasse 60 jours.
2. **Les 4 Onglets Thématiques MNGI** :
   - **Onglet 1 — Stock Multi-Niveaux & FEFO** : Vue granulaire par lot avec référence, couple Espèce × Calibre, chambre assignée, âge en jours, badge fraîcheur (🟢 Récent $< 30$j, 🟠 Vigilance $30-60$j, 🔴 Critique $> 60$j), DLC sanitaire calculée, jours avant expiration, alerte FEFO et priorité ordonnée ($P1, P2, P3\dots$).
   - **Onglet 2 — Réservations Commerciales** : Tableau de gestion des commandes avec client, proforma, espèce, calibre, quantité réservée, chambre, date d'expédition prévue et statut modifiable en 1 clic (*Réservée*, *En Préparation*, *Expédiée*, *Annulée*).
   - **Onglet 3 — Plan d'Expédition FEFO Prioritaire** : Recommandations opérationnelles automatiques pour le responsable de quai afin d'ordonner les sorties de palettes et d'éliminer tout risque d'avarie ou de déclassement sanitaire.
   - **Onglet 4 — Balance Historique BE/BS/BF** : Registre complet des mouvements d'entrées emballées ($BE$), sorties expédiées ($BS$) et transferts inter-chambres ($BF$) avec filtres multi-critères et export Excel.
3. **Modale d'Ajout d'une Réservation Commerciale en 1-Clic** :
   - Bouton `[+ Nouvelle Réservation]` pour enregistrer un engagement client avec contrôle direct du stock disponible et déduction immédiate.

---

### Page 08 : Comptabilité CGNC & Charges Hors Poisson (`/comptabilite`)

#### Rôle Métier
Assure le pont parfait entre les opérations d'usine et la comptabilité générale marocaine (CGNC). Dédiée au Directeur Administratif et Financier et au Chef Comptable.

#### Composants de l'Écran
1. **Passerelle Automatique des Écritures Métier** :
   - Tout `BP` génère automatiquement une écriture d'Achat de poisson brut (Débit `6111` / Crédit `4411 Fournisseur`).
   - Tout `BS` génère automatiquement une écriture de Vente Export (Débit `3421 Client` / Crédit `7111 Vente`).
   - Tout Bon de Débardage ou achat de glace génère son écriture en journal d'achats.
2. **Tableau Spécialisé des Charges Hors Poisson** :
   - Permet de suivre toutes les dépenses de l'usine autres que l'achat de poisson : cartons, électricité des groupes froids, gasoil des camions, salaires d'usine, entretien, loyers.
   - **Les 4 Cadrans de Répartition** : Fixes (DH et %), Variables (DH et %), Directes (DH et %), Indirectes (DH et %).
3. **Clé d'Imputation Unitaire sur la Production Réelle** :
   - Le système calcule automatiquement :
     - **Coût Hors Poisson au Kilo** : $\frac{\text{Total Charges HP}}{\text{Tonnage Total Produit (kg)}}$ en DH/kg.
     - **Coût Hors Poisson à la Tonne** : en DH/Tonne.
4. **Zone d'Analyse IA de Factures Scannées** :
   - Déposez un scan ou PDF de facture fournisseur : Claude Vision extrait l'ICE, l'IF, le montant HT, les ventilations de TVA (20%, 14%, 7%) et prépare l'écriture équilibrée sans saisie manuelle.

---

### Page 09 : Comptabilité Analytique & Coût de Revient (`/analytique`)

#### Rôle Métier
Permet de connaître au centime près le **coût de revient réel par kilo de poisson** produit et la **marge nette réalisée** sur chaque expédition vers l'Europe ou l'Afrique.

#### Composants & 4 Onglets Spécialisés
1. **Onglet 1 : Synthèse Coût de Revient & Marges Commerciales** :
   - Visualisation des 4 Centres de Coût : `CDC-PORT`, `CDC-USINE`, `CDC-TRANSP`, `CDC-SIEGE`.
   - Calcul de la Marge Brute et Nette par Bon de Sortie (`BS`) : $\text{Prix de Vente} - \text{Coût de Revient Complet}$.
2. **Onglet 2 : Journal des Charges Analytiques avec Édition Directe** :
   - Liste de toutes les dépenses affectées aux 4 sections usine : *1. Traitement, 2. Cuisson Tunnel, 3. Emballage, 4. Stock Froid*.
   - Édition et suppression en ligne d'une charge en 1 clic.
3. **Onglet 3 : Suivi Double Glace & Pertes Bredouilles** :
   - Rapproche la glace achetée (facture/BL) et la glace déclarée sur les caisses de poisson au port.
   - Comptabilisation automatique des marées sans capture en **perte sèche d'exploitation**.
4. **Onglet 4 : Bons de Débardage & Rapprochement Pesée Quai** :
   - Saisie et consultation des transferts camion port → usine.
   - Alerte visuelle automatique si l'écart Débardage vs Pesée usine dépasse 1%.

---

### Page 10 : MRP Halieutique & Planification des Besoins (`/mrp`)

#### Rôle Métier
Le module d'anticipation proactive de l'usine. Plutôt que de subir les arrivages au port, le système prévoit ce dont l'usine aura besoin dans 24h, 48h et 7 jours.

#### Composants de l'Écran
1. **Les 6 Cadrans de Besoins Prévisionnels à J+1 / J+7** :
   - *Tonnage de poisson entrant estimé (T)* (d'après les navires en mer).
   - *Nombre de cartons et emballages requis*.
   - *Tonnage de glace en écailles à commander (T)*.
   - *Volume de stockage en chambre froide requis (T)*.
   - *Nombre d'heures tunnel requises (cycles 6h-10h)*.
   - *Nombre de camions frigorifiques de 18T à réserver*.
2. **Bannière d'Alerte Prioritaire de Rupture** :
   - Message rouge ou jaune percutant : ex. *« ⚠️ Alerte 48h : Stock cartons insuffisant ! Manque 2 400 cartons pour la marée de 35T de sardines prévue demain. Commander MAINTENANT. »*
3. **Tableau des Marées en Mer & Calendrier des Arrivées** :
   - Suivi des chalutiers en pêche avec estimation d'arrivée.
   - Modification de statut en direct : *En Mer ➔ Au Port ➔ En Traitement ➔ Clôturée*.
4. **Modal d'Ajustement des Paramètres MRP** :
   - Modifiez librement les ratios sans recompiler le logiciel : nombre de cartons par tonne, kg de glace par caisse, heures tunnel par tonne.

---

### Page 11 : Diagnostic Industriel & Contrôle par Exception (`/diagnostic`)

#### Rôle Métier
L'outil d'audit le plus puissant pour le Directeur d'Usine. Le système inspecte en continu des milliers d'opérations et ne présente **que les exceptions et anomalies** nécessitant une intervention humaine.

#### Composants de l'Écran
1. **Panneau de Contrôle par Exception** :
   - Sur 10 000 bons enregistrés, affichage exclusif des 12 bons anormaux avec étiquette rouge 🔴 : rendement hors norme statistique, coulage excessif, pesée incohérente.
2. **Cascade Visuelle des Rendements & Carte des Pertes** :
   - Visualise la perte matière à chaque étape :
     $$\text{BP (100\%)} \longrightarrow \text{BT (82,4\%)} \longrightarrow \text{BE (79,1\%)} \longrightarrow \text{STOCK (78,8\%)} \longrightarrow \text{BS (76,5\%)}$$
   - Pour chaque étape : perte en kilogrammes et **perte financière valorisée en Dirhams (DH)**.
3. **Carte des Goulots d'Étranglement** :
   - Mesure les temps réels inter-étapes (Réception, Éviscération, Tunnel, Emballage, Expédition).
   - Détecte et surligne en rouge le goulot limitant la cadence de l'usine.
4. **Journal d'Audit Horodaté Avant / Après** :
   - Traçabilité intégrale de toute modification sur un bon : valeur avant, valeur après, utilisateur responsable, date et motif.
   - Badge 🌙 *Nuit* si une correction est effectuée en dehors des heures ouvrables normales (22h–06h).
5. **Mémoire Industrielle (Cas Cliniques MNGI)** :
   - Base de connaissances reliant chaque symptôme à sa cause et à sa prescription résolutive :
     $$\text{Symptôme} \longrightarrow \text{Diagnostic} \longrightarrow \text{Cause Racine} \longrightarrow \text{Prescription} \longrightarrow \text{Résultat (+X\% Rendement)}$$

---

### Page 12 : Mass Balance, Généalogie & Réconciliation (`/mass-balance`)

#### Rôle Métier
Répond scientifiquement à la question n°1 du propriétaire de l'usine : **« OÙ EST PASSÉ LE POISSON ? »** en appliquant le principe de conservation universelle de la matière.

#### Composants & Onglets Spécialisés
1. **Équation de Conservation de Masse par Lot** :
   $$\text{Matière Entrante (BP)} = \text{Produit Fini (BE)} + \text{Déchets Éviscération} + \text{Freinte Tunnel} + \text{Écart Inexpliqué}$$
2. **Visualiseur d'Arbre Généalogique Bidirectionnel** :
   - Saisissez un numéro de bon ou de lot :
     - *Vue descendante* : ce Bon de Pesée a produit quels cartons de congélation ?
     - *Vue ascendante* : cette palette expédiée au client en Espagne provient de quel navire et de quel jour de pêche ?
3. **Autopsie Algorithmique des Écarts de Stock (Physique vs Théorique)** :
   - Compare le stock théorique calculé et la pesée physique réelle du magasinier.
   - Décompose automatiquement les causes probables : dessiccation en chambre froide (-18°C), écart de comptage caisse, démarque inconnue.
4. **Tableau de Rapprochement Facture Fournisseur ↔ Bon de Pesée (Anti-Surfacturation)** :
   - Rapproche la facture envoyée par l'armateur et la pesée réelle certifiée au pont-bascule du port.
   - Détecte immédiatement toute surfacturation de poids et calcule en Dirhams l'avoir à réclamer au fournisseur.
   - **Édition inline** : modifiez directement les montants et statuts dans le tableau, le surcoût se recalcule instantanément.

---

### Page 13 : Moteur de Contrôle Interne & 7 Couches de Valeur (`/controle-interne`)

#### Rôle Métier
Le tableau de supervision stratégique de l'intégrité de l'entreprise. Il vérifie la cohérence logique et financière de toutes les relations inter-documents.

#### Composants de l'Écran
1. **Matrice de Cohérence des Liens Métier** :
   - Contrôle la chaîne : $\text{Photo} \leftrightarrow \text{Bon} \leftrightarrow \text{Pesée} \leftrightarrow \text{BP} \leftrightarrow \text{BT} \leftrightarrow \text{BE} \leftrightarrow \text{Stock} \leftrightarrow \text{BS} \leftrightarrow \text{Facture} \leftrightarrow \text{Comptabilité}$.
   - Chaque relation est notée par un voyant : 🟢 Cohérent / 🟠 Anomalie mineure / 🔴 Incohérence bloquante.
2. **Radar des 7 Couches de Valeur** :
   - Évalue la maturité industrielle : *1. Mesure, 2. Rapprochement, 3. Contrôle, 4. Diagnostic, 5. Mémoire, 6. Prévision, 7. Prescription*.
3. **Score de Fiabilité Global des Données** :
   - Pourcentage d'authenticité certifié (ex : 97,8% de données fiables).
   - Pondération selon la source : bon certifié par photo + pesée = 100%, saisie manuelle sans justificatif = score réduit.
4. **Taux d'Utilisation des Équipements Industriels** :
   - Mesure en temps réel la saturation du tunnel de surgélation, des lignes de filetage et des chambres froides.

---

### Page 14 : Administration des Utilisateurs & Droits RBAC (`/gestion-utilisateurs`)

#### Rôle Métier
Réservé à l'administrateur système et au patron. Permet de créer les accès des employés, d'assigner les rôles et de sécuriser la plateforme.

#### Fonctionnalités Clés
- **Matrice des 10 Rôles Métier Prédéfinis** :
  - `Administrateur` : Accès total et configuration système.
  - `Patron / Direction` : Accès exécutif complet, KPI, marges et décisions.
  - `Responsable Usine` : Gestion de la production, des rendements et du MRP.
  - `Chef de Quai` : Réception des débarquements, débardage et bons de pesée.
  - `Magasinier Froid` : Saisie des stocks physiques et inventaires réels.
  - `Comptable` : Journaux CGNC, factures et charges analytiques.
  - `Pointeur Terrain` : Envoi de photos via Telegram et vérification rapide.
  - `Contrôleur Qualité / Vétérinaire` : Certification sanitaire et conformité.
  - `Auditeur Externe` : Consultation en lecture seule certifiée.
  - `Opérateur Saisie` : Saisie et vérification des données de production.
- **Actions Directes sur la Table des Comptes (Colonne ACTIONS)** :
  - 🖊️ **Bouton Stylo (Édition Inline)** : Permet de modifier directement dans la ligne le Nom, l'E-mail, le Rôle et le Statut (Actif/Inactif) sans recharger la page.
  - 🔑 **Bouton `[🔑 MDP]` (Gestion du Mot de Passe)** : Ouvre le modal dédié `#modalAdminModifierMdp` :
    - Affiche la carte d'identité du compte cible (Nom, ID, Rôle, E-mail).
    - Permet de saisir et confirmer le nouveau mot de passe avec toggle visuel œil.
    - **Bouton magique « Générer un mot de passe fort »** : Crée instantanément un mot de passe robuste et complexe (ex: `MNGI#k89!Az`).
    - Enregistrement immédiat dans SQLite via l'API `/api/utilisateurs/reinitialiser-mdp` avec confirmation Toast.
  - 🗑️ **Bouton Poubelle (Suppression)** : Supprime définitivement le compte utilisateur après confirmation.
- **Création de Nouvel Utilisateur** : Bouton *Nouvel Utilisateur* pour inscrire un collaborateur en lui attribuant son rôle et son mot de passe initial.
- **Activation / Désactivation 1-Clic** : Bloque instantanément l'accès sans perdre l'historique des bons saisis par l'opérateur.

---

<a id="page-15--référentiels-métier--paramétrage-usine-referentiels"></a>
### Page 15 : Référentiels Métier & Paramétrage Usine (`/referentiels`)
Cet écran permet à la direction générale et aux responsables d'usine de configurer **100% des standards industriels, seuils de tolérance, barèmes de coûts et capacités techniques** en temps réel, sans aucune intervention informatique et sans recompiler le logiciel.

- **7 Onglets de Configuration Thématique** :
  1. 🎯 **Seuils & Tolérances** : Écart toléré débardage vs pesée (1.0%), tolérance de balance matière (2.5%), seuils d'alerte de rendement.
  2. ⚡ **Tarifs & Coûts** : Prix moyen électricité ONEE (DH/kWh), prix glace (DH/kg), coût emballage master carton (DH/u), coût transport frigorifique.
  3. 🏭 **Capacités Usine** : Cadence de triage (T/h), durée de cycle tunnel grand froid (6 à 10 heures), capacité des chambres négatives (-18°C / -25°C).
  4. 🐟 **Espèces & Calibres** : Liste officielle des espèces (Sardine, Maquereau, Chinchard, Poulpe...), rendements cibles par calibre et tares.
  5. 🚢 **Flottes & Navires** : Matricules des navires côtiers et hauturiers autorisés, armateurs partenaires et types d'engins.
  6. 💼 **Plan Comptable CGNC** : Comptes de charges (Classe 6) et liaisons avec les 4 centres de coût (CDC-PORT, CDC-USINE, CDC-TRANSP, CDC-SIEGE).
  7. 🩺 **Règles Diagnostic & Prescriptions** : Seuils de gravité d'anomalies, corrélation équipes et protocoles de clôture.
- **Bac à Sable de Simulation Économique (*What-If Analysis*)** :
  - Modal interactif avec 4 curseurs temps réel : variation du coût de l'énergie, de la glace, des cartons et de la dérive de rendement.
  - Projection immédiate de l'impact financier : Coût de revient simulé au kg, surcoût mensuel (DH), érosion de marge brute (%) et recommandations d'arbitrage.
- **Restauration Usine en 1-Clic** : Bouton de réinitialisation sécurisé pour rétablir les standards d'origine en cas de fausse manipulation.

---

<a id="page-16--visualiseur-de-documentation--wiki-officiel-doc"></a>
### Page 16 : Visualiseur de Documentation & Wiki Officiel (`/doc`)
Offre une interface luxueuse et fluide pour consulter l'intégralité des manuels techniques, guides utilisateurs et spécifications du dossier `doc/` directement dans le navigateur.

- **Menu Déroulant des Documents** : Sélection instantanée parmi les 13 manuels du projet (Guide Utilisateur, Dictionnaire des Calculs, Architecture Technique, etc.).
- **Sommaire Dynamique & Ancrage Direct** : Table des matières générée automatiquement avec surbrillance au défilement et ancres directes (#).
- **Lien avec les Boutons d'Aide Contextuelle** : Chaque page applicative propose un lien direct menant au chapitre exact du guide correspondant.
- **Recherche Textuelle en Direct** : Filtre instantané pour localiser une formule, une règle ou un mot-clé halieutique en temps réel.

---

<a id="page-17--prestations-de-froid-et-sous-traitance-services-froid"></a>
### Page 17 : Prestations de Froid, Sous-Traitance & Stockage Négatif (`/services-froid`)

#### Rôle Métier
Ce module gère l'ensemble de l'activité industrielle de prestation pour le compte de tiers (armateurs partenaires, mareyeurs locaux, usines tierces). Il assure une **étanchéité absolue entre le stock propre de l'entreprise et les stocks confiés**, trace chaque mouvement de décharge et calcule avec rigueur la facturation des prestations (traitement, congélation, entreposage frigorifique négatif et manutention).

#### Composants & 5 Onglets Opérationnels de l'Écran
1. **Bandeau Supérieur des 4 Cartes KPI Consolidées** :
   - **Clients Partenaires Actifs** : Nombre total de tiers sous contrat de façonnage ou d'entreposage.
   - **Stock Tiers Détenu (Tonnes & kg)** : Tonnage exact de poisson client actuellement présent dans les chambres froides négatives (-20°C).
   - **Mouvements Tracés** : Cumul des entrées (`ENTRE`), sorties (`SORTIE`) et transferts enregistrés.
   - **Chiffre d'Affaires Prestations (DH)** : Montant facturé HT et TTC (TVA 20% compte CGNC 705/706).
2. **Onglet 1 : Stock Client en Temps Réel** :
   - Synthèse matricielle par client, espèce et calibre avec calcul automatique :
     $$\text{Solde en Stock} = \sum \text{Entrées (kg)} - \sum \text{Sorties (kg)}$$
   - Badges visuels de niveau de stock, compteur de flux logistiques (`NBRE MVMT`) et boutons d'action rapide : *« Historique des flux »* et *« Calcul Froid »*.
3. **Onglet 2 : Mouvements Entrées / Sorties (Flux Physiques)** :
   - Registre chronologique contradictoire : Date, Client, Type (`ENTRE` / `SORTIE`), Bon de Décharge client, N° de Lot, Espèce, Calibre, Poids Brut/Net, Nombre de caisses/cartons et Véhicule de transport.
   - Formulaire de saisie assisté par les `<input list="...">` universelles alimentées par les référentiels officiels de l'usine.
4. **Onglet 3 : Calcul Automatisé du Froid Journalier (Prorata Temporis)** :
   - Calcul mathématique journalier exact basé sur la courbe de présence du stock en chambre froide :
     $$\text{Frais Froid Client} = \sum_{j=1}^{N} \Big( \text{Stock Présent au Jour } j \text{ (kg)} \times \text{Tarif Journalier (DH/kg/jour)} \Big)$$
   - Tableau croisé des kilogrammes-jours cumulés évitant toute contestation lors de la facturation.
5. **Onglet 4 : Factures de Services & Prestations MNGI** :
   - Génération en 1 clic de la facture officielle numérotée séquentiellement (ex: `C-0001-2026`).
   - Ventilation transparente des 4 natures de prestations : Façonnage / Traitement au kg, Congélation Tunnel au kg, Entreposage Frigorifique (kg-jours) et Manutention / Palettisation.
   - Mentions légales d'en-tête (ICE, IF, Patente, Registre de Commerce de Dakhla), calcul automatique de la TVA à 20% et suivi des statuts de paiement (`PAYE` / `NON PAYE`).
6. **Onglet 5 : Référentiel Clients & Tarifs Modulaires** :
   - Fiches signalétiques complètes des sociétés clientes (ICE, RC, adresse, contact).
   - Grilles tarifaires personnalisées et négociées avec historique des révisions de prix.

---

<a id="page-18--dossiers-dexportation-et-liasse-sanitaire-onssa-dossiers-export"></a>
### Page 18 : Dossiers d'Exportation & Liasse Documentaire ONSSA (`/dossiers-export`)

#### Rôle Métier
Pilote la constitution, l'audit sanitaire et l'édition officielle de la liasse documentaire d'expédition pour chaque conteneur frigorifique (Reefer 40 pieds). Ce module garantit le respect rigoureux des normes sanitaires vétérinaires ONSSA et assure l'embarquement sans blocage douanier.

#### Composants de l'Écran
1. **Tableau de Bord des Dossiers d'Expédition** :
   - Vue chronologique des dossiers avec N° Dossier (ex: `EXP-2026-001`), Date, Bon de Sortie associé (`BS-2026-440`), Client importateur, Pays (Espagne, Italie, Côte d'Ivoire, Ghana, Japon...) et Port de débarquement (Vigo, Abidjan, Tema...).
   - Incoterms négociés (FOB Dakhla, CFR, CIF), tonnage net, nombre de palettes certifiées EPAL, montant en devise (EUR, USD, MAD) et contre-valeur MAD.
   - Cartes KPI récapitulant les dossiers en cours, les tonnes expédiées, la valeur totale exportée et les validations sanitaires ONSSA obtenues.
2. **Génération 1-Clic Adossée aux Bons de Sortie (`BS`) — Invariant d'Or N° 13** :
   - Conformément aux règles d'intégrité industrielle MNGI, un dossier export s'adosse obligatoirement à un Bon de Sortie d'usine (`BS`).
   - Le bouton vert **« + Générer Dossier depuis un Bon de Sortie »** analyse les BS disponibles : l'opérateur sélectionne le bon et le système génère instantanément le dossier complet, le tonnage, les lots et les lignes de colisage sans aucune ressaisie manuelle ni risque d'erreur de frappe.
3. **Workflow du Cycle de Vie Logistique** :
   - `EN_PREPARATION` : Constitution du dossier, pesées et empotage palettes.
   - `SOUMIS_ONSSA` : Dépôt du dossier auprès des services vétérinaires provinciaux.
   - `VALIDE_ONSSA` : Certificat sanitaire officiel accordé et signé.
   - `EN_DOUANE` : Déclaration Unique de Marchandises (DUM) et passage frontière.
   - `EXPEDIE` : Conteneur embarqué à bord du cargo maritime ou parti par route.
   - `CLOTURE` : Rapprochement bancaire et encaissement devises.
4. **Modal Liasse Documentaire Standardisée (4 Volets Officiels)** :
   - Accessible via le bouton bleu `[Liasse]` de chaque ligne :
     1. **Packing List / Fiche de Colisage Palette** : Décomposition unitaire de chaque palette (Palettes 1 à 20, Cartons, Poids Net, Poids Brut, Spécification Euro-palette EPAL traitée thermiquement selon la norme internationale **NIMP 15**, numéros de scellés du conteneur).
     2. **Certificat Sanitaire Modèle ONSSA** : Attestation officielle vétérinaire certifiant l'agrément sanitaire de l'usine MNGI, l'absence de parasites et la conformité thermique ($\text{Température à cœur} \le -18^\circ\text{C}$).
     3. **Attestation de Capture & Origine** : Traçabilité ascendante rattachant chaque carton exporté aux marées des navires débarqués dans la zone FAO 34.
     4. **Facture Commerciale Export** : Détail complet des montants, devises, conditions de paiement et coordonnées bancaires SWIFT/IBAN.
5. **Impression Officielle 1-Clic & Export PDF** :
   - Le bouton imprimante `[🖨️]` ouvre directement la vue imprimable `/api/export/dossier/{id}/liasse-html` formatée pour impression sur papier en-tête officiel MNGI.

---

<a id="page-19--module-rh-complet--simulateur-mobilisation-par-arrivage-rh"></a>
### Page 19 : Module RH Complet & Simulateur Mobilisation par Arrivage (`/rh`)

#### Rôle Métier
Numérise intégralement la gestion des Ressources Humaines de l'usine, automatise le pointage terrain par badges physiques et feuilles manuscrites, et optimise la mobilisation de la Main d'Œuvre Directe (MOD) grâce au **Simulateur d'Arrivage Navire**.

```
┌─────────────────────────────────────────────────────────────────────────────┐
│ 👥 MODULE RH MNGI — 8 ONGLETS OPÉRATIONNELS D'USINE                         │
├─────────────────────────────────────────────────────────────────────────────┤
│ 1. Personnel       ➔ Référentiel collaborateurs, CIN, N° Badges (B-01...)    │
│ 2. Salaires & Paie ➔ Calcul paie mensuelle, déduction absences (/26)         │
│ 3. Pointage        ➔ Badges physiques, Scan OCR feuilles manuscrites, [📎]  │
│ 4. Avances & Prêts ➔ Suivi des acomptes et retenues mensuelles sur salaire   │
│ 5. Arrivages       ➔ Navires annoncés, tonnages, espèces, date automatique   │
│ 6. Tunnels T1-T5   ➔ État visuel temps réel des 5 tunnels de congélation     │
│ 7. Simulateur MOD  ➔ Calcul effectifs prévus par opération (15 règles)       │
│ 8. Grille Normes   ➔ Paramétrage sans recompilation des normes d'effectifs   │
└─────────────────────────────────────────────────────────────────────────────┘
```

#### Les 8 Onglets Opérationnels en Détail :
1. **Onglet 1 : Personnel & Registre des Badges** :
   - Fiche individuelle de chaque salarié : Matricule, CIN, Nom, Département (Administration, Production, Frigo, Qualité...), Fonction, Salaire de base contractuel.
   - **Numéro de Badge Physique** (ex: `B-01`, `B-02`, etc.) apposé sur la tenue de travail pour identification instantanée.
2. **Onglet 2 : Salaires & Paie Mensuelle** :
   - Calcul automatisé de la paie nette selon la règle légale des 26 jours ouvrables :
     $$\text{Retenue Absence (DH)} = \frac{\text{Salaire Net}}{26} \times \text{Jours d'absence}$$
   - Déduction synchrone des avances sur salaire perçues dans le mois et des mensualités de prêts accordés.
   - État des paiements et suivi des virements bancaires ou règlements d'espèces.
3. **Onglet 3 : Pointage Journalier (Badges, Scan OCR & Justificatifs)** :
   - **Positionnement Automatique sur la Dernière Date** : L'écran appelle `/api/rh/pointage/derniere-date` au chargement et affiche immédiatement la dernière journée travaillée.
   - **Pointage par Badge Ouvrier** : Saisie en 1 clic par sélection du badge ou commande Telegram `/badge B-01 120 Transfert dépôt`.
   - **Scan & Transcription de Feuilles Manuscrites** : Bouton `[📷 Scanner Feuille]` permettant de téléverser la feuille manuscrite des journaliers. Claude Vision transcrit automatiquement les noms, taux et tâches.
   - **Circuit Unique d'Archivage (`BON SAISI/`)** : Toute feuille ou photo est stockée sous `BON SAISI/POINTAGE_{DATE}_{ID}.jpg`.
   - **Question de Détention Métier & Trombone `[📎]`** : Si l'opérateur ne dispose pas encore de la feuille signée, la ligne est marquée *"En attente de justificatif"* (jaune) et peut être régularisée à tout moment via le bouton trombone sans créer de doublon.
   - **Calcul de la Clé Métier `PRIX/TN` (DH/Tonne)** : Rapprochement quotidien entre la masse salariale journalière payée et les tonnages réellement transformés au quai et en atelier.
4. **Onglet 4 : Avances & Prêts Salariés** :
   - Enregistrement des demandes d'avances et tableaux d'amortissement des prêts remboursables.
   - Bouclier anti-dépassement interdisant tout montant supérieur à la quotité cessible légale.
5. **Onglet 5 : Arrivages Navires (V2.5-ARR)** :
   - Enregistrement de l'annonce du navire : Nom du navire, Date prévue, Espèce dominante, Présentation (`ENTIER_BLOCS` ou `ETETE_EVISCERE`), Tonnage annoncé, Mode de livraison (Progressif ou Groupé) et État du poisson (Frais standard ou Difficile).
   - **Filtre Date Automatique** : Positionné dynamiquement sur la date la plus récente avec données.
   - Cycle de statut : `ANNONCE` → `CONFIRME` → `EN_COURS` → `TERMINE`.
   - Bouton calculatrice `[🧮]` : Transfère directement l'arrivage vers le Simulateur MOD.
6. **Onglet 6 : Tunnels de Congélation T1 à T5** :
   - Supervision visuelle de l'état thermique et d'occupation des 5 tunnels industriels de l'usine :
     - 🟢 `LIBRE` : Tunnel vide, nettoyé et prêt au chargement.
     - 🔵 `CONGELATION` : Cycle grand froid en cours (-35°C, durée 6 à 10h).
     - 🟠 `PRET_DECHARGEMENT` : Congélation terminée, prêt au démoulage.
     - 🟣 `EN_CHARGEMENT` : Remplissage en cours par l'équipe de mise en moules.
     - 🔴 `MAINTENANCE` : Arrêt technique ou dégivrage.
7. **Onglet 7 : Simulateur MOD (Main d'Œuvre Directe)** :
   - Déclenche la simulation prédictive en 1 clic :
     - Pour `ENTIER_BLOCS` (6 opérations) : Réception Quai, Tri/Lavage, Mise en Moules, Congélation, Démoulage/Emballage, Nettoyage fin de poste.
     - Pour `ETETE_EVISCERE` (+2 opérations) : Étêtage/Éviscération mécanique et Lavage final.
   - Calcul exact de l'effectif requis par tâche : $\text{Effectif Prévu} = \text{Norme Base} + \text{Renfort si lot difficile}$.
   - Saisie post-production de l'effectif réel et calcul automatique de l'écart avec justification documentée.
8. **Onglet 8 : Grille de Mobilisation (Référentiel Paramétrable Zéro Dur)** :
   - Référentiel des 15 règles industrielles modifiables directement depuis l'interface web sans recompilation.

---

<a id="page-20--audit-dintégrité-des-indicateurs--tour-de-contrôle-kpis-audit-indicateurs"></a>
### Page 20 : Audit d'Intégrité des Indicateurs & Tour de Contrôle KPIs (`/audit-indicateurs`)

#### Rôle Métier
Véritable **Tour de Contrôle Mathématique** de la plateforme MNGI. Cet écran vérifie en continu l'ensemble des formules, cumuls et flux de l'usine à travers les **13 Invariants d'Or Industriels**, éliminant tout risque d'incohérence entre les réceptions, la production, les stocks et la comptabilité.

#### Composants de l'Écran
1. **Le Bandeau des 5 Invariants d'Or Majeurs** :
   - Cartes dynamiques avec code couleur d'alerte immédiat :
     - 🟢 `Bordure Verte` : Indicateur certifié mathématiquement conforme.
     - 🟡 `Bordure Jaune` : Avertissement (écart mineur sous le seuil de tolérance).
     - 🔴 `Bordure Rouge` : Anomalie critique nécessitant intervention immédiate.
2. **Les 13 Invariants d'Or Certifiés en Continu** :
   1. *Équilibre Mass Balance Strict* : $\sum BP - \sum BT - \sum BE - \text{Pertes Constatées} = 0$.
   2. *Non-Négativité des Stocks Frigorifiques* : Aucun stock en chambre froide ne peut être négatif.
   3. *Cohérence Rendement Pesée → Triage ($BP \to BT$)* : Compris entre les bornes historiques (85% à 98%).
   4. *Cohérence Rendement Triage → Emballage ($BT \to BE$)* : Compris entre 90% et 99%.
   5. *Rapprochement Débardage vs Bon de Pesée* : Écart de tonnage quai/usine $\le 1\%$.
   6. *Double Circuit Glace Marées* : Glace achetée aux fournisseurs $\ge$ Glace embarquée à bord des navires.
   7. *Adossement Strict des Dossiers Export aux Bons de Sortie (`BS`)* : Zéro exportation sans bon de sortie magasin validé.
   8. *Cadence Réaliste des Tunnels de Congélation* : Temps de cycle respectant les normes frigorifiques (0,67 h/Tonne).
   9. *Étanchéité Stock Propre vs Stock Sous-Traitance Client* : Zéro mélange des comptes 3111 et tiers.
   10. *Équilibre en Partie Double CGNC* : Égalité absolue Débit = Crédit sur tous les journaux comptables.
   11. *Cohérence TVA Déductible & Collectée* : Application rigoureuse des taux légaux marocains (20%, 14%, 7%, exonéré).
   12. *Rapprochement Paie Journalière vs Coût Analytique (`PRIX/TN`)* : Total salaires journaliers = Charges MOD imputées.
   13. *Certification Numérique des Données Dérivées* : Chaque KPI affiché est recalculé en temps réel depuis les tables sources sans valeur codée en dur.
3. **Le Bouton d'Audit Interactif HUD (`[🛡️ Audit KPIs]`)** :
   - Présent sur toutes les pages de la plateforme via la barre de navigation.
   - Un clic active le mode d'inspection : chaque chiffre ou KPI à l'écran est encadré d'un halo vert ou orange, et un clic sur le chiffre ouvre la **Fiche de Certification Mathématique** détaillée montrant la formule exacte, les tables interrogées et l'application numérique chiffrée.

---

<a id="4-le-visualiseur--éditeur-interactif-de-bons-numérisés"></a>
<a id="4-le-visualiseur-éditeur-interactif-de-bons-numérisés"></a>
## 4. LE VISUALISEUR & ÉDITEUR INTERACTIF DE BONS NUMÉRISÉS

Accessible lorsqu'un bon est en attente ou depuis la liste des réceptions, cet écran révolutionne la validation des documents papier manuscrits.

```
┌──────────────────────────────────────┬──────────────────────────────────────┐
│        ÉCRAN GAUCHE : PHOTO HD       │       ÉCRAN DROIT : GRILLE EXCEL      │
│                                      │                                      │
│  [Scan du bon de pesée manuscrit]    │  Ligne 1 : Sardine M  | 202 caisses  │
│  • Outils de zoom haute résolution   │  Ligne 2 : Maquereau  |  84 caisses  │
│  • Bouton de rotation 90°            │                                      │
│  • Ajustement contraste / netteté    │  [Recalcul instantané des totaux]    │
│                                      │  Poids net calculé : 4 848 kg        │
├──────────────────────────────────────┴──────────────────────────────────────┤
│ BANDEAU D'ALERTE : 🟡 DUPLICATA CORRIGÉ DÉTECTÉ (Remplacement propre)       │
│ [Bouton : Valider & Archiver Officiellement]   [Bouton : Mettre en Attente] │
└─────────────────────────────────────────────────────────────────────────────┘
```

### 4.1. Double Écran Synchronisé Photo HD vs Grille Excel
- **À gauche** : Affichage haute fidélité du bon papier photographié sur le port par le pointeur. Outils intégrés de zoom à la molette, de déplacement et de rotation à 90°.
- **À droite** : Grille modifiable pré-remplie par l'intelligence artificielle Claude Vision. Vous pouvez ajuster un calibre, corriger un poids ou ajouter une ligne d'espèce omise.

### 4.2. Moteur de Recalcul VBA en Direct
Dès que vous modifiez une case (ex : nombre d'emballages ou poids moyen), la formule s'exécute instantanément :
$$\text{Poids Total} = \text{Nombre Emballages} \times \text{Poids Moyen}$$
$$\text{Valeur (DH)} = \text{Poids Total} \times \text{Prix Unitaire (DH)}$$

### 4.3. Système d'Alerte Anti-Doublon Intelligent
- **Bandeau Bleu (Bon Identique)** : Vous avertit que ce bon a déjà été saisi avec exactement les mêmes chiffres.
- **Bandeau Jaune Vif (Duplicata Corrigé)** : Détecte qu'un bon portant le même numéro existe déjà, mais que le pointeur a apporté une rature ou correction manuscrite. Cliquer sur Valider effectue un **remplacement atomique propre**, sans jamais doubler les tonnages dans le total général.

### 4.4. Nettoyage Automatique du Disque
Dès que vous cliquez sur **« Valider & Archiver »** :
1. Le classeur Excel macro `.xlsm` est créé dans `BON VALIDE/`.
2. Les lignes officielles sont insérées dans `RAPPORT_SYNC` et `RAPPORT_GLOBAL.xlsx`.
3. Les fichiers temporaires de travail sont **automatiquement supprimés de `BON SAISI/`** pour garder l'espace propre.

### 4.5. Comparatif Exhaustif des 3 Modes de Saisie (Où, Comment et Circuit)

La plateforme MNGI propose 3 modes complémentaires pour enregistrer les bons de production (BP, BT, BE, BS, BF) selon la situation opérationnelle :

| Critère | Mode 1 : Saisie IA Web Automatique (Claude Vision) | Mode 2 : Saisie Mobile Quai (Bot Telegram) | Mode 3 : Saisie Manuelle (Web ou Excel) |
| :--- | :--- | :--- | :--- |
| **Où faire la saisie ?** | Page d'accueil (`/`) dans le panneau glisser-déposer, ou bouton *"Ouvrir Visualiseur"* sur `/tableau`. | Smartphone sur le quai de débarquement ou en atelier via Telegram (`@WEBINFOSMNGIBOT`). | - **Sur le Web** : Bouton vert *"Nouveau Bon"* sur `/tableau` ou `/rapport-global`.<br>- **Sur Excel** : Feuille `RAPPORT` de `RAPPORT_GLOBAL.xlsx`. |
| **Comment faire la saisie ?** | 1. Glisser-déposer le scan/photo du bon.<br>2. L'IA Claude extrait automatiquement toutes les lignes.<br>3. Le visualiseur VBA s'ouvre pour inspection contradictoire.<br>4. L'opérateur clique sur *"Valider & Archiver"*. | 1. Prendre en photo le bon papier avec le smartphone.<br>2. L'envoyer directement au bot Telegram.<br>3. Le bot applique l'OCR Claude Vision en tâche de fond.<br>4. Le bon arrive dans le visualiseur Web prêt pour contrôle. | 1. Remplir l'en-tête (Type, N° Doc, Date, Navire, Tiers).<br>2. Ajouter les lignes (Espèce, Calibre, Poids, PU).<br>3. **Répondre à la question de pièce justificative** :<br>&nbsp;&nbsp;• *Oui, je possède la pièce* : sélectionner le fichier.<br>&nbsp;&nbsp;• *Non, pas encore* : bon enregistré *"En attente"*. |
| **Pièce justificative (Scan / Photo)** | Obligatoire (fichier source de l'extraction). | Obligatoire (photo smartphone envoyée). | Optionnelle à la création, rattachable a posteriori via l'icône trombone `[📎]` de la ligne. |
| **Circuit de stockage physique** | `BON SAISI/{TYPE}_{NUMERO}_{DATE}.jpg` | `BON SAISI/{TYPE}_{NUMERO}_{DATE}.jpg` | `BON SAISI/{TYPE}_{NUMERO}_{DATE}.jpg` (**Circuit 100% identique et unifié**). |
| **Destination des données** | Table SQLite `RAPPORT_SYNC` + Feuille `RAPPORT` de `RAPPORT_GLOBAL.xlsx`. | Table SQLite `RAPPORT_SYNC` + Feuille `RAPPORT` de `RAPPORT_GLOBAL.xlsx`. | Table SQLite `RAPPORT_SYNC` + Feuille `RAPPORT` de `RAPPORT_GLOBAL.xlsx`. |
| **Usage recommandé** | Réceptions au bureau usine, factures et lots de bons scannés par scanner à plat. | Pointeur terrain sous le froid ou au bord de l'eau, débarquements nocturnes. | Bons sans scanner disponible, régularisations de pesée d'atelier, réajustements de stock. |

### 4.6. Circuit Unique de Stockage des Pièces Justificatives (Zéro Circuit Parallèle)

Afin d'éviter la prolifération de répertoires ou de circuits éclatés (*"avec le même circuit qui existe, sans trop de circuits qui font la même chose"*), le système applique une **règle d'unicité absolue** :
- **Emplacement unique** : Tout document justificatif (qu'il vienne de Claude Vision, du bot Telegram ou de la saisie manuelle Web) est archivé sous le format standardisé :
  $$\text{Dossier} : \texttt{BON SAISI/\{TYPE\}\_\{NUMERO\}\_\{DATE\}.jpg}$$
- **Détection automatique de statut** :
  - Si le fichier physique existe sur le disque, la ligne affiche un trombone actif permettant de visualiser la pièce haute résolution en 1 clic.
  - Si le fichier n'est pas encore présent (saisie manuelle sans pièce), un badge discret *"En attente de justificatif"* invite l'opérateur à le rattacher dès récupération.
- **Rattachement a posteriori en 1-Clic** : En cliquant sur le trombone `[📎]` de n'importe quelle ligne du Rapport Global, un modal rapide permet de glisser la photo récupérée et de l'archiver directement au nom officiel `{TYPE}_{NUMERO}_{DATE}.jpg`.

---

<a id="5-gestionnaire-de-sauvegardes--restauration-1-clic"></a>
<a id="5-gestionnaire-de-sauvegardes-restauration-1-clic"></a>
## 5. GESTIONNAIRE DE SAUVEGARDES & RESTAURATION 1-CLIC

Pour parer à toute erreur humaine ou incident matériel, la plateforme intègre un coffre-fort de données accessible via le bouton 🔄 de la barre de navigation.

### 5.1. Création Automatique de Sauvegardes
À chaque opération critique (validation d'un bon, synchronisation Excel, import massif), le système génère un point de restauration complet horodaté :
- Sauvegarde de la base SQLite `base_donnees.sqlite`.
- Sauvegarde du classeur Excel officiel `RAPPORT_GLOBAL_BACKUP_YYYYMMDD_HHMMSS.xlsx`.

### 5.2. Modal de Restauration en 1 Clic
- Ouvrez le modal via le bouton **Sauvegardes** de la navbar.
- Consultez la liste des archives avec date, taille et nombre de lignes.
- **Restauration** : Cliquez sur le bouton vert *Restaurer* face à la version souhaitée. La base de données et le fichier Excel reviennent instantanément à l'état exact de ce moment-là.
- **Téléchargement** : Vous pouvez également télécharger une archive sur votre clé USB ou disque externe de sécurité.

### 5.3. Synchronisation Bidirectionnelle Non-Destructive (Anti-Écrasement)
Le gestionnaire de synchronisation propose deux flux étanches garantissant le principe de **Zéro Perte de Données** :
1. **Synchroniser Excel → SQL (Importation)** :
   - Lit le classeur Excel `RAPPORT_GLOBAL.xlsx`.
   - Utilise un algorithme d'UPSERT réconciliateur : met à jour les modifications et insère les lignes nouvelles.
   - **Toutes les saisies effectuées depuis le Web sont strictement conservées** et ne sont jamais supprimées.
   - Intègre également les nouveaux référentiels de la feuille `BASE` vers SQLite.
2. **Synchroniser SQL → Excel (Exportation)** :
   - Absorbe d'abord les éventuelles lignes tapées directement dans Excel hors ligne.
   - Régénère le classeur officiel complet consolidé.
   - **Réécrit systématiquement la Feuille 6: `BASE`** depuis SQLite pour préserver les listes officielles.
3. **Protection Pédagogique** : Tout clic sur l'un de ces boutons déclenche le dialogue explicatif avec le bilan de l'opération avant d'exécuter la synchronisation.

### 5.4. Réconciliation Guidée Excel ↔ SQLite par Cases à Cocher (Contrôle Contradictoire Sélectif)

Pour donner un contrôle visuel total à l'utilisateur avant toute modification de données :
- **Bouton « Réconciliation Guidée »** : Disponible sur `/tableau` et `/rapport-global` (bouton cyan avec icône `[✓]`).
- **Analyse non-destructive instantanée** : Le système compare la table SQLite `RAPPORT_SYNC` et la feuille `RAPPORT` de `RAPPORT_GLOBAL.xlsx` sans toucher aux données.
- **Visualisation en 3 onglets distincts** :
  1. **Nouveautés Excel (Absents de SQL)** : Lignes ajoutées dans le classeur Excel hors-ligne. Chaque ligne comporte une case à cocher `[x]`.
  2. **Nouveautés SQL (Saisies Web / Bot)** : Lignes enregistrées depuis le Web ou Telegram absentes d'Excel.
  3. **Écarts & Conflits de Valeurs** : Lignes existant des deux côtés mais présentant des divergences de poids, prix ou tiers.
- **Sélection granulaire** : L'utilisateur peut cocher/décocher individuellement chaque ligne, ou utiliser *"Tout cocher"* / *"Tout décocher"*.
- **Application sélective** : En cliquant sur *"Appliquer la Sélection"*, seules les lignes expressément cochées sont transférées. Les lignes non sélectionnées restent intactes.

---

<a id="6-le-bot-mobile-telegram-terrain"></a>
<a id="6-le-bot-mobile-telegram-terrain-webinfosmngibot"></a>
## 6. LE BOT MOBILE TELEGRAM TERRAIN (`@WEBINFOSMNGIBOT`)

Conçu pour les pointeurs sur les quais du port de Dakhla et pour la direction en déplacement.

```
       📱 POINTEUR TERRAIN                           💻 SERVEUR MNGI RUST
 ┌───────────────────────────────┐              ┌───────────────────────────────┐
 │ 1. Prend photo du bon papier  │ ──Telegram─► │ 2. OCR Claude 3.5 Sonnet      │
 │ 2. Envoie au bot (@...)       │              │ 3. Normalisation & Fuzzy      │
 │ 3. Reçoit confirmation en 3s  │ ◄──Notification 4. Prépare model_bon.xlsm    │
 └───────────────────────────────┘              └───────────────────────────────┘
```

### 6.1. Procédure d'Enrôlement & Validation Web Administrateur (Fin du Clavier PIN)

> [!IMPORTANT]
> **Obsolescence du Code PIN & Clavier Numérique** :
> L'authentification par code PIN saisi sur un pavé numérique virtuel (touches 1 à 9, 0, Effacer, Valider) est **définitivement obsolète**.
> La sécurité de la plateforme repose désormais sur une **validation administrative centralisée par les rôles (RBAC)** directement depuis la console web.

#### Comment un nouvel utilisateur accède au bot :
1. **Premier contact** :
   L'opérateur ou le cadre démarre une discussion avec le bot (`@WEBINFOSMNGIBOT`) et envoie `/start` (ou tout autre message).
2. **Notification d'attente sur smartphone** :
   Le bot lui répond poliment :
   > *⏳ Demande d'accès enregistrée. Votre identifiant Telegram a été transmis au système central MNGI. Votre demande est en cours de validation par un administrateur.*
3. **Notification d'alerte pour l'administrateur** :
   - L'administrateur reçoit une alerte instantanée sur son propre compte Telegram.
   - Un badge clignotant rouge/vert apparaît sur la barre de navigation supérieure de la plateforme Web (`/gestion-utilisateurs#visiteurs-telegram`).
4. **Approbation en 1 clic par l'administrateur Web** :
   Dans l'écran **Sécurité & Droits RBAC > Visiteurs Bot Telegram** :
   - L'administrateur examine l'identité du visiteur (`Nom`, `Username`, `ID Telegram`, `Date`).
   - Il sélectionne son rôle métier (`admin`, `responsable`, `operateur`, ou `lecture`).
   - Il clique sur le bouton vert **Autoriser**.
5. **Activation instantanée** :
   Le visiteur reçoit immédiatement une notification sur son Telegram avec son rôle et le menu métier complet (`📦 Suivi stock`, `📈 Rapport rendement`, `🔮 Prévisions MRP Usine`, `🩺 Diagnostic Usine & Alertes`, `ℹ️ Infos générales`). Il peut commencer à numériser ses bons et interroger la base.

### 6.2. Workflow Pointeur au Débarquement
1. Le pointeur prend en photo nette le bon de pesée (`BP`) ou de transformation (`BT`) sur le quai.
2. Il transmet la photo dans la discussion Telegram avec le bot officiel.
3. En moins de 3 secondes, l'IA analyse le document, normalise les espèces et navires selon le référentiel de Dakhla et confirme la réception avec un aperçu chiffré des tonnages.
4. Le bon apparaît instantanément dans le *Visualiseur de Bons* de la plateforme web.

### 6.3. Clavier Interactif & Commandes Patron
Le patron peut interroger l'usine à tout moment depuis son smartphone via les commandes :
- `/start` : Affiche le menu principal interactif.
- `/diagnostic` : Reçoit la synthèse complète de l'usine (ce qui va bien, ce qui dérive, combien ça coûte).
- `/mrp` ou `/besoins` : Reçoit les prévisions de production pour demain et les alertes de rupture emballages.
- `/alertes` : Affiche uniquement la liste courte des problèmes critiques du jour.
- `/rendement` : Donne les rendements observés aujourd'hui comparés aux moyennes historiques.
- `/pertes` : Donne le montant en Dirhams des pertes constatées sur la journée par section.
- `/cloture` : Vérifie si tous les flux de la journée sont équilibrés et clôturés.

---

<a id="7-aide-mémoire-des-raccourcis--bonnes-pratiques"></a>
<a id="7-aide-mémoire-des-raccourcis-bonnes-pratiques"></a>
## 7. AIDE-MÉMOIRE DES RACCOURCIS & BONNES PRATIQUES

### 7.1. Raccourcis Clavier
- `Échap` (`Escape`) : Ferme instantanément tout popover de filtre Excel ou modal ouvert.
- `Tab` / `Maj + Tab` : Navigue d'une cellule à l'autre dans la grille du visualiseur de bons.
- `Ctrl + F` (ou barre de recherche DataTables) : Filtre instantanément sur n'importe quel mot dans l'ensemble du tableau affiché.

### 7.2. Les 6 Règles d'Or pour une Exploitation sans Défaut
1. **Toujours vérifier les alertes jaunes du Visualiseur** : Si le bandeau *Duplicata Corrigé* apparaît, vérifiez la rature sur la photo avant de valider.
2. **Ne jamais modifier directement les fichiers de `BON SAISI/` dans Windows** : Laissez la plateforme web déplacer et nettoyer les fichiers de manière atomique.
3. **Surveiller l'indicateur d'état du Bot Telegram** : Si l'icône dans la barre supérieure n'est pas verte, cliquez dessus pour relancer le dispatcher Teloxide.
4. **Vérifier les filtres actifs avant de conclure à une absence de données** : Si un tableau semble vide, vérifiez si un bouton d'entonnoir est illuminé en cyan néon (`#00e5ff`) et cliquez sur *Réinitialiser les Filtres*.
5. **Consulter l'écran `/diagnostic` chaque fin de journée** : C'est le moyen le plus rapide de s'assurer qu'aucun coulage ni dérive de rendement n'a coûté d'argent à l'entreprise.
6. **Saisir l'arrivage dès l'annonce du navire** dans `/rh` → onglet Arrivages : le simulateur calcule en une seconde l'effectif à mobiliser pour que le chef de quai puisse appeler le personnel avant l'amarrage.

---

*Guide d'Utilisation Officiel MNGI — Conçu pour l'excellence et la rentabilité de l'industrie de la pêche. Mis à jour le 2026-09-21.*
