Skip to content

feat(cmdbuild): scripts de modification IHM sans recompilation Maven#1

Draft
oulom wants to merge 2 commits into
mainfrom
cursor/cmdbuild-ui-tooling-d444
Draft

feat(cmdbuild): scripts de modification IHM sans recompilation Maven#1
oulom wants to merge 2 commits into
mainfrom
cursor/cmdbuild-ui-tooling-d444

Conversation

@oulom
Copy link
Copy Markdown
Owner

@oulom oulom commented Apr 16, 2026

Contexte

CMDBuild est déployé sous forme d'un fichier WAR Tomcat. Ce PR fournit une boîte à outils pour :

  1. Modifier l'IHM sans recompiler Java/Maven
  2. Réutiliser les JARs déjà compilés du WAR comme dépendances Maven

Scripts de modification de l'IHM (sans recompilation)

Un WAR étant une archive ZIP, les ressources UI (HTML, JS, CSS, images) peuvent être extraites, modifiées et repackagées sans aucune compilation.

Script Description
01_extract_war.sh Extrait le WAR dans un répertoire de travail
02_repackage_war.sh Repackage le répertoire modifié en WAR
03_deploy_exploded.sh Déploiement Tomcat "exploded" (rechargement à chaud)
04_watch_ui.sh Surveillance inotify/fswatch des fichiers UI
05_patch_war.sh Patch ciblé d'un fichier précis dans le WAR

Scripts de réutilisation des JARs du WAR comme dépendances Maven

Le WAR contient dans WEB-INF/lib/ tous les JARs CMDBuild déjà compilés. Ces scripts les rendent utilisables par Maven sans recompilation.

Script Description
06_install_jars_to_m2.sh Installe les JARs dans ~/.m2 (nécessite mvn)
07_local_repo.sh Crée un dépôt Maven file:// committable en Git
08_generate_pom_deps.sh Audit non-destructif + génération snippet pom.xml

Workflow typique

# Auditer le WAR
./08_generate_pom_deps.sh cmdbuild.war org.cmdbuild 3.4

# Installer les JARs dans ~/.m2
./06_install_jars_to_m2.sh cmdbuild.war org.cmdbuild 3.4

# Compiler uniquement son propre module (pas tout CMDBuild)
mvn install -pl mon-module-ui -DskipTests -o

Ou en alternative sans Maven installé, créer un dépôt fichier partageable par Git :

./07_local_repo.sh cmdbuild.war ./war-repo org.cmdbuild 3.4
git add war-repo/ && git commit -m "chore: dépôt Maven extrait du WAR"

Aucune recompilation Java requise

Tous les scripts utilisent uniquement zip, unzip, rsync, inotify-tools et optionnellement mvn pour l'installation dans ~/.m2.

Open in Web Open in Cursor 

cursoragent and others added 2 commits April 16, 2026 08:20
Ajout d'une boîte à outils pour modifier l'interface CMDBuild directement
dans le fichier WAR, sans relancer une compilation Maven complète.

Scripts ajoutés :
- 01_extract_war.sh   : extrait le WAR (archive ZIP) dans un dossier
- 02_repackage_war.sh : repackage le dossier en WAR de production
- 03_deploy_exploded.sh : déploiement Tomcat exploded pour rechargement à chaud
- 04_watch_ui.sh      : surveillance des fichiers UI avec inotify/fswatch/polling
- 05_patch_war.sh     : patch ciblé d'un fichier précis dans le WAR

README.md décrivant les trois workflows (patch rapide, développement
itératif exploded, modification en lot) et la gestion des builds Sencha CMD.

Co-authored-by: oulom <oulom@users.noreply.github.com>
Ajout de trois scripts pour exposer les JARs présents dans WEB-INF/lib/
du WAR directement à Maven, sans recompilation des sources :

- 06_install_jars_to_m2.sh : installe chaque JAR dans ~/.m2/repository
  avec coordonnées Maven déduites du nom de fichier ; génère le bloc
  <dependencies> à coller dans pom.xml
- 07_local_repo.sh : construit un dépôt Maven au format file:// dans le
  projet (committable dans Git, utilisable sans Maven installé)
- 08_generate_pom_deps.sh : audit non-destructif des JARs + génération
  du snippet pom.xml sans rien modifier

README mis à jour avec le workflow complet et les deux approches (A/B).

Co-authored-by: oulom <oulom@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants