Files
mcp-wms-wiki/wiki/operations/custom-application-management.md
T
arthur 9ce6ae37be lint(standard): corrections completes mode standard
- Em dashes: 1712 remplaces par tirets simples (86 fichiers + _index.md,
  en-tete section Limagrain conserve)
- Checklists: 24 '- [ ]' -> '- ☐' (3 pages operations, plus de todos Obsidian)
- Ancres: 33 reparees (slugs GitHub + ancres HTML <a id> reconnues),
  1 reciblee (manuel de reten)
- related: tenseflow -> tense-flow, pie -> mechanical-elements,
  group.md retire (doublon shipping)
- Registre: compteur global 122 -> 131 pages
- Rapport racine _lint_report.md mis a jour (scan v2 + re-scan final: 0 anomalie)
- Aucun fichier limagrain/ modifie (cloisonnement)
2026-07-20 13:01:21 +02:00

6.8 KiB

title, type, sources, related, last_compiled
title type sources related last_compiled
Custom Application Management operation
sources/archives/Gestion_custom_application.md
architecture/application-dictionary.md
operations/development-methodology.md
operations/first-deployment.md
operations/deployment-existing-app.md
operations/git-workflow.md
operations/code-review-process.md
2026-04-17

Custom Application Management

Overview

Procédure de gestion de la custom application EasyWMS (extension AD projet) via EasyBuilder : création, import et export. La custom app contient l'ensemble des éléments AD spécifiques au projet (Commands, Queries, Entities, Workflows, Dialogs…) compilés au-dessus du core EasyWMS et des modules standards activés dans le DeployConfig.yaml.

⚠️ Plusieurs développeurs peuvent travailler sur un même projet depuis des VM différentes. Une gestion rigoureuse de la CustomApp et une bonne communication sur l'avancement sont indispensables pour éviter les écrasements.

Règles de base :

  • Exporter la CustomApp à chaque fin de tâche (après tests locaux)
  • Réimporter la CustomApp de develop après merge de votre branche dans develop
  • Si vous rejoignez un projet en cours → l'import de la CustomApp existante est la première chose à faire

Une mauvaise manipulation ici peut entraîner la perte de vos développements. Procéder avec soin.

Source : Confluence EasyWMS France - Gestion de la custom application (v12, 20/12/2022).

1. Création de l'application custom

À n'exécuter qu'une seule fois par projet (le premier développeur). Les autres devs font un Import (cf. section 2).

Option A - Partir d'une app existante du Toolkit

Si le projet réutilise des modifications déjà packagées dans le dépôt FRANCE_OPERATIONS_TOOLS (ex. modifications habituelles du module transporteur) :

  1. Cloner le projet FRANCE_OPERATIONS_TOOLS en local
  2. Réaliser l'import (cf. section 2) depuis :
    ..\FRANCE_OPERATIONS_TOOLS\<Ma modif voulue>
    
    Exemple : ..\FRANCE_OPERATIONS_TOOLS\Module transporteur

Option B - Créer une application vierge

Dans EasyBuilder :

  1. Clic droit sur "Application""New application"
  2. Saisir le nom de l'application
  3. Définir les dépendances (en général : EasyWMS)

Premier export

Après création, faire un 1ᵉʳ export sur la branche develop du dépôt GIT (cf. section 3) pour initialiser ..\source\NomApplication et permettre aux autres devs d'importer.

2. Import de l'application custom

⚠️ Avant d'importer, il faut d'abord supprimer la CustomApp existante dans votre Builder local.

Procédure d'import

  1. Dans EasyBuilder : clic droit sur l'application custom existante → "Delete application"
  2. Clic droit sur "Applications""Import and save application from text"
  3. Sélectionner le chemin dans votre dépôt GIT :
    ..\source\NomApplication
    

Quand importer

Situation Import ?
Vous rejoignez un projet en cours Oui (première action)
Vous venez de merger votre branche dans develop Oui (réimporter le develop à jour)
Un collègue a poussé une modif majeure sur develop Oui après git pull
Vous démarrez la journée sur votre branche perso Non - travailler sur votre export local

3. Export de l'application custom

Pré-requis

⚠️ Avant l'export, vider le dossier de destination dans le dépôt GIT :

..\source\NomApplication

Sinon, des anciens fichiers orphelins peuvent rester et polluer le diff.

⚠️ Bien vérifier d'être sur la branche de votre tâche avant d'exporter.

Aucun élément en "Check-out" n'est sauvegardé ni exporté. Tous les Check-in doivent être effectués avant l'export.

Procédure d'export

  1. Dans EasyBuilder : clic droit sur l'application custom → "Export application to text"
  2. Sélectionner le chemin :
    ..\source\NomApplication
    

Suites logiques

  • Commit + push sur la branche de votre tâche - cf. git-workflow
  • Les fichiers exportés peuvent être séparés en plusieurs pour un même élément AD (workflow, source C#, DESIGN…). Bien prendre tous les fichiers portant le nom de l'élément modifié.

Règles de coexistence multi-développeurs

Situation Action
Plusieurs devs sur le projet Chacun sur sa branche GIT personnelle (cf. development-methodology)
Éviter les écrasements Export systématique en fin de tâche + import après merge dans develop
Éléments en Check-out À Check-in avant export - sinon perte silencieuse
Structure commune (toolkit) Utiliser FRANCE_OPERATIONS_TOOLS en option A de création

Common errors

  • Perte de développements après import → la CustomApp locale contenait des changements non exportés. Toujours exporter avant de supprimer/importer.
  • Diff GIT pollué par d'anciens fichiers → dossier de destination non vidé avant export. Vider ..\source\NomApplication avant chaque export.
  • Élément absent du dépôt après export → élément laissé en Check-out dans EasyBuilder. Les Check-out sont silencieusement ignorés à l'export.
  • Import échoue avec des erreurs de dépendancesEasyWMS (ou autre module requis) non listé comme dépendance lors de la création. Re-créer la custom app avec les bonnes dépendances.
  • Conflits récurrents sur la CustomApp → deux devs poussent en parallèle sur develop. Respecter le workflow : branche perso → rebase avant merge → export/import séquentiel (cf. git-workflow + development-methodology).
  • Fichiers partiels commités → un même élément est sérialisé en plusieurs fichiers (workflow, C#, DESIGN). Bien stager tous les fichiers avant commit.
  • Application Dictionary - contenu packagé dans la custom app (Commands, Queries, Entities, Views, Dialogs, Events, Workflows)
  • Development Methodology - stratégie de branches et cadre dans lequel s'inscrit la gestion de la custom app
  • First Deployment - création initiale de la custom app (étape 9) et référencement dans DeployConfig.yaml (étape 10)
  • Deploy Existing Application - import custom app lors d'un redéploiement (étape 6 si anciens scripts)
  • Git Workflow - rythme commit/push et gestion des branches