Sessão 29/09/2026 (4) — 🚀 O app gerado pela Joule está RODANDO!
Objetivo: executar o app Fiori Elements que a Joule gerou no dev space.
Resultado: ✅ app no ar, com dados reais na tela!
https://port4004-workspaces-ws-0msl7.us10.trial.applicationstudio.cloud.sap/purchaseorders/index.html
---
🏆 O que foi feito
| # | Passo | Detalhe |
| 1 | Dev space religado | Havia parado por inatividade; recarregado no navegador |
| 2 | Dependências instaladas | npm install → 546 pacotes |
| 3 | App iniciado | setsid npm run watch-purchaseorders < /dev/null > /tmp/cds2.log 2>&1 & |
| 4 | Dados de exemplo | db/data/ai.joule.lab-PurchaseOrder.csv (5 pedidos) |
| 5 | App aberto com dados | List Report mostrando os 5 PurchaseOrders (formato pt-BR/BRL) |
Prints: prints/08_app_rodando/ (5) + destaque 13.
---
🔑 Aprendizados (Aula 17 no caderno)
- 1. O script de execução já vem pronto: o Build Code gera
npm run watch-<appname> (ex.: watch-purchaseorders) no package.json.
- 2. Rodar em background no dev space requer
setsid ... < /dev/null— sem isso o
processo morre com EBADF: read quando o comando do terminal termina.
- 3. O dev space publica a porta automaticamente:
port4004-workspaces-<dspace>.us10.trial.applicationstudio.cloud.sap/...
- 4. List Report com busca: a lista só carrega ao clicar em "Iniciar" (Go).
- 5. Dados de exemplo para CAP:
db/data/<namespace>-<Entity>.csv
(carregados ao reiniciar o cds watch).
---
🧠 Sobre "formas mais inteligentes" (pergunta do Hugo)
| Caminho | Situação |
API REST da BAS (/api/v1/devSpaces) | ❌ 404 — exige service instance (build-code/sapappstudio), indisponível no trial |
cf ssh no dev space | ❌ o dev space não é app CF na nossa org (infra própria da BAS) |
| CLI/API do SAP para dev spaces | ❌ depende da mesma API/service instance |
| ✅ GitHub como ponte | O dev space tem terminal com internet → dá para versionar/subir o código e trabalhar com ele daqui (CLI/API/Coolify) |
---
⏭️ Próximos passos
- 1. Subir o app (
ai-joule-lab2) para o GitHub de dentro do dev space (pedido do Hugo) - 2. Clonar localmente e opcionalmente publicar no Coolify
- 3. Evoluir o app: mais entidades, ações, e repetir o ciclo com a Joule