> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Explique le scénario d’architecture d’une application mobile qui communique avec une API.

# Applications mobiles avec une API

Dans ce scénario, nous allons créer une API de feuilles de temps pour une entreprise fictive nommée ExampleCo. L’API permettra de gérer les entrées de feuille de temps d’un employé ou d’un sous-traitant.

Nous allons également créer une application mobile qui servira à consulter et à consigner des entrées de feuille de temps dans la base de données centralisée des feuilles de temps à l’aide de l’API.

<Info>
  ### En bref

  * Auth0 fournit l’authentification et l’autorisation d’API comme moyen de sécuriser l’accès aux points de terminaison de l’API (voir [API Authentication and Authorization](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-1#api-authentication-and-authorization))
  * Pour autoriser un utilisateur d’application mobile et lui accorder l’accès à l’API, Auth0 prend en charge le [flux du code d’autorisation avec clé de preuve pour l’échange de code (PKCE)](/docs/fr-ca/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce) (voir [Proof Key for Code Exchange](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-1#proof-key-for-code-exchange-pkce-))
  * L’application mobile et l’API doivent toutes deux être configurées dans l’Auth0 Dashboard (voir [Auth0 Configuration](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-2))
  * Les permissions utilisateur peuvent être imposées à l’aide de l’Authorization Extension (voir [Configurer l’Authorization Extension](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-2#configure-the-authorization-extension))
  * L’API est sécurisée en veillant à ce qu’un <Tooltip tip="" cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Access+Token">jeton d’accès</Tooltip> valide soit transmis dans l’en-tête HTTP Authorization lors des requêtes à l’API (voir [Implement the API](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-3#secure-the-endpoints))
  * Le SDK Auth0.Android peut être utilisé pour autoriser l’utilisateur de l’application mobile et obtenir un jeton d’accès valide qui peut servir à appeler l’API (voir [Autoriser l’utilisateur](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-3#authorize-the-user))
  * L’application mobile peut récupérer les renseignements du profil de l’utilisateur en décodant l’ID Token (voir [Obtenir le profil de l’utilisateur](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-3#get-the-user-profile))
  * Les éléments d’interface peuvent être affichés de façon conditionnelle selon le scope accordé à l’utilisateur (voir [Afficher les éléments d’interface de façon conditionnelle selon le scope](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-3#display-ui-elements-conditionally-based-on-scope))
  * L’application mobile fournit le jeton d’accès dans l’en-tête HTTP Authorization lorsqu’elle fait des requêtes à l’API (voir [Appeler l’API](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-3#call-the-api))
  * Le jeton d’accès de l’utilisateur de l’application mobile peut être renouvelé pour éviter que l’utilisateur ait à se connecter de nouveau pendant une session (voir [Renouveler le jeton](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-3#renew-the-token))
</Info>

<div id="the-premise">
  ## Le principe
</div>

ExampleCo est une entreprise de services-conseils en démarrage. Elle compte actuellement environ 100 employés et confie aussi plusieurs activités à des sous-traitants externes. Tous les employés et les sous-traitants externes doivent remplir leurs feuilles de temps chaque semaine.

L’entreprise a créé une application de feuilles de temps, un scénario que nous avons abordé dans [l’authentification unique pour les applications Web régulières](/docs/fr-ca/get-started/architecture-scenarios/sso-for-regular-web-apps). Les employés à l’interne utilisent cette application Web pour remplir leurs feuilles de temps, mais l’entreprise souhaite offrir une application mobile que les employés et les sous-traitants pourront utiliser lorsqu’ils ne sont pas sur place. L’application servira à consigner les entrées de feuilles de temps et à envoyer les données à la base de données centralisée des feuilles de temps au moyen de l’API. Elle permettra aussi aux gestionnaires d’approuver les entrées de feuilles de temps.

<div id="goals-requirements">
  ### Objectifs et exigences
</div>

ExampleCo veut mettre en place une solution flexible. Il pourrait y avoir plusieurs employés et sous-traitants qui devront pouvoir consigner des entrées de feuille de temps, ainsi que des traitements par lots qui pourraient téléverser des entrées de feuille de temps depuis d’autres systèmes externes.

L’entreprise a donc décidé de développer une seule Timesheets API qui servira à consigner les heures, non seulement pour cette application mobile, mais aussi pour toutes les autres applications. Elle veut mettre en place une architecture de sécurité suffisamment flexible pour répondre à ce besoin. ExampleCo veut s’assurer qu’une grande partie du code et de la logique métier de l’application puisse être partagée entre les différentes applications.

Il faut que seuls les utilisateurs et les applications autorisés aient accès à la Timesheets API.

<div id="learn-more">
  ## En savoir plus
</div>

* [Vue d’ensemble de la solution (Applications mobiles + API)](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-1)
* [Auth0 Configuration (Applications mobiles + API)](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-2)
* [Configuration de l’API et de l’application mobile (Applications mobiles + API)](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-3)
* [Mise en œuvre de l’API en Node.js (Applications mobiles + API)](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/api-implementation-nodejs)
* [Mise en œuvre de l’application mobile Android (Applications mobiles + API)](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/mobile-implementation-android)
* [Conclusion (Applications mobiles + API)](/docs/fr-ca/get-started/architecture-scenarios/mobile-api/part-4)
