Files
twenty/packages/twenty-docs/l/fr/developers/extend/apps/getting-started/quick-start.mdx
T
github-actions[bot] 2b3b2362db i18n - docs translations (#21789)
Created by Github action

Co-authored-by: github-actions <github-actions@twenty.com>
2026-06-18 15:21:04 +02:00

177 lines
12 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Démarrage rapide
icon: rocket
description: Créez votre première application Twenty en quelques minutes.
---
## Prérequis
* **Node.js 24+** — [Télécharger](https://nodejs.org/)
* **Yarn 4** — fourni avec Node.js via Corepack. Activez-le : `corepack enable`
* **Docker** — [Télécharger](https://www.docker.com/products/docker-desktop/). Nécessaire pour exécuter un serveur Twenty local. Ignorez si vous avez déjà Twenty en cours dexécution ailleurs.
La création dune application Twenty comporte trois phases. Le générateur les regroupe en une seule commande pour le parcours idéal, mais chaque phase est un concept distinct — en cas d’échec, savoir dans quelle phase vous vous trouvez indique ce quil faut corriger.
| Phase | Ce que vous faites | Outil | Résultat |
| -------------------------- | ------------------------------------------------------ | ----------------------------- | ----------------------------------------------------------- |
| **1. Génération** | Générer le code source de lapplication | `npx create-twenty-app` | Un projet TypeScript sur le disque |
| **2. Exécuter un serveur** | Démarrer un serveur Twenty vers lequel se synchroniser | Docker + `yarn twenty server` | Une instance Twenty en cours dexécution |
| **3. Synchroniser** | Synchroniser en direct votre code avec le serveur | `yarn twenty dev` | Vos modifications apparaissent dans linterface utilisateur |
---
## Phase 1 — Générez le squelette de votre projet
Créez une nouvelle application à partir du modèle :
```bash filename="Terminal"
npx create-twenty-app@latest my-twenty-app
```
On vous demandera un nom et une description — appuyez sur **Entrée** pour utiliser les valeurs par défaut. Cela génère un projet TypeScript dans `my-twenty-app/` avec un fichier de démarrage `application-config.ts`, un rôle par défaut, un workflow CI et un test dintégration.
**Après cette phase :** vous disposez du code source dune application sur votre machine. Elle ne sexécute pas encore — cest la phase 2.
---
## Phase 2 — Exécuter un serveur Twenty local
Votre application a besoin dun serveur Twenty vers lequel se synchroniser. Le serveur est une instance Twenty complète — interface utilisateur, API GraphQL, PostgreSQL — exécutée localement dans Docker. Votre code local envoie ses définitions à ce serveur, qui les fait apparaître dans linterface utilisateur.
Le générateur propose den démarrer un pour vous :
> **Souhaitez-vous configurer une instance locale de Twenty ?**
* **Oui (recommandé)** — récupère limage Docker `twentycrm/twenty-app-dev` et la démarre sur le port `2020`. Assurez-vous dabord que Docker est en cours dexécution.
* **Non** — choisissez cette option si vous avez déjà un serveur Twenty auquel vous souhaitez vous connecter. Vous pourrez le connecter plus tard avec `yarn twenty remote:add`.
<div style={{textAlign: 'center'}}>
<img src="/images/docs/developers/extends/apps/start-instance.png" alt="Faut-il démarrer linstance locale ?" />
</div>
Une fois le serveur démarré, un navigateur souvre pour la connexion. Utilisez le compte de démonstration prérempli :
* **E-mail :** `tim@apple.dev`
* **Mot de passe :** `tim@apple.dev`
<div style={{textAlign: 'center'}}>
<img src="/images/docs/developers/extends/apps/login.png" alt="Écran de connexion Twenty" />
</div>
Cliquez sur **Authorize** sur l’écran suivant — cela donne à la CLI laccès à votre espace de travail.
<div style={{textAlign: 'center'}}>
<img src="/images/docs/developers/extends/apps/authorize.png" alt="Écran dautorisation de la CLI Twenty" />
</div>
Votre terminal confirmera que tout est configuré.
<div style={{textAlign: 'center'}}>
<img src="/images/docs/developers/extends/apps/scaffolded.png" alt="Application initialisée avec succès" />
</div>
**Après cette phase :** vous disposez dun serveur Twenty en cours dexécution sur [http://localhost:2020](http://localhost:2020) avec votre CLI autorisée à sy synchroniser.
<Note>
Si Docker nest pas installé ou en cours dexécution, le générateur vous indiquera la bonne commande de démarrage pour votre système dexploitation. Une fois Docker lancé, vous pouvez reprendre avec `yarn twenty docker:start` — pas besoin de régénérer le squelette.
</Note>
---
## Phase 3 — Synchroniser vos modifications
Cest la boucle interne dans laquelle vous passerez la plupart de votre temps.
```bash filename="Terminal"
cd my-twenty-app
yarn twenty dev
```
Cela surveille `src/`, reconstruit à chaque modification et synchronise le résultat avec le serveur. Modifiez un fichier, enregistrez, et en quelques secondes le serveur reflète la modification. Vous verrez un panneau d’état en direct dans votre terminal.
Pour une sortie plus détaillée (journaux de build, requêtes de synchronisation, traces derreurs), ajoutez `--verbose`.
<div style={{textAlign: 'center'}}>
<img src="/images/docs/developers/extends/apps/dev.png" alt="Sortie du terminal en mode dev" />
</div>
Ouvrez [http://localhost:2020/settings/applications#developer](http://localhost:2020/settings/applications#developer). Vous devriez voir votre application sous **Your Apps**.
<div style={{textAlign: 'center'}}>
<img src="/images/docs/developers/extends/apps/app-in-ui-1.png" alt="La liste Your Apps affichant My twenty app" />
</div>
Cliquez sur **My twenty app** pour voir son **application registration** — un enregistrement au niveau du serveur décrivant votre application (nom, identifiant, informations didentification OAuth, source). Un même enregistrement peut être installé dans plusieurs espaces de travail sur le même serveur.
<div style={{textAlign: 'center'}}>
<img src="/images/docs/developers/extends/apps/app-in-ui-2.png" alt="Détails de lenregistrement dapplication" />
</div>
Cliquez sur **View installed app** pour voir linstallation dans lespace de travail. Longlet **About** affiche la version et les options de gestion.
<div style={{textAlign: 'center'}}>
<img src="/images/docs/developers/extends/apps/app-in-ui-3.png" alt="Application installée" />
</div>
**Après cette phase :** vous disposez dune boucle de développement en direct. Modifiez nimporte quel fichier dans `src/` et il apparaît dans linterface utilisateur.
### Synchronisation ponctuelle pour la CI et les scripts
Passez `--once` pour exécuter une seule opération de build + synchronisation puis quitter — même pipeline, pas de watcher :
```bash filename="Terminal"
yarn twenty dev --once
```
| Commande | Comportement | Quand l'utiliser : |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| `yarn twenty dev` | Surveille et resynchronise à chaque modification. Reste en cours dexécution jusqu’à ce que vous larrêtiez. | Développement local interactif. |
| `yarn twenty dev --once` | Une seule opération de build + synchronisation, se termine avec le code `0` en cas de réussite et `1` en cas d’échec. | CI, hooks de pré-commit, agents IA et flux de travail scriptés. |
| `yarn twenty dev --once --dry-run` | Construit et affiche les modifications de métadonnées **sans les appliquer**. | Inspection de ce quune synchronisation changerait avant de sy engager. |
Les deux modes nécessitent un serveur distant authentifié. Voir [synchronisation et récupération](/l/fr/developers/extend/apps/operations/sync-and-recovery#previewing-changes-dry-run) pour plus dinformations sur `--dry-run`.
### Options du mode de développement
| Option | Description |
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `--once` | Construire et synchroniser une fois, puis quitter. |
| `--dry-run` | Avec `--once`, prévisualisez les modifications de métadonnées sans les appliquer. N’écrit rien. |
| `--debounceMs \<ms>` | Définir le délai de temporisation des modifications de fichiers en millisecondes (valeur par défaut : `2000`). |
| `--verbose` / `--debug` | Afficher des journaux de build détaillés, les requêtes de synchronisation et les traces derreur. |
## Ce que vous pouvez créer
Les applications sont composées d**entités** — chacune définie comme un fichier TypeScript avec un seul `export default` :
| Entité | Ce que cela fait |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Objets et champs** | Modèles de données personnalisés (carte postale, facture, etc.) avec des champs typés |
| **Fonctions logiques** | Fonctions TypeScript côté serveur déclenchées par des routes HTTP, des tâches cron ou des événements de base de données |
| **Composants dinterface utilisateur (UI)** | Composants React qui saffichent dans linterface de Twenty (panneau latéral, widgets, menu de commandes) |
| **Compétences et agents** | Fonctionnalités dIA — instructions réutilisables et assistants autonomes |
| **Vues et navigation** | Vues de liste préconfigurées et éléments de menu de la barre latérale |
| **Mises en page** | Pages de détail denregistrement personnalisées avec des onglets et des widgets |
Référence complète : [Concepts](/l/fr/developers/extend/apps/getting-started/concepts).
## Prochaines étapes
<CardGroup cols={2}>
<Card title="Configuration" icon="screwdriver-wrench" href="/l/fr/developers/extend/apps/config/overview">
Identité de lapplication, rôle par défaut, hooks dinstallation, ressources publiques.
</Card>
<Card title="Données" icon="database" href="/l/fr/developers/extend/apps/data/overview">
Objets, champs et relations bidirectionnelles.
</Card>
<Card title="Logique" icon="bolt" href="/l/fr/developers/extend/apps/logic/overview">
Fonctions logiques, compétences, agents et connexions OAuth.
</Card>
<Card title="Disposition" icon="table-columns" href="/l/fr/developers/extend/apps/layout/overview">
Vues, navigation, mises en page, composants front-end.
</Card>
<Card title="Opérations" icon="rocket" href="/l/fr/developers/extend/apps/operations/overview">
CLI, tests, dépôts distants, CI et publication de votre application.
</Card>
</CardGroup>