> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Liens profonds et configuration de l'application

Le schéma d'URL, la table de routage des écrans et le contrat de configuration intégré.

## Une seule valeur d'environnement détermine le schéma

EXPO_PUBLIC_APP_SCHEME alimente apps/mobile/app.config.ts, qui en dérive le schéma de lien profond et les origines de production autorisées via la même configuration d'authentification mobile que le flux de connexion. La valeur est validée — uniquement des caractères de schéma en minuscules — et les schémas réservés comme http, https, file, javascript, data, exp et exps sont refusés. La valeur livrée par défaut est supastack.

Les deux identifiants sont livrés sous com.supastack.app dans app.json (ios.bundleIdentifier et android.package) ; renommez-les avant le premier envoi en boutique, en même temps que le schéma.

```
# apps/mobile/.env.local
EXPO_PUBLIC_APP_SCHEME=supastack
```


## Formes de liens acceptées par l'application

Les liens profonds n'utilisent que le schéma personnalisé : <scheme>://auth/callback termine un relais de connexion et <scheme>://invite/<token> ouvre l'écran d'invitation, qui envoie le jeton à la route d'acceptation des invitations. Les liens universels ne sont pas configurés — app.json ne déclare aucun associatedDomains — donc chaque lien se résout via le schéma.

La table expo-router sous apps/mobile/app : index est l'écran de connexion, onboarding et new-organization gèrent la configuration initiale, paywall présente les achats et feedback est un écran autonome qui fonctionne sans connexion. Dans le groupe (app), les onglets sont home, chat, notifications et settings ; content, commerce et assistant sont des écrans masqués atteints depuis les actions rapides de l'accueil, et settings contient sa propre sous-pile d'écrans.


## Une configuration intégrée exige l'accord des deux côtés

Les valeurs Expo publiques sont compilées dans le binaire distribué, tandis que le serveur valide les rappels mobiles par rapport à MOBILE_ALLOWED_ORIGINS à chaque requête. La paire doit concorder : un changement de schéma ou d'origine impose une nouvelle build de l'application et un déploiement du serveur, jamais l'un sans l'autre.


## Aucun canal de mise à jour à distance

Le kit ne livre ni la dépendance expo-updates ni de configuration de mises à jour — les changements JavaScript n'atteignent les utilisateurs que par de nouvelles builds en boutique. Gardez l'API compatible avec la plus ancienne build prise en charge, ou conditionnez toute nouvelle capacité par un état piloté par le serveur.


## Vérification et dépannage

Testez les liens au démarrage à froid, les liens qui arrivent pendant que l'application tourne en arrière-plan et un lien reçu hors connexion. Si un lien ouvre une fiche de boutique ou un navigateur plutôt que l'application, le schéma de la build installée ne correspond pas à EXPO_PUBLIC_APP_SCHEME.


## Suivant

[UI native et thèmes](https://supastack.dev/fr/docs/mobile/ui.md)
