> ## 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 avec communication serveur à serveur et appels sécurisés à une API (serveur de ressources) au nom de l’application.

# Applications serveur avec 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 d’ajouter des entrées de feuille de temps pour un employé ou un sous-traitant.

Nous allons également créer une tâche cron qui traitera les entrées de feuille de temps provenant d’un système externe vers 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 pour sécuriser l’accès aux points de terminaison de l’API (lire [Authentification et autorisation d’API](/docs/fr-ca/get-started/architecture-scenarios/server-application-api/part-1#api-authentication-and-authorization))
  * Pour autoriser une Machine-to-Machine Application (un CLI, un service ou un démon sans interaction utilisateur), Auth0 prend en charge le grant Client Credentials (lire [Client Credentials Grant](/docs/fr-ca/get-started/architecture-scenarios/server-application-api/part-1#client-credentials-grant))
  * La Machine-to-Machine Application et l’API doivent toutes deux être configurées dans l’Auth0 Dashboard (lire [Configuration d’Auth0](/docs/fr-ca/get-started/architecture-scenarios/server-application-api/part-2))
  * L’API sera sécurisée en veillant à ce qu’un jeton d’accès valide (implémenté sous forme de JSON Web Token) soit transmis dans l’en-tête HTTP Authorization lors des appels à l’API (lire [Implémenter l’API](/docs/fr-ca/get-started/architecture-scenarios/server-application-api/part-3))
  * Une fois l’autorisation accordée, un jeton d’accès est émis à la Machine-to-Machine Application (lire [Obtenir un jeton d’accès](/docs/fr-ca/get-started/architecture-scenarios/server-application-api/part-3#get-an-access-token))
  * La Machine-to-Machine Application peut ensuite utiliser ce jeton d’accès et le transmettre dans un en-tête HTTP Authorization pour authentifier les appels aux points de terminaison de l’API (lire [Appeler l’API](/docs/fr-ca/get-started/architecture-scenarios/server-application-api/part-3#invoke-the-api))
</Info>

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

ExampleCo est une jeune entreprise de services-conseils. Elle compte actuellement environ 100 employés et fait aussi appel à des sous-traitants externes. Tous les employés et les sous-traitants externes doivent remplir des feuilles de temps chaque semaine. Pour ce faire, elle a créé une application de feuilles de temps, un scénario que nous avons abordé dans [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 certains sous-traitants externes utilisent déjà un autre outil pour faire le suivi de leurs feuilles de temps. ExampleCo a besoin d’une solution pour éviter le dédoublement du travail et a décidé de créer une tâche cron pour lire les entrées de feuille de temps dans ce système externe et les téléverser automatiquement vers le backend d’ExampleCo au moyen d’une API.

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

ExampleCo veut créer une solution flexible qui :

* permet l’exécution de processus automatisés dans le backend
* permet d’intégrer à l’architecture de futures applications, comme une application mobile
* permet à la Timesheets API d’être sécurisée et accessible aux utilisateurs et aux applications autorisés
* permet de réutiliser une grande partie du code et de la logique d’affaires de l’application dans d’autres apps

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

* [Aperçu de la solution (applications serveur + API)](/docs/fr-ca/get-started/architecture-scenarios/server-application-api/part-1)
* [Configuration d’Auth0 (applications serveur + API)](/docs/fr-ca/get-started/architecture-scenarios/server-application-api/part-2)
* [Mise en œuvre de l’application (applications serveur + API)](/docs/fr-ca/get-started/architecture-scenarios/server-application-api/part-3)
* [Conclusion (applications serveur + API)](/docs/fr-ca/get-started/architecture-scenarios/server-application-api/part-4)
