# TWIN agents IA

Copies "master" de 9 projets, en vue du développement de nouvelles versions sans jamais
modifier les dossiers sources originaux. Créé le 2026-07-19, complété le 2026-07-21
(6e projet : Prévision logistique ; 7e projet : CRM, reconstruit à partir d'un squelette
de proposition initial ; 8e projet : SRM, construit en projet frère du CRM ; 9e projet :
MRP, formalisant le chaînon demande CRM → plan de production →
besoins fournisseurs SRM).

> Renommages du 2026-07-29 (réorganisation en plateforme à 8 onglets, aucun changement de
> code) : `Planification production-master` → `MRP-master`, `Chaîne logistique-master` →
> `Prévision production-master`, `Logistique portuaire-master` → `Prévision
> logistique-master`, `Gestion de projet prédictive-master` → `Prévision projet-master`.

## Présentation

Ces applications présentent un cas concret et immédiatement exploitable d'amélioration de la productivité grâce à l'IA pour une PME ou une TPE. Elles associent un support de formation et des outils opérationnels directement exploitables pour renforcer la performance de l'entreprise.

**Huit outils locaux** accompagnent l'ensemble du cycle commercial et opérationnel de l'entreprise — prospection (Pilotage commercial), relation client de bout en bout (CRM), relation fournisseurs de bout en bout (SRM), transformation de la demande en plan de production et en besoins fournisseurs (MRP), planification et estimation de durée de projet (Prévision projet), prévision des ventes, pilotage prédictif de la chaîne d'approvisionnement (Prévision production), et analyse statistique des durées d'escale portuaire (Prévision logistique / MEDFRET). À chaque étape, l'IA aide à automatiser les tâches répétitives, à structurer le suivi et à fiabiliser l'exécution, tout en laissant la décision finale à l'utilisateur.

Le déploiement est simple : cinq outils (Pilotage commercial, CRM, SRM, Prévision projet, Prévision logistique) reposent sur une interface HTML/JavaScript, consultable avec un simple navigateur, avec ou sans serveur local selon le niveau de fonctionnalités souhaité. Les trois autres (Prévision des ventes, Prévision production, MRP) sont pilotés depuis Excel — un export HTML statique en complète la consultation, mais Excel reste l'interface de travail principale. Un environnement Python gratuit complète le dispositif pour activer l'ensemble des fonctionnalités ; un compte Claude.ai Pro (20€/mois) permet d'exploiter les prompts d'assistance intégrés.

Ces huit outils ont été conçus pour rester légers et économiques. Deux précisions techniques : les scripts de génération et de test des outils Excel s'appuient sur l'automatisation Excel (COM) pour Prévision des ventes et Prévision production (disponible sous Windows — leur usage complet est aujourd'hui pensé pour PC), tandis que MRP s'appuie sur `openpyxl` sans recalcul Excel piloté (portable) ; les fichiers Excel eux-mêmes restent lisibles sur Mac. Le packaging en fichier compressé prêt à distribuer reste à finaliser.

La confidentialité est intégrée dès la conception de ces huit outils : les données et le code restent stockés localement, aucun mot de passe n'est créé ni conservé, et aucun identifiant ne transite par l'application. Les échanges avec l'IA se limitent aux éléments choisis par l'utilisateur dans ses prompts et au code pendant le développement — jamais lors de l'utilisation courante de l'outil, qui fonctionne alors de façon autonome.

**Un neuvième outil, de nature différente**, automatise un rapport hebdomadaire (lecture Gmail, indicateurs, synthèse Word) via une tâche planifiée s'exécutant chaque semaine sur claude.ai. Contrairement aux huit premiers, il s'agit d'une automatisation pilotée par l'IA en continu, pas d'une application locale autonome : un accès réel à la messagerie Gmail transite par l'application à chaque exécution, et le mail de notification interne part automatiquement, sans relecture préalable (seul le brouillon destiné au partenaire business reste soumis à validation). Cet outil illustre une autre famille d'usages IA pour la PME — l'automatisation de reporting récurrent — complémentaire aux huit outils locaux mais avec un modèle de confidentialité et de supervision différent, à évaluer séparément.

Architecture statique (sans base de données) pour les outils Pilotage commercial, CRM, SRM, Prévision projet et Prévision logistique, architecture fichier pour Prévision des ventes, Prévision production et MRP : dans les deux cas, l'absence de serveur exposé contribue à limiter les risques de base.

Chacun des huit outils locaux dispose de sa propre suite de tests automatisés (294 tests au total), adaptée à sa nature plutôt qu'un modèle générique unique :
- **Intégrité structurelle** : présence des fichiers/pages, liens internes valides, absence de dépendance vers un dossier externe
- **Exécution réelle du moteur de calcul** — jamais une réimplémentation qui pourrait diverger : recalcul Excel piloté en direct via COM pour Prévision des ventes et Prévision production, moteur JavaScript exécuté nativement pour Prévision projet et Prévision logistique, import direct du module de calcul (pas de réimplémentation séparée dans les tests) pour MRP
- **Exactitude métier** : cohérence des formules, des agrégations et des indicateurs calculés (MAPE, stocks de sécurité, délais, ajustement de lois de distribution, explosion de nomenclature (BOM), etc.)
- **Cohérence du modèle de données** : pour le CRM, mêmes clés `localStorage` et même champ de liaison (`clientId`) utilisés de façon cohérente entre les 6 modules — une faute de frappe romprait silencieusement le lien lead→client→actions/avis/tickets/commandes ; même principe pour le SRM avec `fournisseurId` (candidat→fournisseur→contrats/livraisons/risques)
- **Hygiène des fichiers Excel** : absence de macro, de lien externe ou de contenu caché
- **Cybersécurité de base** : absence de secret codé en dur (clé API, mot de passe) sur les huit outils ; vérification que les en-têtes de sécurité HTTP (CSP, X-Frame-Options...) sont réellement envoyés et que les données externes affichées sont échappées contre les injections (XSS) pour Pilotage commercial, seul à afficher des données issues d'une source externe ; échappement anti-XSS des champs texte libre vérifié aussi pour le CRM et le SRM (saisie utilisateur directe, y compris les nouveaux flux d'import/export CSV) ; aucune ressource chargée depuis un domaine tiers (CDN) sur les huit outils — corrigé le 2026-07-21 pour Prévision logistique (alors "Logistique portuaire"), qui dépendait initialement de Chart.js hébergé sur cdnjs.cloudflare.com

Ces contrôles s'exécutent avant chaque évolution et ne remplacent pas un audit de sécurité complet, mais garantissent qu'aucune régression fonctionnelle ou de sécurité de base ne passe inaperçue. Le détail par projet est dans la [matrice de couverture des tests](#matrice-de-couverture-des-tests) ci-dessous.

Enfin, l'architecture modulaire des huit outils locaux permet d'ajouter progressivement des fonctionnalités à forte valeur, comme un rapprochement bancaire enrichi, des modèles de prévision supplémentaires ou de nouveaux modules métiers. En revanche, des fonctions plus avancées comme l'Open Banking, une lecture Gmail réellement temps réel (au-delà du rapport hebdomadaire déjà en place) ou le multiposte nécessiteraient une architecture différente.

Cette suite d'outils propose une solution concrète, économique et étudiée pour améliorer la productivité des PME et des TPE grâce à l'IA, avec un niveau de confidentialité et de supervision à ajuster selon l'usage (outils locaux autonomes vs. automatisation cloud récurrente).

## Règle d'or

Chaque dossier `*-master` est une copie de travail autonome. Les dossiers sources
d'origine (hors de `TWIN agents IA`) ne doivent jamais être modifiés à partir d'ici.

## Les 14 projets

> ⚠️ **Staleness connue** (constatée le 2026-07-31, pas corrigée ici) : ce tableau liste
> encore `Pilotage commercial-master` et `CRM-master` comme 2 projets séparés — depuis la
> fusion CRM (étape 2, phase 2), ce sont le même produit (le hub pointe uniquement vers
> `Pilotage commercial-master`, sous le nom "CRM"). `CRM-master` est superseded mais pas
> retiré. Idem pour les mentions "huit outils locaux" dans la présentation ci-dessus. À
> corriger ensemble lors du transfert des dossiers d'applis vers le hub (reporté par
> l'utilisateur, voir mémoire de session).

| Dossier | Nature | Doc | Changelog | Tests |
|---|---|---|---|---|
| [Pilotage commercial-master](Pilotage%20commercial-master/README.md) | Site web statique multi-pages (HTML/CSS/JS + scripts Python) | `README.md` | `CHANGELOG.md` | `test_pilotage_commercial.py` — 38 tests |
| [CRM-master](CRM-master/README.md) | Site web statique multi-pages (HTML/CSS/JS), leads→clients→actions/avis/tickets/commandes | `README.md` | `CHANGELOG.md` | `test_crm.py` — 49 tests |
| [SRM-master](SRM-master/README.md) | Site web statique multi-pages (HTML/CSS/JS), candidats→fournisseurs→contrats/livraisons/risques | `README.md` | `CHANGELOG.md` | `test_srm.py` — 37 tests |
| [MRP-master](MRP-master/README.md) | Générateur Excel (Python → xlsx + export HTML), demande confirmée → plan production → besoins fournisseurs | `README.md` | `CHANGELOG.md` | `test_planification_production.py` — 27 tests |
| [Diagnostic IA-master](Diagnostic%20IA-master/CONTEXTE.md) | Page HTML/JS unique, auto-évaluation en 5 thèmes + radar — extrait de Pilotage commercial le 2026-07-31 | `CONTEXTE.md` | `CHANGELOG.md` | `test_diagnostic_ia.py` — 20 tests |
| [Formations IA-master](Formations%20IA-master/CONTEXTE.md) | Page HTML/JS unique, catalogue interactif des 4 formations certifiantes (parcours + sélecteur de profil) | `CONTEXTE.md` | `CHANGELOG.md` | `test_formations.py` — 39 tests |
| [Financements IA-master](Financements%20IA-master/CONTEXTE.md) | Page HTML/JS unique, répertoire de 25 dispositifs de financement filtrable (2 menus déroulants + recherche) | `CONTEXTE.md` | `CHANGELOG.md` | `test_financements.py` — 39 tests |
| [Prévision projet-master](Prévision%20projet-master/CONTEXTE.md) | Dashboard HTML unique (données embarquées) + build partiel | `CONTEXTE.md` | `CHANGELOG.md` | `test_pluto_dashboard.js` — 21 tests |
| [Prévision des ventes-master](Prévision%20des%20ventes-master/CONTEXTE.md) | Générateur Excel (Python → xlsx + export HTML) | `CONTEXTE.md` | `CHANGELOG.md` | `test_regression.py` — 52 tests |
| [Prévision production-master](Prévision%20production-master/CONTEXTE.md) | Générateur Excel MRP-time-phasé (Python → xlsx + export HTML) | `CONTEXTE.md` | `CHANGELOG.md` | `test_supply_chain.py` — 32 tests |
| [Prévision logistique-master](Prévision%20logistique-master/CONTEXTE.md) | Dashboard HTML unique (données embarquées), analyse statistique | `CONTEXTE.md` | `CHANGELOG.md` | `test_medfret_dashboard.js` — 38 tests |
| [Prévision biz plan-master](Prévision%20biz%20plan-master/CONTEXTE.md) | Calculateur HTML/JS interactif (recalcul en direct, pas de build/export requis), Go/No-Go entrée marché — classeur Excel = audit secondaire | `CONTEXTE.md` | `CHANGELOG.md` | `test_bizplan.py` — 39 tests |
| [Prévision finance_P&L-master](Prévision%20finance_P%26L-master/CONTEXTE.md) | Classeur Excel existant édité en place (Python), ventes alignées sur Prévision des ventes | `CONTEXTE.md` | `CHANGELOG.md` | `test_finance_pl.py` — 16 tests |
| [Weekly Gmail Report-master](Weekly%20Gmail%20Report-master/PROCESS.md) | Documentation d'une tâche planifiée cloud (pas de code local) | `PROCESS.md` | `CHANGELOG.md` | N/A — tâche test clonée séparément sur claude.ai |

Les 8 outils locaux (tous sauf Weekly Gmail Report, qui n'a pas d'application HTML à
documenter) ont chacun un `help.html` — fiche pédagogique pour un utilisateur non-technique
(glossaire, installation, comment demander une modification à Claude Code, exemples de
prompts, dépannage, sécurité). Accessible via le lien "❓ Aide" dans l'application pour
Pilotage commercial, CRM, SRM, Prévision projet et Prévision logistique ;
fichier autonome à ouvrir directement pour Prévision des ventes, Prévision production et
MRP (générateurs Excel sans hub HTML dans lequel insérer un lien).

## Charte d'utilisation de l'IA

[`Charte_IA.md`](Charte_IA.md) — document commun aux 8 projets locaux (usages/outils
autorisés, données interdites, validation humaine avant action, contact référent), créé le
2026-07-21 et référencé depuis la section Sécurité de chaque `help.html`. **C'est un
modèle générique de départ** : plusieurs sections (contact référent, liste précise des
outils/comptes autorisés) restent marquées "à compléter" — à valider avec vous avant toute
diffusion externe.

## Document de présentation externe

Une fiche de présentation destinée à la communication externe (support de formation)
existe pour Pilotage commercial, **hors de ce dossier** (dans
`Training IA\Agents IA\Documents de reference\`, où les documents de présentation/
référence en vrac à la racine de `Agents IA` ont été regroupés le 2026-07-31) :
[`TnS-Formation-IA_Pilotage Commercial_Plateforme_22Juillet26_RGPD.docx`](../Documents%20de%20reference/TnS-Formation-IA_Pilotage%20Commercial_Plateforme_22Juillet26_RGPD.docx)
(nom corrigé — pointait vers un fichier "21Juillet26" inexistant, lien cassé constaté et
corrigé le 2026-07-31 ; aucun `.pdf` compagnon n'a été retrouvé, malgré la mention
initiale). Relu et corrigé le 2026-07-21 (précisions RGPD, mise à jour de la roadmap,
correction d'une inexactitude sur l'existence d'un audit manuel pour les 3 autres outils
locaux — ils n'en ont pas, contrairement à Pilotage commercial). Voir la section
"Améliorations possibles" du [README de Pilotage commercial](Pilotage%20commercial-master/README.md)
pour les pistes encore en attente sur ce document.

Chaque `CHANGELOG.md` démarre à la version **1.0.0** (2026-07-19, création du master). Les
futures évolutions ("nouvelles versions" — objectif initial de `TWIN agents IA`) devront y
ajouter une nouvelle entrée datée plutôt que de modifier l'entrée 1.0.0.

⚠️ Ces changelogs ne sont fiables que pour les modifications faites **via Claude Code** —
une édition manuelle directe d'un fichier ne s'y reflète pas automatiquement.

## Autonomie entre projets

![Flux entre les projets de la suite](flux-entre-projets.svg)

Les 8 premiers projets sont indépendants les uns des autres — aucun ne lit de fichier
situé dans un autre dossier `*-master`. Ce n'a pas toujours été le cas :

- **Pilotage commercial** avait un script (`fetch_prospects_pluto.py`) dont `OUTPUT_PATH`
  pointait vers le dossier source d'origine — corrigé le 2026-07-19, garde-fou testé en
  continu.
- **Prévision production** (alors "Chaîne logistique") dépendait de **Prévision des
  ventes** (`FORECAST_XLSX` lisait
  `Prévision des ventes-master\plan-ventes-forecast-final.xlsx`) — lien retiré le
  2026-07-19, "Prevision Ventes" est maintenant un snapshot statique local ; garde-fou
  testé en continu contre toute réintroduction.
- **Prévision logistique** (alors "Logistique portuaire") chargeait Chart.js depuis un
  CDN externe (`cdnjs.cloudflare.com`) — pas une dépendance vers un autre projet TWIN,
  mais une dépendance externe du même ordre. Vendorisé en local le 2026-07-21, garde-fou
  testé en continu.
- **CRM** réutilise la logique de scoring/pipeline de **Pilotage commercial**, mais le
  code a été **réécrit pour ce projet**, pas partagé en direct (aucun fichier de l'un ne
  lit l'autre) — Pilotage commercial n'a pas été modifié pour cette réorganisation.
- **SRM** reprend la même architecture que **CRM** (hub + 5 modules, base pivot reliée par
  identifiant), mais le code a lui aussi été **réécrit pour ce projet** — aucun fichier de
  l'un ne lit l'autre, lien uniquement documentaire (voir le `CONTEXTE.md` de chacun).
- **MRP** (alors "Planification production") réutilise le référentiel de nomenclature
  (BOM, délais, stock de sécurité) de **Prévision production** (alors "Chaîne
  logistique"), également **réécrit dans son propre dossier** — le chaînage CRM (Module
  6, export CSV) → MRP → SRM (Module 3, import CSV) se fait uniquement par des fichiers
  CSV que l'utilisateur télécharge/copie manuellement, jamais par une lecture de fichier
  automatique cross-dossier (garde-fou dédié testé en continu dans
  `test_planification_production.py`).
- **Prévision production** ← **Prévision des ventes** (2026-07-30, chaînage phase 2) :
  cette dernière génère `prevision_ventes_OUT.csv` à chaque run, à copier manuellement
  vers `Prévision production-master` sous le nom `prevision_ventes_IN.csv` — même
  principe manuel-mais-fichier que CRM→MRP→SRM, sans réintroduire le lien de lecture
  automatique retiré le 2026-07-19 (ligne ci-dessus).

## Matrice de couverture des tests

Les colonnes marquées **N/A** ne sont pas un oubli : le type de test ne s'applique pas au
domaine du projet (ex. "cohérence de graphiques Excel" n'a pas de sens pour un site web).

| Type de test | 1. Pilotage commercial | 2. CRM | 3. SRM | 4. MRP | 5. Prévision projet | 6. Prévision des ventes | 7. Prévision production | 8. Prévision logistique |
|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| Présence fichiers/assets | ✅ | ✅ | ✅ | ✅ | ✅ (structure onglets) | N/A (généré) | N/A (généré) | ✅ (structure onglets) |
| Intégrité liens internes (src/href) | ✅ | ✅ | ✅ | N/A (pas de hub HTML) | N/A (fichier unique) | N/A | N/A | N/A (fichier unique) |
| Autonomie / pas de dépendance externe | ✅ | ✅ | ✅ | ✅ (garde-fou anti-régression dédié) | ✅ | N/A (rien à consommer) | ✅ (garde-fou anti-régression) | ✅ (CDN vendorisé le 21/07) |
| Validité syntaxique (py_compile) | ✅ | N/A (pas de script Python) | N/A (pas de script Python) | N/A (couvert par exécution réelle) | N/A (JS, couvert par exécution réelle) | ✅ | ✅ | N/A (JS, couvert par exécution réelle) |
| Cohérence de configuration (port, chemins) | ✅ | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| Cohérence du modèle de données partagé (clés/champs de liaison) | N/A | ✅ (clientId entre 6 modules) | ✅ (fournisseurId entre 5 modules) | N/A | N/A | N/A | N/A | N/A |
| Exécution réelle du moteur (vrai JS/Excel, pas de réimplémentation) | ✅ (serveur réel) | N/A (pas de moteur de calcul, CRUD simple) | N/A (pas de moteur de calcul, CRUD simple) | ✅ (import direct du module Python) | ✅ (Node vm) | ✅ (Excel COM) | ✅ (Excel COM) | ✅ (Node vm) |
| Exactitude des données/calculs métier | N/A (pas de calcul) | N/A (scoring simple, pas de modèle) | N/A (scoring/taux de service simples, pas de modèle) | ✅ (explosion BOM recalculée indépendamment) | ✅ | ✅ | ✅ | ✅ |
| Cohérence structurelle Excel (onglets, graphiques) | N/A | N/A | N/A | ✅ (4 onglets) | N/A | ✅ | ✅ | N/A (Excel = référence, pas régénéré) |
| Hygiène fichier Excel (macro, lien externe, feuille cachée) | N/A | N/A | N/A | N/A | N/A | ✅ | ✅ | N/A |
| **Cybersécurité — secrets codés en dur** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| **Cybersécurité — en-têtes HTTP (CSP, X-Frame-Options...)** | ✅ (seul projet avec serveur) | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| **Cybersécurité — échappement anti-XSS** | ✅ (données externes affichées) | ✅ (saisie utilisateur directe + export/import CSV + import JSON mobile) | ✅ (saisie utilisateur directe + import CSV) | N/A (pas d'affichage interactif) | N/A (données 100% embarquées) | N/A | N/A | N/A (données 100% embarquées) |

## Historique des écarts corrigés (2026-07-19)

En comparant les 4 suites entre elles, 3 incohérences sans justification de domaine ont
été trouvées et corrigées :
1. Hygiène Excel présente sur le projet 3 mais absente du projet 4 → ajoutée.
2. Garde-fou anti-régression sur `OUTPUT_PATH` (projet 1) mais rien d'équivalent sur le
   lien cross-dossier retiré du projet 4 → ajouté, et un commentaire de code resté
   obsolète après la correction du lien a été mis à jour au passage.
3. `py_compile` sur les scripts non exécutés par le test (projet 1) mais absent des
   projets 3/4 (`export_html.py` notamment, jamais appelé par les suites de test) → ajouté.

## Historique des écarts corrigés (2026-07-21)

1. **6e projet ajouté** : Logistique portuaire-master (renommé Prévision
   logistique-master le 2026-07-29), copié depuis un dossier de cas
   d'étude externe (hors du dossier source des 5 premiers projets). Même structure que
   Gestion de projet prédictive (dashboard HTML unique, données embarquées) — voir son
   [`CONTEXTE.md`](Prévision%20logistique-master/CONTEXTE.md)
   pour le détail de l'investigation de provenance des données.
2. Dépendance CDN externe (Chart.js) détectée sur ce nouveau projet — seul écart
   d'autonomie parmi les 5 outils locaux — corrigée par vendorisation locale avant
   intégration, pour rester cohérent avec le principe d'autonomie déjà appliqué aux 4
   premiers.
3. `help.html` manquant sur `test_pluto_dashboard.js` (projet 2, créé le 19/07 mais
   jamais ajouté à sa propre suite de tests) → corrigé au passage d'une revue de
   cohérence entre les 5 projets ayant un `help.html`.
4. **7e projet ajouté** : `Relations clients-master` (squelette non fonctionnel du
   2026-07-20) reconstruit en `CRM-master` — 5 modules fonctionnels (leads, clients,
   actions, avis, support), une seule base de données locale reliée par `clientId`,
   24 tests, données de démonstration fictives injectables à la demande. Réutilise la
   logique de scoring/pipeline de Pilotage commercial (code réécrit, pas partagé en
   direct) — Pilotage commercial n'a pas été modifié. Voir le
   [`CONTEXTE.md`](CRM-master/CONTEXTE.md) du CRM pour le détail des décisions,
   notamment l'exclusion volontaire d'un futur projet SRM séparé.
5. **Lanceur de confort généralisé** (contexte formation) : jusqu'ici, seul Pilotage
   commercial avait un `Lancer-Application.bat` (nécessaire pour son serveur local,
   lui-même requis uniquement pour le presse-papiers). Vérifié qu'aucun des 5 autres
   outils locaux n'a besoin de serveur — un `Lancer-Application.bat` simplifié (ouvre
   directement le fichier principal, sans Python) a été ajouté aux 5 autres pour une
   expérience de lancement uniforme entre les 6 projets. 2 tests ajoutés par projet
   (présence + bonne cible).
6. **8e projet ajouté** : `SRM-master`, construit juste après CRM comme projet frère
   volontairement séparé (CRM = ventes/clients, SRM = achats/fournisseurs — décision
   actée dans le `CONTEXTE.md` du CRM avant la construction de ce 8e projet). Même
   architecture que CRM (hub + 5 modules, une seule base `localStorage` reliée par
   `fournisseurId`), code réécrit pour ce dossier, pas partagé en direct — 32 tests,
   données de démonstration fictives injectables à la demande
   (`srm_demo_data.json`), `Lancer-Application.bat` inclus dès la version initiale. Voir
   le [`CONTEXTE.md`](SRM-master/CONTEXTE.md) du SRM pour le détail des décisions.
7. Bug de libellé trouvé et corrigé pendant la vérification navigateur du SRM (avant tout
   usage réel) : la fiche fournisseur (Module 2) affichait "Résilié" — un statut de
   **contrat** — pour désigner une livraison en retard, ce qui aurait pu induire un
   utilisateur en erreur. Remplacé par un libellé dédié "À temps" / "Retard" — voir le
   [`CHANGELOG.md`](SRM-master/CHANGELOG.md) du SRM.
8. **Chaînage CRM → SRM formalisé** (constat de l'utilisateur : les deux projets restent
   séparés mais un vrai flux métier les relie — demande client → plan de production →
   commandes fournisseurs) :
   - `CRM-master` : nouveau **Module 6 (Commandes)** — produit (A-D) / quantité confirmée
     par client, export CSV de la demande (9 tests ajoutés, 30 → 39)
   - **9e projet ajouté** : `Planification production-master` — transforme la demande
     CRM en plan de production et en besoins fournisseurs, en réutilisant (code réécrit,
     pas partagé) le référentiel de nomenclature de Chaîne logistique appliqué à un lot
     confirmé plutôt qu'à un forecast glissant sur 15 mois (27 tests)
   - `SRM-master` : Module 3 (Contrats) accepte désormais un **import CSV** des besoins
     fournisseurs, avec association manuelle obligatoire composant → fournisseur avant
     toute création de contrat (5 tests ajoutés, 32 → 37)
   - Chaînage entièrement documentaire, par fichiers CSV échangés manuellement — aucune
     dépendance technique introduite entre les 3 dossiers. Voir le `CONTEXTE.md` de
     chacun des 3 projets pour le détail du raisonnement.

## Historique des écarts corrigés (2026-07-22)

1. **Check-list de livraison créée** : [`CHECKLIST_livraison_projet.md`](../CHECKLIST_livraison_projet.md)
   (niveau `Agents IA`, applicable aux projets TWIN comme aux projets à données réelles)
   — structure/présence attendue par type de projet, couverture de tests attendue,
   carte d'impact ("si vous changez X, pensez aussi à Y"), points RGPD. Créée après
   plusieurs oublis constatés sur le nouveau projet `Prospects tri LinkedIn` (scan de
   secrets, tests en ligne de commande, garde-fou d'autonomie).
2. **Audit rétroactif des 10 projets locaux** contre cette check-list : suites de tests
   relancées réellement sur les 10 (284 tests TWIN + 44 sur Prospects tri LinkedIn, tous
   verts), scan de secrets et garde-fou d'autonomie confirmés présents sur les 9 projets
   TWIN existants (aucun oubli rétroactif sur ces deux points).
3. **4 compteurs de tests périmés trouvés et corrigés** dans `help.html` (mis à jour
   dans `README.md`/`CONTEXTE.md` lors de l'ajout du lanceur le 2026-07-21, mais oubliés
   dans `help.html`) : Logistique portuaire (36→38), Gestion de projet prédictive
   (17→21), Chaîne logistique (28→32), Prévision des ventes (48→52).
4. **1 lien markdown cassé trouvé et corrigé** : `Planification production-master/README.md`
   pointait vers `Chaîne%20logistique-master/README.md` (inexistant — ce projet utilise
   `CONTEXTE.md` comme document principal) — trouvé via un script de vérification des 97
   liens markdown internes du dossier `Agents IA`, aucun autre lien cassé.
5. **Compteur global de projets périmé, trouvé sur 7 fichiers** : `Charte_IA.md` disait
   encore "6 projets" (créé avant CRM/SRM/Planification production) et ne listait pas ces
   3 projets dans sa section "Portée" ; l'en-tête standard `> Un des N projets de TWIN
   agents IA` disait encore "5" sur `Chaîne logistique`, `Gestion de projet prédictive`,
   `Pilotage commercial`, `Prévision des ventes` et `Weekly Gmail Report` (mis à jour
   uniquement sur les 4 projets construits le plus récemment) ; `SRM-master/CONTEXTE.md`
   disait "7 autres projets" (stale depuis l'ajout de Planification production) ; les
   comparaisons RGPD de `Weekly Gmail Report-master/PROCESS.md` ("seul des 5 projets...")
   également corrigées. Tous alignés sur 9 projets / 8 autres.
