#!/bin/bash # Auteur : Simon-Pierre Boucher — contact@spboucher.ai # ka-ui/sync.sh — redistribue le design system vendoré dans les 12 apps, # directement SUR LES NŒUDS (workflow remote-first, voir KA-REMOTE-DEV.md). # Usage : ./sync.sh [app…] (défaut : toutes) set -uo pipefail cd "$(dirname "$0")" # app|node|dir_app|dossier_vendoré MAP=" groupe-ka|M3U96b|~/apps/groupe-ka|src/ka lou-ka|M3U96b|~/apps/lou-ka|frontend/src/ka api-ka|M3U96b|/opt/api-ka|frontend/src/ka crea-ka|M3U96b|~/apps/crea-ka|frontend/src/ka resto-ka|M3U96b|~/apps/resto-ka|frontend/src/ka vrai-prix|M3U96a|~/apps/vrai-prix|src/ka sorti-ka|M3U96a|~/apps/sorti-ka|frontend/src/ka job-ka|M3U96a|~/apps/job-ka|frontend/src/ka rent-ka|M4M36|~/apps/rent-ka|frontend/src/ka immo-ka|M4M64a|~/apps/immo-ka|frontend/src/ka fabri-ka|M4M64a|~/fabri-ka|frontend/src/ka auto-ka|M4M64b|~/auto-ka|frontend/src/ka food-ka|M4M64b|~/apps/food-ka|frontend/src/ka trouve-ka|M2M32|~/trouve-ka|apps/web/ka " only=("$@") for line in $MAP; do IFS='|' read -r app node dir vendor <<<"$line" if [ ${#only[@]} -gt 0 ]; then case " ${only[*]} " in *" $app "*) ;; *) continue ;; esac fi echo "→ $app ($node:$dir/$vendor)" ssh "$node" "mkdir -p $dir/$vendor" && scp -q tokens.css ecosystem.json react/KaFooter.tsx react/GroupeKaBadge.tsx "$node:$dir/$vendor/" && echo " ok" || echo " ÉCHEC $app" done echo "Terminé. Rebuild + pm2 restart requis par app (voir KA-REMOTE-DEV.md)."