Files
oto-enterprise-os-dtp/05_deliverables_mvp/mobile/app_config/mobile_spec.json
T
Claude Code DTP Worker 1d21a3788d
CI / Contraintes NON-NÉGOCIABLES (CLAUDE.md) (push) Has been cancelled
CI / Validation JSON (schémas Faisabilité) (push) Has been cancelled
CI / Qualité documentaire (liens + 4Big) (push) Has been cancelled
CI / Reproductibilité des artefacts out/ (build == commité) (push) Has been cancelled
CI / Fraîcheur matrice de régression (run == commité) (push) Has been cancelled
CI / Intégrité du câblage CI (gate agrège tout · gates statiques verrouillés) (push) Has been cancelled
CI / Publiciste · parser + schéma + generator (unittest) (push) Has been cancelled
CI / RBAC · 50 rôles + schéma (unittest) (push) Has been cancelled
CI / Faisabilité · générateur 4 volets + round-trip (unittest) (push) Has been cancelled
CI / RBAC · fixtures ERPNext (Role + Custom DocPerm) (push) Has been cancelled
CI / RBAC · plan User Permission (row-level) (push) Has been cancelled
CI / RBAC · Role Profile (bundles par portail) (push) Has been cancelled
CI / RBAC · run-book d'application unifié (agrégat 3 volets) (push) Has been cancelled
CI / Faisabilité · dossier bancable trilingue FR/EN/ES (push) Has been cancelled
CI / CRM · workflow vente ERPNext (lead → CONFOTUR) (push) Has been cancelled
CI / CRM · DocType porteur OTO Dossier Vente (push) Has been cancelled
CI / CRM · barème commissions vendeurs (push) Has been cancelled
CI / Fiscal · e-CF DGII (Compupar) (push) Has been cancelled
CI / Frontend · Workspaces 5 portails rôle (push) Has been cancelled
CI / Legal · DocType CONFOTUR Application (push) Has been cancelled
CI / QA · Audit 5D conformité (push) Has been cancelled
CI / SEO · mots-clés trilingues + schema.org + hreflang (push) Has been cancelled
CI / Chat OTOIA · montage par portail (Custom Block) (push) Has been cancelled
CI / QA · Audit 4Big (95+/100 sur 100% deliverables) (push) Has been cancelled
CI / Démo · Scénarios (run-sheet P07 banquier / P05 client) (push) Has been cancelled
CI / QA · Matrice de régression exhaustive (Sprint 8) (push) Has been cancelled
CI / DevOps · Run-book de déploiement VPS unifié (Sprint 8) (push) Has been cancelled
CI / QA · Matrice d'acceptation / traçabilité MVP (Sprint 8) (push) Has been cancelled
CI / Mobile · config app Expo/EAS (navigation par rôle) (push) Has been cancelled
CI / E2E baseline Playwright (manuel) (push) Has been cancelled
CI / Gate qualité (agrégat) (push) Has been cancelled
[DTP-Worker 20260731_023000] Auto exec · session 20260731_023000
2026-07-31 02:45:00 +00:00

42 lines
3.6 KiB
JSON

{
"version": "1.0.0",
"roadmap_ref": "04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md · Sprint 5 l.56-57 « Mobile : Rebuild Expo 54 + submit App Store #32 + Play Store »",
"generated_from": "rbac_50_roles.json (portails métier + rôles) · frontend/portails/portails_spec.json (labels + icônes) · seo/seo_spec.json (langues FR/EN/ES) · CLAUDE.md #4 (tokens de marque) / #10 (devises)",
"description": "Spec machine-lisible de la config de l'app mobile compagnon OTO Enterprise OS (Expo/EAS). Ce fichier ne porte QUE les choix de configuration non dérivables d'une source (nom d'app, slug, scheme, profils EAS, ordre des onglets). La source de vérité des ONGLETS reste les portails métier RBAC (rbac_50_roles.json) ; les labels/icônes viennent de portails_spec.json ; les langues de seo_spec.json ; les tokens de marque de CLAUDE.md #4. Tout identifiant de store/build (bundleIdentifier, package, projectId EAS, version, credentials, appleId, ascAppId) reste `null · a_confirmer` — jamais fabriqué (#6) car déposé hors repo lors des builds/submissions (VPS/stores · #8).",
"app": {
"name": "OTO Enterprise OS",
"name_source": "CLAUDE.md · titre « OTO Enterprise OS · Digital Twin Platform (DTP) »",
"slug": "oto-enterprise-os",
"scheme": "otoos",
"expo_sdk_major": 54,
"expo_sdk_source": "roadmap Sprint 5 l.56 « Rebuild Expo 54 »",
"orientation": "portrait",
"user_interface_style": "dark"
},
"eas": {
"app_version_source": "remote",
"build_profiles": ["development", "preview", "production"]
},
"portail_order": ["ventes", "construction", "achat", "compta", "direction"],
"a_confirmer": [
{"champ": "app_config.expo.version", "raison": "version de l'app (release) — déposée hors repo au build (#8)"},
{"champ": "app_config.expo.ios.bundleIdentifier", "raison": "identité App Store #32 — jamais fabriquée (#6/#8)"},
{"champ": "app_config.expo.ios.buildNumber", "raison": "auto-incrément côté EAS au build (#8)"},
{"champ": "app_config.expo.android.package", "raison": "identité Play Store — jamais fabriquée (#6/#8)"},
{"champ": "app_config.expo.android.versionCode", "raison": "auto-incrément côté EAS au build (#8)"},
{"champ": "app_config.expo.icon", "raison": "asset image binaire — hors repo texte (#8)"},
{"champ": "app_config.expo.splash.image", "raison": "asset image binaire — hors repo texte (#8)"},
{"champ": "app_config.expo.extra.eas.projectId", "raison": "identifiant projet EAS — créé au premier build (#8)"},
{"champ": "eas_build.cli.version", "raison": "version CLI EAS — épinglée à l'installation runner (#8)"},
{"champ": "eas_build.submit.production.ios.appleId", "raison": "credential App Store Connect — hors repo (#6/#8)"},
{"champ": "eas_build.submit.production.ios.ascAppId", "raison": "identifiant app App Store #32 — hors repo (#6/#8)"},
{"champ": "eas_build.submit.production.ios.appleTeamId", "raison": "identifiant équipe Apple — hors repo (#6/#8)"},
{"champ": "eas_build.submit.production.android.serviceAccountKeyPath", "raison": "clé de service Google Play — secret hors repo (#6/#8)"}
],
"notes": [
"L'app mobile ne réplique AUCUNE logique métier : elle est la surface mobile des 5 portails rôle ERPNext (mêmes rôles que les Workspaces / le Chat OTOIA).",
"Sécurité : un onglet n'est visible que pour les rôles RBAC du portail correspondant (roles_allowed = surface RBAC exacte, ancrée sur le contrat).",
"Le build Expo 54 et les soumissions App Store #32 / Play Store sont exécutés hors de ce worker (agent Mobile · #8) : ce livrable ne produit que la CONFIG versionnable."
]
}