màj wiki avec retour MES lot-5 AD

This commit is contained in:
Arthur Ria
2026-05-20 09:41:27 +02:00
commit 23eb3f3c84
4106 changed files with 469381 additions and 0 deletions
+431
View File
@@ -0,0 +1,431 @@
# CLAUDE.md — Wiki EasyWMS Limagrain (Cowork)
## Mission
Tu maintiens un **wiki projet Limagrain en Markdown** dans le sous-dossier `limagrain/`, au sein d'un dépôt qui contient aussi le **wiki standard EasyWMS** (dossiers `architecture/`, `concepts/`, `modules/`, `operations/`, `glossary.md`). Le wiki standard est également accessible via le MCP server `wms-wiki`.
Le wiki Limagrain ne documente que le **delta projet** : customs, configurations, décisions, flux spécifiques. Chaque page renvoie vers la page standard correspondante quand un concept générique existe.
**Règle d'or** : ne jamais modifier les fichiers du wiki standard. Le dossier `limagrain/` est le seul périmètre d'écriture pour le contenu projet.
---
## Arborescence
```
wiki-ameliorator-v2_x-Limagrain/ ← racine du dépôt
├── CLAUDE.md ← CE FICHIER
├── ── WIKI STANDARD (lecture seule) ──
├── architecture/ ← 6 pages standard
├── concepts/ ← 35 pages standard
├── modules/ ← 24 pages standard
├── operations/ ← 19 pages standard
├── glossary.md ← glossaire standard
├── _index.md ← index global (standard + Limagrain)
├── _lint_report.md
├── _log.md
├── ── SOURCES (inbox) ──
├── sources/ ← déposer ici les ressources à intégrer
│ └── archives/ ← ressources déjà traitées
├── ── JOURNAL ──
├── consume.log ← journal de consommation (append-only)
└── ── WIKI LIMAGRAIN (écriture) ──
limagrain/
├── README.md ← index + table des matières du wiki Limagrain
├── glossaire-limagrain.md ← termes et acronymes spécifiques projet
├── 01-inbound/
│ ├── _index.md
│ ├── reception-fournisseur.md
│ ├── reception-retour.md
│ ├── controle-qualite-reception.md
│ └── flux-erp-inbound.md
├── 02-stockage/
│ ├── _index.md
│ ├── asrs-miniload.md
│ ├── galileo-config.md
│ ├── putaway-strategies.md
│ ├── zones-stockage.md
│ └── defragmentation.md
├── 03-picking/
│ ├── _index.md
│ ├── picking-combinatoire.md
│ ├── stations-picking.md
│ ├── waves-groupes.md
│ └── replenishment.md
├── 04-outbound/
│ ├── _index.md
│ ├── flux-expedition.md
│ ├── shipping-orders.md
│ ├── consolidation-chargement.md
│ └── flux-erp-outbound.md
├── 05-agv/
│ ├── _index.md
│ ├── still-igo-integration.md
│ ├── agv-stations-routes.md
│ └── agv-troubleshooting.md
├── 06-erp-interface/
│ ├── _index.md
│ ├── messages-reference.md
│ ├── mapping-erp-wms.md
│ └── interface-monitoring.md
├── 07-admin/
│ ├── _index.md
│ ├── utilisateurs-groupes.md
│ ├── parametres-projet.md
│ └── ad-customs.md
├── 08-transverse/
│ ├── _index.md
│ ├── jira-tickets-cles.md
│ ├── decisions-architecture.md
│ ├── questions-ouvertes.md
│ └── historique-projet.md
└── assets/
```
L'arborescence `limagrain/` ci-dessus est le **squelette initial**. Tu peux créer de nouvelles pages ou sous-dossiers si le contenu le justifie — respecte les conventions ci-dessous et mets à jour `limagrain/README.md` en conséquence.
---
## Workflow de consommation
Quand Arthur te demande d'intégrer des ressources ou quand tu détectes des fichiers dans `sources/` :
### Étape 1 — Inventaire
Lis le contenu de `sources/` (ignore `archives/`) et liste les fichiers présents. Pour chaque fichier, identifie :
- Le type (Confluence export, note Obsidian, mail, Excel, PDF, Word, capture d'écran)
- Le domaine fonctionnel probable (inbound, stockage, picking, outbound, AGV, ERP, admin, transverse)
- Les infos clés à extraire
Présente ce résumé à Arthur avant de commencer l'intégration.
### Étape 2 — Rédaction / Mise à jour
Pour chaque ressource :
1. **Vérifie le standard** : consulte d'abord la page correspondante dans le wiki standard local (`concepts/`, `modules/`, etc.) ET/OU appelle `wms-wiki:search_wiki` ou `wms-wiki:get_wiki_page` via MCP pour compléter
2. **Identifie la page cible** dans `limagrain/` (existante ou à créer)
3. **Rédige ou mets à jour** la page en respectant le template (voir plus bas)
4. **Cross-référence** : ajoute des liens vers les autres pages du wiki Limagrain si pertinent
5. **Mets à jour `limagrain/glossaire-limagrain.md`** si de nouveaux termes apparaissent
6. **Mets à jour `limagrain/README.md`** si de nouvelles pages sont créées
### Étape 3 — Log et archivage
Après intégration de chaque fichier :
1. **Ajoute une entrée** dans `consume.log` à la racine (format ci-dessous)
2. **Déplace le fichier** de `sources/` vers `sources/archives/`
### Étape 4 — Compte rendu
Après chaque session d'intégration, résume à Arthur :
- Fichiers consommés
- Pages créées ou modifiées
- Nouvelles cross-références
- Questions ouvertes identifiées
- Termes ajoutés au glossaire
---
## Format du `consume.log`
Fichier append-only à la racine du dépôt. Chaque session est datée, chaque fichier a une entrée.
```
## [2026-05-05] session-001
- **Fichier** : `CR_reunion_picking_2026-04-15.pdf`
**Type** : CR réunion
**Action** : Mis à jour `limagrain/03-picking/picking-combinatoire.md` (ajout section CstAtt handshake)
**Cross-refs** : Lien ajouté depuis `limagrain/04-outbound/flux-expedition.md`
**Questions** : "Valeur par défaut CstAtt quand lot inconnu ?" → ajouté dans `limagrain/08-transverse/questions-ouvertes.md`
- **Fichier** : `Mapping_ERP_Limagrain_v2.xlsx`
**Type** : Excel mapping
**Action** : Créé `limagrain/06-erp-interface/mapping-erp-wms.md`
**Cross-refs** : Liens depuis `limagrain/01-inbound/flux-erp-inbound.md` et `limagrain/04-outbound/flux-erp-outbound.md`
**Questions** : aucune
```
---
## Template de page wiki
Chaque fichier `.md` dans `limagrain/` doit suivre cette structure :
```markdown
---
title: "Titre de la page"
tags: [domaine, sous-domaine, concept]
status: draft | review | validated
standard_ref: concepts/reception.md
jira_refs: [LIM-70, LIM-75]
confluence_refs: []
sources: []
last_updated: 2026-05-05
author: Arthur
---
# Titre de la page
> **Résumé** : 1-2 phrases décrivant le sujet et pourquoi c'est spécifique Limagrain.
> **Standard EasyWMS** : → voir [Nom page standard](../../concepts/page.md)
> Ce qui suit documente les **spécificités Limagrain** par rapport au standard.
## Contexte projet
Pourquoi ce sujet est spécifique chez Limagrain. Quel besoin métier.
## Configuration / Implémentation
Détails techniques : paramètres, valeurs, éléments AD customs.
## Flux fonctionnel
Description du flux. Utiliser un diagramme Mermaid si pertinent :
```mermaid
sequenceDiagram
participant ERP
participant WMS
ERP->>WMS: SOR01
WMS->>WMS: Stock assignment
WMS-->>ERP: SOF01
```
## Points d'attention
⚠️ Particularités, pièges connus, bugs rencontrés, workarounds.
## Questions ouvertes
- [ ] Question 1 (@Théo)
- [ ] Question 2 (@Michael)
## Historique des modifications
| Date | Auteur | Modification |
|------|--------|-------------|
| 2026-05-05 | Arthur | Création initiale |
## Références
| Source | Type | Date |
|--------|------|------|
| Jira LIM-70 | Ticket | 2025-xx-xx |
| "Titre page" Confluence | Page | 2025-xx-xx |
| CR réunion picking | PDF | 2026-04-15 |
```
---
## Template `_index.md` (sommaire de section)
```markdown
---
title: "Inbound — Vue d'ensemble"
tags: [inbound, index]
status: draft
last_updated: 2026-05-05
---
# Inbound — Vue d'ensemble
> **Périmètre** : réception fournisseur, retours, contrôle qualité à réception, messages ERP inbound.
> **Standard EasyWMS** : voir [Reception](../../concepts/reception.md), [Order Inbound](../../concepts/order-inbound.md)
## Pages de cette section
- [Réception fournisseur](reception-fournisseur.md)
- [Réception retour](reception-retour.md)
- [Contrôle qualité réception](controle-qualite-reception.md)
- [Flux ERP inbound](flux-erp-inbound.md)
## Vue synthétique du flux inbound Limagrain
(Diagramme Mermaid du flux global de la section — à compléter)
```
---
## Liens entre wikis
### Depuis une page Limagrain → page standard (même dépôt)
Chemins relatifs remontant au-dessus de `limagrain/` :
```markdown
→ voir [Reception standard](../../concepts/reception.md)
→ voir [Picking standard](../../concepts/picking.md)
→ voir [Galileo Integration](../../architecture/galileo-integration.md)
```
### Depuis une page Limagrain → autre page Limagrain
Chemins relatifs au sein de `limagrain/` :
```markdown
Voir aussi [Flux expédition](../04-outbound/flux-expedition.md)
Voir aussi [Glossaire Limagrain](../glossaire-limagrain.md)
```
### Vers Jira
```markdown
[LIM-70](https://easywmsfrance.atlassian.net/browse/LIM-70)
```
---
## Conventions strictes
### Nommage
- Fichiers : **kebab-case**, pas d'accents, `.md``picking-combinatoire.md`
- Dossiers dans `limagrain/` : numérotés `01-` à `08-` + kebab-case
- Assets : `{section}-{description}.{ext}``03-picking-schema-stations.png`
### Markdown lint
Règles à respecter (compatible markdownlint) :
- Headings ATX (`#`) uniquement, pas de saut de niveau (h1 → h3 interdit)
- Pas de trailing spaces
- Pas de lignes vides multiples (max 1)
- Line length ≤ 120 caractères (souple pour tableaux et liens)
- Listes entourées de lignes vides
- Premier élément du fichier = front matter `---` puis heading H1
- Pas de headings dupliqués dans un même fichier
- Liens relatifs entre pages (pas de chemins absolus)
### Langue
- **Français** pour la rédaction
- Termes techniques WMS en anglais acceptés (putaway, picking, stock assignment, etc.)
- Noms de messages ERP en majuscules : SOR, SOF, ASN, RUT, LOF
- Noms d'entités AD en anglais PascalCase : OutboundOrder, ContainerStock, etc.
---
## Contexte projet Limagrain
### Équipe
| Personne | Rôle |
|----------|------|
| Arthur | Chef de projet technique - Intégrateur WMS / liaison client-dev, auteur du wiki |
| Nicolas Chabanis | Responsable développement |
| Théo | Chef de projet général - pilote tout le projet |
| Michael | Directeur des opérations - Pilote Arthur |
| Fabien Mogade | Développeur |
| Fares Zaroui | Développeur |
| Justine Beutin | Chef de projet fonctionnelle - Pilote le planning et principale interlocutrice avec Limagrain |
### Périmètre fonctionnel (par priorité)
1. **Réception / Inbound** — modes de réception, ASN, SSCC/LPN, mono-référence
2. **Stockage / ASRS / Galileo** — miniload, transstockeurs, stations, routes
3. **Picking / Préparation** — picking combinatoire (CR V3.0, 4-job, CstAtt), stations
4. **Expédition / Outbound** — flux SOR → RUT → SOF → LOF, chargement
5. **Intégration AGV / Still** — iGo API, DB protocol, transport lifecycle
6. **Intégration ERP** — catalogue messages, mapping champs
7. **Administration** — RBAC, groupes, paramètres, éléments AD customs
### Glossaire initial (termes spécifiques Limagrain)
| Terme | Signification |
|-------|--------------|
| CstAtt | Custom Attribute — handshake dans le picking combinatoire |
| CR V3.0 | Change Request version 3.0 — architecture 4 jobs picking combinatoire |
| SOR | Shipping Order Request — message ERP entrant, crée un ordre d'expédition |
| RUT | Route — message ERP entrant, définit une tournée transporteur |
| SOF | Shipping Order Fulfilled — message ERP sortant, ordre expédié |
| LOF | Load Order Fulfilled — message ERP sortant, chargement camion terminé |
| ASN | Advanced Shipping Notice — pré-avis de réception avec contenu connu |
| PIE | Station de pesée automatique |
| PDL | Picking Dedicated Location — emplacement dédié picking |
| ASRS | Automatic Storage and Retrieval System — stockage automatique |
| TK | Transstockeur (miniload) |
| TMS | Transport Management System (Galileo chez Mecalux) |
| AD | Application Dictionary — framework métadonnées EasyWMS |
### Jira
- **Projet** : Limagrain (préfixe `LIM-`)
- **Cloud ID** : `d79e5957-a82c-4b8f-bd19-d553ef331c42`
- **URL base** : `https://easywmsfrance.atlassian.net`
### MCP tools disponibles
| Serveur | Usage |
|---------|-------|
| `wms-wiki:*` | Wiki standard EasyWMS — search, get_page, get_glossary_term, list_sections, get_related_pages |
| `wms:*` | Données WMS live — queries LINQ, entities, workflows, AD, metadata |
| `Atlassian:*` | Jira + Confluence — recherche JQL/CQL, lecture tickets/pages |
**Utilise `wms-wiki` systématiquement** pour vérifier les concepts standard avant de rédiger.
**Utilise `Atlassian` avec le cloudId ci-dessus** pour rechercher tickets ou pages Confluence référencés.
**Consulte aussi les pages standard locales** (`concepts/`, `modules/`, etc.) quand elles sont plus complètes que le MCP.
---
## Règles impératives
1. **Ne jamais modifier le contenu standard** — les dossiers `architecture/`, `concepts/`, `modules/`, `operations/`, `glossary.md` sont en lecture seule. **Exception unique** : le fichier `_index.md` racine peut être modifié pour y ajouter/mettre à jour la section Limagrain (voir règle 10)
2. **Jamais de duplication du standard** — si le standard couvre un concept, renvoie vers lui et ne documente que le delta Limagrain
3. **Toujours sourcer** — chaque information vient d'une source identifiable. Cite-la dans le front matter `sources` et le tableau Références
4. **Marquer les incertitudes**`> ⚠️ À confirmer` ou `- [ ] Question (@personne)`, reporter dans `limagrain/08-transverse/questions-ouvertes.md`
5. **Log obligatoire** — chaque fichier consommé → entrée dans `consume.log` AVANT archivage
6. **Archivage obligatoire** — après intégration, déplacer le fichier de `sources/` vers `sources/archives/`
7. **Cross-référencer** — quand une page mentionne un concept couvert ailleurs dans le wiki Limagrain, ajouter un lien
8. **Granularité** — un fichier = un sujet. Découper si > 300 lignes
9. **README.md à jour** — toute création/suppression de page dans `limagrain/` doit y être reflétée
10. **`_index.md` racine à jour (MCP discovery)** — le fichier `_index.md` à la racine est le registre utilisé par le MCP server `wms-wiki` pour découvrir les pages. Quand une page est créée ou supprimée dans `limagrain/`, ajouter/retirer son entrée dans `_index.md` sous une section dédiée `## Limagrain — Projet`. Le format doit suivre exactement le même pattern que les sections existantes (Concepts, Modules, Architecture, Operations) :
```markdown
## Limagrain — Projet (XX pages)
### Réception fournisseur
- **Path:** limagrain/01-inbound/reception-fournisseur.md
- **Type:** limagrain
- Résumé court de la page (1-2 lignes tirées du front matter ou du bloc Résumé).
### Picking combinatoire
- **Path:** limagrain/03-picking/picking-combinatoire.md
- **Type:** limagrain
- Architecture 4 jobs, CstAtt handshake, CR V3.0.
```
Ne jamais modifier les sections standard existantes (Concepts, Modules, Architecture, Operations) dans `_index.md`. Seule la section `## Limagrain — Projet` est modifiable.
---
## Démarrage
Si le dossier `limagrain/` n'existe pas encore :
1. Crée `limagrain/` et toutes ses sous-sections (`01-inbound/` à `08-transverse/`, `assets/`)
2. Crée `consume.log` à la racine (vide, avec juste un header `# Journal de consommation`)
3. Crée les `_index.md` pour chaque section (contenu minimal, statut `draft`)
4. Crée `limagrain/README.md` avec la table des matières
5. Crée `limagrain/glossaire-limagrain.md` avec le tableau du glossaire initial ci-dessus
6. Attends qu'Arthur dépose des ressources dans `sources/` ou donne des instructions