# gt: General Translation CLI tool: Envoyer
URL: https://generaltranslation.com/fr/docs/cli/upload.mdx
---
title: Envoyer
description: Comment envoyer les fichiers source et les traductions sur la plateforme General Translation
---
## Utilisation
```bash
npx gt upload
```
**Remarque :** Cette commande nécessite une clé API de production ! Vous pouvez en obtenir une sur la
[plateforme](https://generaltranslation.com/dashboard).
## Vue d’ensemble
La commande `gt upload` envoie les fichiers source de votre projet ainsi que les traductions existantes vers la plateforme General Translation. Elle synchronise ainsi vos fichiers locaux avec la plateforme afin qu’ils puissent être gérés, mis en file d’attente pour traduction et suivis.
Le workflow typique pour des pipelines CI/CD séparés est le suivant :
1. **`gt upload`** — envoyer les fichiers source vers la plateforme General Translation
2. [`gt enqueue`](/docs/cli/enqueue) — mettre en file d’attente les fichiers envoyés pour traduction
3. [`gt download`](/docs/cli/download) — télécharger les traductions terminées
**Pour une utilisation en production uniquement !**
Cette commande est destinée aux builds de production et **ne doit pas être utilisée en développement**.
N’oubliez pas de définir votre clé API de production (`GT_API_KEY`) et l’ID du projet (`GT_PROJECT_ID`) dans vos variables d’environnement.
## Fonctionnement
1. Lit votre `gt.config.json` pour déterminer quels fichiers envoyer
2. Rassemble tous les fichiers source traduisibles (JSON, YAML, Markdown, MDX, etc.)
3. Calcule le hachage de chaque fichier pour générer un `fileId` (basé sur le chemin) et un `versionId` (basé sur le contenu)
4. Interroge l'API de General Translation pour déterminer quels fichiers sont nouveaux ou modifiés
5. Détecte les fichiers déplacés (même contenu, chemin différent) et conserve les traductions existantes
6. Envoie à la plateforme les nouveaux fichiers source et ceux qui ont été modifiés
7. Si des fichiers de traduction existants sont trouvés localement, les envoie également
## Options
La commande `upload` accepte les mêmes options que [`translate`](/docs/cli/translate#flags).
| Paramètre | Description | Type | Facultatif | Par défaut |
| ---------------------------- | --------------------------------------------------------------- | ---------- | ---------- | ------------------ |
| `--api-key` | Indique une clé API de production | `string` | `true` | |
| `--project-id` | Indique l’ID du projet | `string` | `true` | |
| `--version-id` | Indique un ID de version (par défaut, un hash du contenu) | `string` | `true` | |
| `--config ` | Indique le chemin vers le fichier de configuration GT | `string` | `true` | `"gt.config.json"` |
| `--new, --locales ` | Paramètres régionaux cibles dans lesquels traduire votre projet | `[string]` | `true` | |
| `--default-locale ` | Le paramètre régional source du projet | `string` | `true` | `en` |
| `--dry-run` | Exécute la commande à blanc | `flag` | `true` | `false` |
| `--timeout` | Le délai d’expiration de la requête, en secondes | `number` | `true` | `600` |
## Exemple : pipeline CI scindé
```bash
# Étape 1 : envoyer des fichiers source
npx gt upload
# Étape 2 : mise en file d'attente des traductions
npx gt enqueue
# Étape 3 : téléchargement une fois prêt
npx gt download
```