# gt: General Translation CLI tool: gt init
URL: https://generaltranslation.com/fr/docs/cli/reference/commands/init.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Exécute l’assistant de configuration de General Translation pour configurer un projet. Référence API de la commande gt init.

`init` est la commande par défaut : exécuter `npx gt` sans commande lance `init`.

L’assistant de configuration détecte votre framework et, selon le projet, installe les dépendances, configure votre framework, crée un `gt.config.json` et génère les identifiants. Pour un guide pas à pas, consultez [Configurer le CLI](/docs/cli/guides/configuring).

```bash
npx gt init
```

## Fonctionnement [#how-it-works]

1. Détecte votre framework. Pour un projet Next.js App Router ou Mintlify, il propose à la place de connecter l’[agent IA Locadex](/docs/platform/locadex/quickstart).
2. Pour un projet basé sur React, installe éventuellement le runtime correspondant et configure le framework (expérimental). Les applications Next.js App Router reçoivent [`GTProvider`](/docs/react/reference/components/gt-provider) et `withGTConfig`. Les applications Vite reçoivent un amorçage [`initializeGTSPA`](/docs/react/reference/config#initialize-spa) qui s’exécute avant le point d’entrée de l’application existante. Les applications TanStack Start reçoivent `gt-tanstack-start`, `src/loadTranslations.ts`, [`gtMiddleware`](/docs/react/tanstack-start/reference/functions/gt-middleware) dans `src/start.ts`, [`initializeGT`](/docs/react/tanstack-start/setup#initialize) dans `src/router.tsx` et [`GTProvider`](/docs/react/reference/components/gt-provider) dans la route racine. Pour les autres applications React, seule la bibliothèque est installée.
3. Résout les paramètres régionaux par défaut et cibles, puis crée ou met à jour `gt.config.json`. `--locales` remplace la liste des paramètres régionaux configurée et `--file-formats` remplace les formats proposés par la configuration ; les autres formats et les paramètres sans rapport sont conservés. Si `gt.config.json` est invalide, la configuration s’interrompt avant toute modification. Pour le stockage local Vite ou TanStack Start, il crée également un fichier [`loadTranslations`](/docs/react/reference/functions/load-translations) et des fichiers vides pour les paramètres régionaux cibles.
4. Installe `gt` comme dépendance de développement lorsque le workflow configuré nécessite une installation persistante de la CLI. La configuration du framework Vite n’ajoute pas `gt` ; continuez à l’exécuter avec `npx gt`.
5. Peut également sélectionner ou créer un projet et provisionner une clé d’exécution de développement dans `.env.local`. La configuration ne demande une connexion que pour cette étape, avant toute modification de fichiers, et utilise une clé d’outillage explicite ou une connexion enregistrée si elle est disponible. Avec Vite ou TanStack Start en stockage local, la configuration demande s’il faut activer les traductions de développement en direct (non par défaut) ; en cas de refus, la connexion, la découverte du projet et la création de la clé sont ignorées.

*Remarque : l’étape de configuration React est expérimentale et peut ne pas fonctionner pour tous les projets. Vérifiez les modifications apportées.*

### Sélection du projet et identifiants d&#39;exécution

Si un ID de projet est déjà configuré, il est réutilisé. Sinon, l&#39;assistant liste les [projets accessibles](/docs/platform/openapi/reference/project/list-projects) pour que vous en sélectionniez un, ou propose d&#39;en créer un. Lors de la création d&#39;un projet, choisissez une organisation dans laquelle vous êtes autorisé à créer des projets. Si aucune n&#39;est disponible, créez une organisation dans le Dashboard ou demandez un accès à un administrateur. En mode interactif, le nom du projet correspond par défaut au nom du répertoire de l&#39;application ; en mode non interactif, la création requiert `--project-name`. Le projet est créé avec le paramètre régional source que vous avez sélectionné.

Sélectionner un projet existant ne nécessite pas le droit de créer des projets dans l&#39;organisation. Le provisionnement d&#39;une clé exige toutefois une autorisation d&#39;écriture sur les clés ainsi que l&#39;autorisation de déléguer la génération à l&#39;exécution. Si une clé d&#39;outillage fournie explicitement est invalide ou ne dispose pas des droits suffisants, la CLI ne se replie jamais sur la connexion.

Le provisionnement crée une seule clé, nommée `Development key (gt init)`, dotée uniquement de la portée `project:translations:generate`. Il enregistre l&#39;ID de projet et la clé de développement sans afficher le secret ni modifier une `GT_API_KEY` existante. Cette clé d&#39;exécution ne permet pas d&#39;authentifier les commandes de gestion CLI ultérieures ; utilisez votre connexion ou une clé d&#39;outillage disposant de sa propre portée. (Voir [identifiants](/docs/cli/guides/configuring#credentials)).

Le provisionnement est ignoré si des identifiants d&#39;exécution du framework existent déjà pour le même projet. Il l&#39;est également pour les configurations exclusivement côté serveur disposant d&#39;un ID de projet et d&#39;une `GT_API_KEY` ; en revanche, les frameworks qui traduisent dans le navigateur ne considèrent pas une `GT_API_KEY` sans préfixe comme une clé d&#39;exécution.

Les variables générées sont `GT_PROJECT_ID` et `GT_DEV_API_KEY`, avec les préfixes suivants pour les frameworks qui traduisent dans le navigateur :

* Next.js (App Router et Pages Router) : `NEXT_PUBLIC_`
* Vite et TanStack Start : `VITE_`
* Gatsby : `GATSBY_`
* React : `REACT_APP_`
* Redwood : `REDWOOD_ENV_`

Les autres configurations utilisent des variables sans préfixe. Les clés de développement sont réservées au développement local ; pour les identifiants de production, consultez [identifiants Next.js](/docs/react/nextjs/config#credentials). N&#39;incluez jamais de clés API dans les bundles déployés sur navigateur ou mobile.

## Options [#flags]

Les options fournissent d’avance les réponses aux questions de l’assistant : une exécution ne demande alors que ce qui reste à renseigner. Les mêmes options de configuration et d’identifiants fonctionnent avec [`gt configure`](/docs/cli/reference/commands/configure).

### Mode de configuration

| Paramètre             | Description                                                                                                                                                                                    | Type      | Facultatif | Valeur par défaut |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------- | ----------------- |
| `--no-interactive`    | Ne demande jamais de saisie. S&#39;arrête avant toute modification de fichiers et liste les options encore requises. Activé automatiquement lorsque stdin ou stdout n&#39;est pas un terminal. | `boolean` | Oui        | `false`           |
| `--json`              | Écrit les événements de connexion, de transfert et de résultat sur stdout sous forme de lignes JSON, et le reste de la sortie sur stderr. Implique `--no-interactive`.                         | `boolean` | Oui        | `false`           |
| `--defaults`          | Accepte la valeur recommandée pour chaque choix local qui n&#39;est défini ni par une option ni par `gt.config.json`. Ne crée jamais de projets ni de clés.                                    | `boolean` | Oui        | —                 |
| `--no-defaults`       | Ne propose pas les valeurs par défaut recommandées.                                                                                                                                            | `boolean` | Oui        | —                 |
| `-c, --config <path>` | Chemin du fichier de configuration.                                                                                                                                                            | `string`  | Oui        | `gt.config.json`  |

### Configuration

| Paramètre                       | Description                                                                                                                                                                                                                                                                                                                               | Type       | Facultatif | Valeur par défaut                                                |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ---------- | ---------------------------------------------------------------- |
| `--src <paths...>`              | Motifs glob correspondant au code source de l&#39;application.                                                                                                                                                                                                                                                                            | `string[]` | Oui        | [Spécifique au framework](/docs/cli/reference/config#src)        |
| `--default-locale <locale>`     | Paramètre régional par défaut, par exemple `en`.                                                                                                                                                                                                                                                                                          | `string`   | Oui        | `en` avec `--defaults`                                           |
| `--locales <locales...>`        | Paramètres régionaux cibles, par exemple `fr es`. Remplace la liste configurée.                                                                                                                                                                                                                                                           | `string[]` | Oui        | —                                                                |
| `--storage <storage>`           | Emplacement de stockage des traductions du framework : `local` ou `cdn`. `gt-vue` ne prend en charge que `local`.                                                                                                                                                                                                                         | `string`   | Oui        | `local` avec `--defaults`                                        |
| `--translations-dir <path>`     | Répertoire des fichiers de traduction locaux.                                                                                                                                                                                                                                                                                             | `string`   | Oui        | Spécifique au framework avec `--defaults`                        |
| `--file-formats <formats...>`   | `json`, `md`, `mdx`, `ts`, `js`, `yaml` ou `none`. Remplace la sélection configurée parmi ces formats ; les autres formats configurés sont conservés, avec un avertissement.                                                                                                                                                              | `string[]` | Oui        | `none` avec `--defaults` dans les projets basés sur un framework |
| `--file-patterns <patterns...>` | Motifs `<format>=<glob>` contenant `[locale]`, par exemple `json=./locales/[locale]/*.json`. Détermine le format.                                                                                                                                                                                                                         | `string[]` | Oui        | `./**/[locale]/*.<format>` avec `--defaults`                     |
| `--package-manager <id>`        | Gestionnaire de paquets à utiliser pour les installations : `npm`, `yarn_v1`, `yarn_v2`, `pnpm`, `bun` ou `deno`. La détection s&#39;appuie sur le champ `packageManager` ou `devEngines` le plus proche, le fichier de verrouillage (lockfile) ou un indicateur de workspace reconnu, en remontant jusqu&#39;à la racine Git. | `string`   | Oui        | Détecté                                                          |

### Identifiants de projet et de développement

| Paramètre               | Description                                                                                                                                                                                     | Type      | Facultatif | Valeur par défaut                                          |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------- | ---------------------------------------------------------- |
| `--dev-credentials`     | Enregistre un ID de projet et une nouvelle clé de développement dans `.env.local`. Utilisez `--no-dev-credentials` pour ignorer cette étape.                                                    | `boolean` | Oui        | —                                                          |
| `--live-translations`   | Stockage Vite ou TanStack Start local : configure les traductions de développement en direct, ce qui crée une clé de développement. Utilisez `--no-live-translations` pour ignorer cette étape. | `boolean` | Oui        | `false` avec `--defaults`                                  |
| `--project-id <id>`     | Projet existant à associer aux identifiants de développement.                                                                                                                                   | `string`  | Oui        | —                                                          |
| `--create-project`      | Crée un nouveau projet pour les identifiants de développement.                                                                                                                                  | `boolean` | Oui        | `false`                                                    |
| `--org-id <id>`         | Organisation propriétaire du nouveau projet. Nécessaire uniquement si vous avez accès à plusieurs organisations.                                                                                | `string`  | Oui        | —                                                          |
| `--project-name <name>` | Nom du nouveau projet.                                                                                                                                                                          | `string`  | Oui        | Nom du répertoire de l&#39;application, en mode interactif |

### Configuration du framework

Ces options s&#39;appliquent uniquement à `gt init`. Dans les projets `gt-vue`, `gt init` accepte les options de [`gt configure`](/docs/cli/reference/commands/configure) et ignore la configuration React.

| Paramètre                 | Description                                                                                                                                                                                                                                         | Type      | Facultatif | Valeur par défaut          |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------- | -------------------------- |
| `--locadex`               | Mintlify et Next.js App Router : confie la configuration à l&#39;agent IA Locadex via GitHub. Utilisez `--no-locadex` pour effectuer la configuration en local.                                                                                     | `boolean` | Oui        | `false` avec `--defaults`  |
| `--react-setup`           | Projets React : installe la bibliothèque et, pour Next.js App Router, Vite ou TanStack Start, ajoute sa configuration (voir [Fonctionnement](#how-it-works)). Utilisez `--no-react-setup` pour ne pas modifier le code source de l&#39;application. | `boolean` | Oui        | `true` avec `--defaults`   |
| `--framework <framework>` | Framework React utilisé par `--react-setup`. Remplace la détection automatique.                                                                                                                                                                     | `string`  | Oui        | Détecté, avec `--defaults` |
| `--format`                | Next.js App Router : formate les fichiers modifiés par la configuration à l&#39;aide du formateur détecté. Utilisez `--no-format` pour ignorer cette étape.                                                                                         | `boolean` | Oui        | `true` avec `--defaults`   |

## Exécutions non interactives [#headless]

Une exécution non interactive résout chaque réponse à partir de son option, puis de `gt.config.json`, puis de la valeur recommandée lorsque `--defaults` est défini. S&#39;il manque encore une réponse, elle s&#39;arrête avant de modifier les fichiers et liste les options à transmettre. Les identifiants de développement ne sont jamais créés par défaut. Pour le stockage local avec Vite et TanStack Start, transmettez `--live-translations` avec un ID de projet ou `--create-project --project-name <name>`, ou bien `--no-live-translations`. Pour les autres configurations, utilisez `--dev-credentials` ou `--no-dev-credentials`. Ne combinez pas les familles d&#39;options `--[no-]live-translations` et `--[no-]dev-credentials` : la CLI rejette toute combinaison des deux avant de modifier les fichiers. Si des identifiants d&#39;exécution existent déjà pour le projet, cette étape est ignorée.

La configuration ne déclenche la connexion que si elle doit provisionner des identifiants et ne dispose ni d&#39;une clé d&#39;outillage ni d&#39;une connexion enregistrée. En l&#39;absence de terminal, la connexion s&#39;effectue au moyen d&#39;un code d&#39;appareil et attend qu&#39;une personne l&#39;approuve ; aucun navigateur n&#39;est ouvert. Avec `--json`, la commande écrit un objet JSON par ligne, identifié par son champ `type` :

* `authorization_required` — `verificationUri`, `userCode` et, s&#39;il est disponible, `verificationUriComplete`.
* `handoff` — l&#39;`url` GitHub de Locadex, avec `reason: "locadex"`.
* `result` — `command`, `outcome` (`success`, `needs_human_action` ou `failed`), `completedSteps` et, le cas échéant, `url`, `actions` pour les actions manuelles à effectuer, `missingOptions` et `error`.

`completedSteps` omet `gt.config.json` et les fichiers de loader de traductions générés lorsqu&#39;ils n&#39;ont pas été modifiés. Lorsque l&#39;un de ces fichiers change, l&#39;étape indique s&#39;il a été créé ou mis à jour.

## Exemple [#example]

```bash
# Lancer l'assistant de configuration complet
npx gt init

# Exécuter gt sans commande produit le même résultat
npx gt

# Configuration locale non interactive : ni nouveau projet, ni clé de développement
npx gt init --no-interactive --defaults --locales fr es --no-dev-credentials --json
```

## Autres remarques [#notes]

* `init` partage avec [`gt configure`](/docs/cli/reference/commands/configure) les mêmes étapes de configuration, de loader, d’installation de la CLI et d’identifiants, et y ajoute l’étape expérimentale de configuration pour React. Il n’exécute pas [`gt setup`](/docs/cli/reference/commands/setup), qui téléverse vos fichiers source.
* Dans un monorepo, exécutez `init` depuis le répertoire de l’application concernée. La commande s’arrête sans modifier de fichiers à la racine d’un workspace contenant `pnpm-workspace.yaml` ou un champ `workspaces`, sauf si celui-ci ne liste que l’application elle-même.
* La configuration automatique n’est pas disponible pour les applications Electron.
* La clé API et l’ID de projet ne sont pas nécessaires pour utiliser `gt-react` ou `gt-next` — ils sont uniquement requis pour appeler l’API de General Translation.
* Si la configuration expérimentale de React ne fonctionne pas pour votre projet, configurez-la manuellement à l’aide de la [documentation React](/docs/react/react-quickstart).
* Git doit être installé pour le provisionnement des identifiants de développement. Veillez à ce que `.env.local` ne soit pas suivi et soit ignoré par Git, et utilisez la configuration Git habituelle de votre dépôt. Init refuse les emplacements de fichiers non sûrs et les surcharges de configuration Git. Un lien symbolique doit pointer vers un fichier ordinaire existant qui respecte les mêmes exigences de sécurité. Les variables d’environnement existantes sans rapport sont préservées.
* N’exécutez qu’une seule commande de configuration à la fois. Si `.env.local` ne peut pas être mis à jour, notamment en raison d’affectations multilignes non prises en charge, des projets ou des clés nouvellement créés peuvent subsister. Les modifications de configuration et de dépendances effectuées auparavant ne sont pas annulées.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
