i18n - docs translations (#22715)

Created by Github action

<!-- This is an auto-generated description by cubic. -->
<a
href="https://cubic.dev/pr/twentyhq/twenty/pull/22715?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>
<!-- End of auto-generated description by cubic. -->

Co-authored-by: github-actions <github-actions@twenty.com>
This commit is contained in:
github-actions[bot]
2026-07-09 11:51:54 +02:00
committed by GitHub
parent a0cf4cc9e1
commit ebee7d71b9
228 changed files with 4216 additions and 4583 deletions
@@ -14,26 +14,39 @@ my-twenty-app/
default-role.ts # Permissions for logic functions
constants/
universal-identifiers.ts # Auto-generated UUIDs and metadata
front-components/
main-page.tsx # Welcome page component
navigation-menu-items/
main-page.navigation-menu-item.ts # Sidebar entry for the welcome page
page-layouts/
main-page.page-layout.ts # Standalone page hosting the component
__tests__/
setup-test.ts
app-install.integration-test.ts
.github/workflows/ci.yml # GitHub Actions
public/ # Static assets
vitest.config.ts # Test runner config
application-config.test.ts # Unit test
global-setup.ts # Integration test setup (sync + uninstall)
schema.integration-test.ts # Integration test against a live server
.github/workflows/
ci.yml # Lint, typecheck, unit + integration tests
cd.yml # Deploy + install on push to main
public/
logo.svg # Static assets
vitest.config.ts # Integration test runner config
vitest.unit.config.ts # Unit test runner config
tsconfig.json, tsconfig.spec.json
.nvmrc, .yarnrc.yml, .oxlintrc.json
README.md, LLMS.md
README.md, AGENTS.md, CLAUDE.md
```
## Fichiers clés
| Fichier / Dossier | Objectif |
| ---------------------------------------- | -------------------------------------------------------------------------------------------- |
| `src/application-config.ts` | **Requis.** Le fichier de configuration principal de votre application. |
| `src/default-role.ts` | Rôle par défaut qui contrôle ce à quoi vos fonctions de logique peuvent accéder. |
| `src/constants/universal-identifiers.ts` | UUID générés automatiquement et métadonnées de lapplication (nom daffichage, description). |
| `src/__tests__/` | Tests dintégration (configuration + test dexemple). |
| `public/` | Ressources statiques (images, polices) servies avec votre application. |
| Fichier / Dossier | Objectif |
| -------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `src/application-config.ts` | **Requis.** Le fichier de configuration principal de votre application. |
| `src/default-role.ts` | Rôle par défaut qui contrôle ce à quoi vos fonctions de logique peuvent accéder. |
| `src/constants/universal-identifiers.ts` | UUID générés automatiquement et métadonnées de lapplication (nom daffichage, description). |
| `src/front-components/`, `src/navigation-menu-items/`, `src/page-layouts/` | Une page daccueil de démarrage : un composant frontal rendu par une mise en page de page autonome, accessible depuis la barre latérale. |
| `src/__tests__/` | Un test unitaire plus un test dintégration (avec sa configuration globale) qui synchronise lapplication avec un serveur réel. |
| `public/` | Ressources statiques (images, polices) servies avec votre application. |
| `AGENTS.md` / `CLAUDE.md` | Consignes pour les agents d’écriture de code IA qui travaillent sur lapplication. |
<Note>
**Lorganisation des fichiers vous revient.** Les dossiers ci-dessus sont des conventions — le SDK détecte les entités via une analyse AST sur les appels à `export default defineEntity(...)` quel que soit lemplacement du fichier.
@@ -47,15 +60,18 @@ Les deux packages du SDK Twenty doivent être placés dans `devDependencies`, et
{
"dependencies": {},
"devDependencies": {
"twenty-client-sdk": "^2.13.0",
"twenty-sdk": "^2.13.0"
"twenty-client-sdk": "2.20.0",
"twenty-sdk": "2.20.0",
"twenty-ui": "1.0.0-alpha.1"
}
}
```
Le générateur de projet fige `twenty-sdk` et `twenty-client-sdk` sur sa propre version — gardez les deux synchronisés lors de la mise à niveau.
* **`twenty-sdk`** fournit le CLI `twenty` ainsi que les outils de build et de scaffolding. Il ne sexécute quau moment du développement et du build et nest jamais importé par le runtime de lapplication que vous publiez.
* **`twenty-client-sdk`** *est* importé par le code de votre application (`CoreApiClient`, `MetadataApiClient`, `RestApiClient`), mais Twenty le fournit au moment de lexécution : les fonctions de logique lobtiennent à partir dune couche SDK générée, et les composants front le résolvent à partir de modules servis par le serveur. La copie que vous avez installée est uniquement utilisée pour la vérification de type et le build au moment du déploiement, elle na donc jamais besoin d’être incluse dans le bundle déployé.
Conserver lun ou lautre package dans `dependencies` lintègre dans le bundle runtime de lapplication installée, où il ne fait que lalourdir inutilement. `twenty build` émet un avertissement lorsque lun ou lautre est encore répertorié dans `dependencies`.
Conserver lun ou lautre package dans `dependencies` lintègre dans le bundle runtime de lapplication installée, où il ne fait que lalourdir inutilement. `twenty dev:build` émet un avertissement lorsque lun ou lautre est encore répertorié dans `dependencies`.
Ajoutez les dépendances runtime propres à votre application (les bibliothèques que vos fonctions logiques importent réellement à lexécution) dans `dependencies` comme dhabitude.
@@ -6,17 +6,17 @@ description: Créez votre première application Twenty en quelques minutes.
## Prérequis
* **Node.js 24+** — [Télécharger](https://nodejs.org/)
* **Node.js 24.5+** — [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 | 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 docker:start` | 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 |
---
@@ -28,7 +28,7 @@ Créez une nouvelle application à partir du modèle :
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.
Le générateur est non interactif : le nom du répertoire devient le nom de lapplication. Passez `--display-name` et `--description` pour personnaliser les métadonnées générées (vous pouvez également les modifier plus tard dans `src/constants/universal-identifiers.ts`). 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, des workflows CI/CD 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.
@@ -38,28 +38,14 @@ On vous demandera un nom et une description — appuyez sur **Entrée** pour uti
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 :
Le générateur de projet en crée un pour vous : avec Docker en cours dexécution, il récupère limage `twentycrm/twenty-app-dev`, la démarre sur le port `2020`, et authentifie le CLI auprès de lespace de travail de démonstration prérempli (`tim@apple.dev`) — aucune connexion requise.
> **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`
Pour vous connecter à un serveur Twenty existant à la place, passez `--url \<your-server-url>`. Les serveurs distants sauthentifient avec OAuth : un navigateur souvre pour que vous puissiez vous connecter et cliquer sur **Authorize**, ce qui donne au CLI laccès à votre espace de travail. (Vous pouvez aussi choisir OAuth en local avec `--authentication-method oauth` — connectez-vous avec `tim@apple.dev` / `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>
@@ -117,27 +103,31 @@ Cliquez sur **View installed app** pour voir linstallation dans lespace de
### 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 :
Utilisez `plan` et `apply` pour exécuter une fois le même pipeline, sans surveillance :
```bash filename="Terminal"
yarn twenty dev --once
yarn twenty plan # preview the metadata changes without applying them
yarn twenty apply # show the plan, then apply it
```
| 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. |
| 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 apply` | Une seule opération de build + synchronisation, se termine avec le code `0` en cas de réussite et `1` en cas d’échec. Demande une confirmation pour les modifications destructrices (passez `--force` pour lignorer). | CI, hooks de pré-commit, agents IA et flux de travail scriptés. |
| `yarn twenty plan` | 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`.
Tous les modes nécessitent un serveur distant authentifié. Voir [synchronisation et récupération](/l/fr/developers/extend/apps/operations/sync-and-recovery#previewing-changes-plan) pour plus dinformations sur `plan`.
<Note>
`yarn twenty dev --once` et `yarn twenty dev --once --dry-run` sont des alias obsolètes pour `yarn twenty apply` et `yarn twenty plan`.
</Note>
### 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`). |
| `--force` | Applique les modifications destructrices (suppressions) sans confirmation. |
| `--debounceMs \<ms>` | Définir le délai de temporisation des modifications de fichiers en millisecondes (valeur par défaut : `1000`). |
| `--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
@@ -34,6 +34,10 @@ yarn twenty dev:add frontComponent
| Vue | `yarn twenty dev:add view` | `src/views/\<name>.ts` |
| Élément de menu de navigation | `yarn twenty dev:add navigationMenuItem` | `src/navigation-menu-items/\<name>.ts` |
| Mise en page | `yarn twenty dev:add pageLayout` | `src/page-layouts/\<name>.ts` |
| Onglet Mise en page | `yarn twenty dev:add pageLayoutTab` | `src/page-layout-tabs/\<name>.ts` |
| Élément du menu de commande | `yarn twenty dev:add commandMenuItem` | `src/command-menu-items/\<name>.ts` |
| Champ de vue | `yarn twenty dev:add viewField` | `src/view-fields/\<name>.ts` |
| Fournisseur de connexion | `yarn twenty dev:add connectionProvider` | `src/connection-providers/\<name>.ts` |
## Ce que génère l'outil de génération
@@ -5,10 +5,10 @@ icon: wrench
---
* **Erreurs Docker** — Assurez-vous que Docker Desktop (ou le démon) est en cours dexécution avant `yarn twenty docker:start`. Le message derreur indiquera la bonne commande de démarrage pour votre système dexploitation.
* **Mauvaise version de Node** — la version 24+ est requise. Vérifiez avec `node -v`.
* **Mauvaise version de Node** — Version 24.5+ requise (`engines.node: ^24.5.0`). Vérifiez avec `node -v`.
* **Yarn 4 manquant** — Exécutez `corepack enable`.
* **Dépendances cassées** — `rm -rf node_modules && yarn install`.
* **Erreurs de `twenty-sdk` après la mise à niveau vers la v2.8.0** — il est passé de `dependencies` à `devDependencies` dans la v2.8.0. Voir [Structure du projet → Dépendances](/l/fr/developers/extend/apps/getting-started/project-structure#dependencies).
* **`twenty build` avertit au sujet de `twenty-client-sdk` dans `dependencies`** — il est fourni au moment de lexécution par Twenty, donc il devrait être déplacé vers `devDependencies` avec `twenty-sdk`. Voir [Structure du projet → Dépendances](/l/fr/developers/extend/apps/getting-started/project-structure#dependencies).
* **`twenty dev:build` avertit au sujet de `twenty-client-sdk` dans `dependencies`** — il est fourni au moment de l'exécution par Twenty, donc il devrait être déplacé vers `devDependencies` avec `twenty-sdk`. Voir [Structure du projet → Dépendances](/l/fr/developers/extend/apps/getting-started/project-structure#dependencies).
Bloqué ? Demandez de laide sur le [Discord de Twenty](https://discord.com/channels/1130383047699738754/1130386664812982322).