---
title: Vue d'ensemble
description: TypeScript côté serveur qui s’exécute dans Twenty — déclenché par des routes HTTP, des planifications CRON, des événements de base de données, des outils d’IA ou des actions de flux de travail.
icon: bolt
---

La **couche logique** d’une application Twenty est le code qui *s’exécute* — des gestionnaires TypeScript côté serveur qui réagissent aux requêtes HTTP, aux planifications CRON et aux modifications d’enregistrements ; des compétences et des agents d’IA qui résident dans l’espace de travail ; et des connexions OAuth qui permettent à vos fonctions d’agir au nom d’un utilisateur dans des services tiers.

```text
            ┌─ HTTP route      ──┐
            │  Cron schedule     │
            │  Database event    │      ┌────────────────────┐
  triggers ─┤  AI tool call      ├─────▶│ Logic function     │
            │  Workflow action   │      │ (your handler)     │
            │  Manual exec       │      └────────────────────┘
            └────────────────────┘                │
                                                  ▼
                                  ┌────────────────────────────┐
                                  │ Twenty API (records)       │
                                  │ Third-party API            │
                                  │   (via Connection token)   │
                                  └────────────────────────────┘
```

## Dans cette section

<CardGroup cols={2}>
  <Card title="Fonctions logiques" icon="bolt" href="/l/fr/developers/extend/apps/logic/logic-functions">
    Le bloc de construction principal — types de déclencheurs, charges utiles et client API typé.
  </Card>
  <Card title="Compétences et agents" icon="robot" href="/l/fr/developers/extend/apps/logic/skills-and-agents">
    Instructions d’agent IA réutilisables et assistants avec invites système personnalisées.
  </Card>
  <Card title="Connexions" icon="plug" href="/l/fr/developers/extend/apps/logic/connections">
    Identifiants OAuth détenus par votre application pour des services tiers — Linear, GitHub, Slack, et plus encore.
  </Card>
</CardGroup>

## Aperçu des types de déclencheurs

Une fonction logique choisit un ou plusieurs déclencheurs — chaque entrée ci-dessous est un champ distinct sur `defineLogicFunction()`:

| Déclencheur                      | Moment d’exécution                                                           | Paramètre                       |
| -------------------------------- | ---------------------------------------------------------------------------- | ------------------------------- |
| **Route HTTP**                   | Une requête atteint votre point de terminaison `/s/\<path>` | `httpRouteTriggerSettings`      |
| **Cron**                         | Une expression CRON correspond                                               | `cronTriggerSettings`           |
| **Événement de base de données** | Un enregistrement de l’espace de travail est créé, mis à jour ou supprimé    | `databaseEventTriggerSettings`  |
| **Outil IA**                     | Une fonctionnalité IA de Twenty décide d’appeler votre fonction              | `toolTriggerSettings`           |
| **Action de flux de travail**    | Une étape de flux de travail invoque votre fonction                          | `workflowActionTriggerSettings` |

Les fonctions s’exécutent dans un environnement isolé dans des processus Node.js sandboxés et accèdent à l’espace de travail via un client API typé, limité au rôle déclaré sur [`defineApplication()`](/l/fr/developers/extend/apps/config/application).

<Note>
Les **hooks au moment de l’installation** — du code qui s’exécute avant ou après l’installation — partagent ce runtime mais utilisent leurs propres fonctions define et se trouvent sous [Config → Install Hooks](/l/fr/developers/extend/apps/config/install-hooks).
</Note>
