- Bloquants: mermaid 03-picking/_index reconstitue (archive 11-05), 13 liens vers pages squelette retires, 2 liens recibles (anoxie, application-dictionary) - Conventions: 910 em dashes -> tirets simples, 145 checklists -> puces question, 13 questions resolues barrees - Liens: 9 ancres reparees (slugs GitHub) - Delta: 12 standard_ref remappes, blocs Standard EasyWMS + sections References ajoutes, front matter complete - Glossaire: 15 termes standard deplaces en section rappel avec renvoi - Rapport: limagrain/_lint_report.md (Phase 1 + Phase 2 + re-scan final) - Inclut les pages des sessions precedentes non commitees + CLAUDE.md et consume.log en l'etat
24 KiB
CLAUDE.md — Wiki EasyWMS (Cowork)
Mission
Tu maintiens un wiki EasyWMS en Markdown composé de deux parties indépendantes :
- Le wiki standard EasyWMS (dossiers
architecture/,concepts/,modules/,operations/,glossary.md) - documentation générique du produit EasyWMS. Également accessible via le MCP serverwms-wiki. - Le wiki projet Limagrain (dossier
limagrain/) - documentation du delta projet : customs, configurations, décisions, flux spécifiques. Chaque page renvoie vers la page standard correspondante quand un concept générique existe.
Modes de travail
Ce dépôt fonctionne selon deux modes exclusifs. Le mode détermine le périmètre d'écriture ; l'autre wiki est en lecture seule.
Sélection du mode
Comportement par défaut : toujours demander. Si Arthur ne précise pas le mode dans son prompt, demande-lui avant de commencer toute modification :
« On travaille sur le wiki standard ou sur le wiki Limagrain ? »
Déclencheurs explicites :
mode: standardou mention explicite du wiki standard → mode standardmode: limagrainou mention explicite du wiki Limagrain / projet → mode limagrain
mode: standard - Wiki standard EasyWMS
| Aspect | Règle |
|---|---|
| Écriture | architecture/, concepts/, modules/, operations/, glossary.md, _index.md |
| Lecture seule | limagrain/ (ne jamais modifier) |
| Template | Template standard (voir section dédiée) |
| Workflow | Workflow de consommation structuré (sources → intégration → log → archivage) |
| Index | Mettre à jour _index.md si des pages sont créées/modifiées |
| Glossaire | Mettre à jour glossary.md si de nouveaux termes apparaissent |
mode: limagrain - Wiki projet Limagrain
| Aspect | Règle |
|---|---|
| Écriture | limagrain/ uniquement. Exception : _index.md racine (section ## Limagrain — Projet seulement) |
| Lecture seule | architecture/, concepts/, modules/, operations/, glossary.md (ne jamais modifier) |
| Template | Template Limagrain (voir section dédiée) |
| Workflow | Workflow de consommation structuré (sources → intégration → log → archivage) |
| Delta uniquement | Ne jamais dupliquer le standard ; renvoyer vers lui et ne documenter que le delta |
| Glossaire | Mettre à jour limagrain/glossaire-limagrain.md si de nouveaux termes apparaissent |
| README | Mettre à jour limagrain/README.md si des pages sont créées |
Règle de cloisonnement
Ne jamais modifier un fichier hors du périmètre d'écriture du mode actif. Cette règle est absolue. Si une modification semble nécessaire dans l'autre périmètre, le signaler à Arthur et lui proposer de changer de mode.
Arborescence
wiki-ameliorator-v2_x-Limagrain/ ← racine du dépôt
│
├── CLAUDE.md ← CE FICHIER
│
├── ── WIKI STANDARD (écriture en mode standard) ──
├── 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 en mode limagrain) ──
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
Ce workflow s'applique aux deux modes. Quand Arthur demande d'intégrer des ressources ou quand des fichiers sont détectés 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
- Les infos clés à extraire
- Le mode cible : standard ou limagrain (si mixte, le signaler)
Présente ce résumé à Arthur avant de commencer l'intégration. Confirme le mode actif si pas encore établi.
Étape 2 — Rédaction / Mise à jour
Pour chaque ressource :
- Vérifie le contexte existant : consulte les pages concernées via le wiki local ET/OU appelle
wms-wiki:search_wikiouwms-wiki:get_wiki_pagevia MCP - Identifie la page cible dans le périmètre d'écriture du mode actif (existante ou à créer)
- Rédige ou mets à jour la page en respectant le template du mode actif
- Cross-référence : ajoute des liens vers les autres pages du même wiki si pertinent
- Mets à jour le glossaire du mode actif si de nouveaux termes apparaissent
- Mets à jour l'index :
_index.md(mode standard) oulimagrain/README.md(mode limagrain)
Spécifique mode limagrain : ne documenter que le delta par rapport au standard. Renvoyer vers la page standard pour les concepts génériques.
Étape 3 — Log et archivage
Après intégration de chaque fichier :
- Ajoute une entrée dans
consume.logà la racine (format ci-dessous), en précisant le mode - Déplace le fichier de
sources/verssources/archives/
Étape 4 — Compte rendu
Après chaque session d'intégration, résume à Arthur :
- Mode utilisé
- 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 avec le mode utilisé, chaque fichier a une entrée.
## [2026-05-05] session-001 (mode: limagrain)
- **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`
## [2026-05-10] session-002 (mode: standard)
- **Fichier** : `Notes_reception_multi-reference.md`
**Type** : Notes techniques
**Action** : Mis à jour `concepts/reception.md` (ajout section réception multi-référence)
**Cross-refs** : Lien ajouté depuis `modules/inbound.md`
**Questions** : aucune
Templates de page wiki
Template standard (mode: standard)
Chaque fichier .md dans architecture/, concepts/, modules/, operations/ suit la structure ci-dessous. Les sections sont adaptables au sujet - seuls le front matter, l'Overview et la section Related sont obligatoires. Les autres sections sont des suggestions courantes à utiliser quand elles sont pertinentes.
Langue : anglais (cohérent avec les pages existantes). Termes techniques WMS en anglais.
---
title: "Page Title"
type: concept | module | architecture | operation
sources:
- areas/path/to/source.md
- sources/archives/source-file.md
related:
- concepts/other-page.md
- modules/related-module.md
last_compiled: "2026-05-15"
---
# Page Title
## Overview
1-2 paragraphes décrivant le concept, module ou opération. Contexte fonctionnel, rôle dans EasyWMS, et relations principales avec les autres composants.
## (Sections libres adaptées au sujet)
Le corps de la page est structuré librement selon le sujet. Les sections suivantes sont des patterns courants dans le wiki existant - les utiliser quand elles sont pertinentes, les omettre ou les adapter sinon :
- **Architecture / Communication protocol** — pour les pages techniques (galileo, AGV, etc.)
- **Parameters** — tableau des paramètres de configuration liés au sujet :
| Parameter | Effect |
|---|---|
| `PARAM_NAME` | Description de l'effet |
- **ERP Integration** — tableau des messages ERP liés :
| Message | Direction | Trigger |
|---|---|---|
| `MSG` | ERP → WMS | Description |
- **Common Errors** — erreurs fréquentes avec cause et solution
- **Interface Paths** — chemins UI (PC/SmartUI et RFT) pour accéder aux fonctionnalités :
| Path | Equipment | Description |
|---|---|---|
| `Menu > Sub-menu` | PC / RFT | Description |
## Related
- [concepts/other-page.md](../concepts/other-page.md) — brève description du lien
- [modules/related-module.md](../modules/related-module.md) — brève description du lien
Règles front matter :
type: obligatoire, une des 4 valeurs (concept, module, architecture, operation)sources: liste des fichiers sources utilisés pour compiler la page (chemins relatifs)related: liste des pages liées (chemins relatifs depuis la racine du dépôt)last_compiled: date ISO de dernière mise à jour significative
Template Limagrain (mode: limagrain)
Chaque fichier .md dans limagrain/ doit suivre cette structure :
---
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)
---
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
Mode standard - liens entre pages standard
Chemins relatifs entre dossiers standard :
→ voir [Reception](../concepts/reception.md)
→ voir [Galileo Integration](../architecture/galileo-integration.md)
→ voir [Glossaire](../glossary.md)
Mode limagrain - depuis une page Limagrain → page standard
Chemins relatifs remontant au-dessus de limagrain/ :
→ voir [Reception standard](../../concepts/reception.md)
→ voir [Picking standard](../../concepts/picking.md)
→ voir [Galileo Integration](../../architecture/galileo-integration.md)
Mode limagrain - entre pages Limagrain
Chemins relatifs au sein de limagrain/ :
Voir aussi [Flux expédition](../04-outbound/flux-expedition.md)
Voir aussi [Glossaire Limagrain](../glossaire-limagrain.md)
Vers Jira
[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és01-à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.
Intégrité des fichiers après écriture
Les outils Write et Edit peuvent tronquer silencieusement le contenu d'un fichier long sans signaler d'erreur. Pour éviter toute perte :
- Vérifier après écriture : après tout Write ou Edit touchant plus
de ~50 lignes, exécuter en bash
wc -l+tail -3sur le fichier pour confirmer que le nombre de lignes est cohérent et que le fichier se termine correctement (dernière section attendue, pas de coupure en milieu de phrase) - Écriture incrémentale : pour les fichiers longs (> 150 lignes), ne jamais réécrire tout le contenu d'un coup via Write. Préférer des Edit ciblés section par section. Si un Write complet est inévitable, découper en deux passes (première moitié via Write, seconde moitié via Edit append)
- Si troncature détectée : ne pas continuer la session sans restaurer le contenu manquant. Signaler le problème à Arthur.
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é)
- Réception / Inbound — modes de réception, ASN, SSCC/LPN, mono-référence
- Stockage / ASRS / Galileo — miniload, transstockeurs, stations, routes
- Picking / Préparation — picking combinatoire (CR V3.0, 4-job, CstAtt), stations
- Expédition / Outbound — flux SOR → RUT → SOF → LOF, chargement
- Intégration AGV / Still — iGo API, DB protocol, transport lifecycle
- Intégration ERP — catalogue messages, mapping champs
- 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
Règles communes (les deux modes)
- Cloisonnement strict — ne jamais modifier un fichier hors du périmètre d'écriture du mode actif (voir section Modes de travail)
- Toujours sourcer — chaque information vient d'une source identifiable. Cite-la dans le front matter
sourceset le tableau Références - Marquer les incertitudes —
> ⚠️ À confirmerou- [ ] Question (@personne) - Log obligatoire — chaque fichier consommé → entrée dans
consume.logAVANT archivage, avec le mode indiqué - Archivage obligatoire — après intégration, déplacer le fichier de
sources/verssources/archives/ - Cross-référencer — quand une page mentionne un concept couvert ailleurs dans le même wiki, ajouter un lien
- Granularité — un fichier = un sujet. Découper si > 300 lignes
_index.mdracine à jour — le fichier_index.mdà la racine est le registre utilisé par le MCP serverwms-wikipour découvrir les pages. Il doit refléter toute création/suppression de page, quel que soit le mode
Règles spécifiques mode standard
- Pas de contenu projet — les pages standard ne doivent pas contenir d'information spécifique à un projet client. Les exemples génériques sont acceptés
- Cohérence inter-pages — vérifier que les liens entre pages standard restent valides après modification
- Glossaire standard — mettre à jour
glossary.mdsi de nouveaux termes génériques apparaissent - Sections
_index.md— en mode standard, modifier les sections existantes (Concepts, Modules, Architecture, Operations) de_index.md. Ne pas toucher la section## Limagrain — Projet
Règles spécifiques mode limagrain
- Delta uniquement — si le standard couvre un concept, renvoyer vers lui et ne documenter que le delta Limagrain
- Marquer les questions — reporter les incertitudes dans
limagrain/08-transverse/questions-ouvertes.md - README.md à jour — toute création/suppression de page dans
limagrain/doit y être reflétée - Section
_index.mdLimagrain — quand une page est créée ou supprimée danslimagrain/, ajouter/retirer son entrée dans_index.mdsous la section dédiée## Limagrain — Projet. Le format doit suivre exactement le même pattern que les sections existantes :
## 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 pas toucher les sections standard (Concepts, Modules, Architecture, Operations) de _index.md en mode limagrain.
Démarrage
Mode limagrain - première initialisation
Si le dossier limagrain/ n'existe pas encore :
- Crée
limagrain/et toutes ses sous-sections (01-inbound/à08-transverse/,assets/) - Crée
consume.logà la racine (vide, avec juste un header# Journal de consommation) - Crée les
_index.mdpour chaque section (contenu minimal, statutdraft) - Crée
limagrain/README.mdavec la table des matières - Crée
limagrain/glossaire-limagrain.mdavec le tableau du glossaire initial ci-dessus - Attends qu'Arthur dépose des ressources dans
sources/ou donne des instructions
Mode standard - première utilisation
Le wiki standard existe déjà. Pas d'initialisation nécessaire. Vérifie simplement que consume.log existe à la racine (le créer si absent). Puis attends les instructions d'Arthur ou les fichiers dans sources/.