Files
oto-enterprise-os-dtp/05_deliverables_mvp/mobile/app_config/mobile_spec.json
T
Claude Code DTP Worker d0b354f81e
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 / Intégrité des chiffres du README (valeur == artefact cité · (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 20260803_030641] Auto exec · session 20260803_030641
2026-08-03 03:21:42 +00:00

71 lines
6.8 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)"}
],
"store_listing": {
"limits": {"subtitle": 30, "short_description": 80, "full_description": 4000, "keywords": 100},
"limits_source": "App Store Connect (sous-titre 30 · mots-clés 100 · description 4000 caractères) · Google Play Console (description courte 80 · complète 4000 caractères)",
"placeholders": {
"n_portails": "nombre d'onglets = portails métier (len role_navigation)",
"portails": "labels des portails joints par ' · ' (source portails_spec via role_navigation) — jamais recopiés à la main",
"langues": "langues seo en capitales jointes par '/' (source seo_spec)"
},
"content": {
"fr": {
"subtitle": "Vos portails métier en poche",
"short_description": "L'app compagnon de votre ERP OTO : {n_portails} portails métier, sécurisés par rôle.",
"full_description": "OTO Enterprise OS est l'application mobile compagnon de la plateforme immobilière OTO.\n\nRetrouvez vos {n_portails} portails métier — {portails} — directement sur votre téléphone.\n\nSécurité par rôle (RBAC) : chaque portail n'expose que les fonctions autorisées à votre profil ; aucune donnée hors de votre périmètre.\n\nInterface luxury sombre et dorée, cohérente avec la console web. Disponible en {langues}. Devises USD et DOP.\n\nL'app ne réplique aucune logique métier : elle est la surface mobile sécurisée de votre ERP OTO Enterprise OS.",
"keywords": "immobilier,ERP,CRM,ventes,construction,chantier,compta,portail,RBAC,OTO"
},
"en": {
"subtitle": "Business portals on the go",
"short_description": "The companion app for your OTO ERP: {n_portails} role-secured business portals.",
"full_description": "OTO Enterprise OS is the mobile companion app for the OTO real-estate platform.\n\nAccess your {n_portails} business portals — {portails} — right from your phone.\n\nRole-based security (RBAC): each portal only exposes the features your profile is allowed to use; no data outside your scope.\n\nLuxury dark-and-gold interface, consistent with the web console. Available in {langues}. USD and DOP currencies.\n\nThe app replicates no business logic: it is the secure mobile surface of your OTO Enterprise OS ERP.",
"keywords": "real estate,ERP,CRM,sales,construction,site,accounting,portal,RBAC,OTO,property"
},
"es": {
"subtitle": "Tus portales en movilidad",
"short_description": "La app complementaria de tu ERP OTO: {n_portails} portales seguros por rol.",
"full_description": "OTO Enterprise OS es la aplicación móvil complementaria de la plataforma inmobiliaria OTO.\n\nAccede a tus {n_portails} portales de negocio — {portails} — desde tu teléfono.\n\nSeguridad por rol (RBAC): cada portal solo muestra las funciones que tu perfil tiene permitidas; ningún dato fuera de tu alcance.\n\nInterfaz luxury oscura y dorada, coherente con la consola web. Disponible en {langues}. Monedas USD y DOP.\n\nLa app no replica ninguna lógica de negocio: es la superficie móvil segura de tu ERP OTO Enterprise OS.",
"keywords": "inmobiliaria,ERP,CRM,ventas,construcción,obra,contabilidad,portal,RBAC,OTO"
}
}
},
"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."
]
}