# react-native: Production et développement URL: https://generaltranslation.com/fr/docs/react-native/concepts/environments.mdx --- title: Production et développement description: Différences entre les environnements de production et de développement --- {/* GÉNÉRÉ AUTOMATIQUEMENT : ne modifiez pas directement. Modifiez plutôt le modèle dans content/docs-templates/. */} ## Vue d’ensemble `gt-react-native` se comporte différemment selon l’environnement dans lequel votre application React s’exécute. Il détecte cet environnement en vérifiant la variable d’environnement `NODE_ENV`. ## Comportement en production ### Variables d’environnement En production, la seule variable d’environnement acceptée est `GT_PROJECT_ID` (ou une version avec préfixe, comme `NEXT_PUBLIC_GT_PROJECT_ID`). Si une clé API est fournie via une variable d’environnement, `gt-react-native` renverra une erreur. Cela permet d’éviter que des clés API soient exposées côté client. ### Comportement de chargement des traductions En production, le provider `gt-react-native` tente par défaut de charger les traductions depuis le CDN de General Translation. Si vous avez configuré un comportement de chargement personnalisé, par exemple des traductions locales, via la fonction `loadTranslations`, `gt-react-native` l’utilisera à la place. Le rechargement à chaud des traductions est désactivé en production. ## comportement en développement ### Variables d’environnement Comme le développement est local et n’est pas exposé à des utilisateurs étrangers, `gt-react-native` accepte toutes les variables d’environnement de General Translation, même si elles sont préfixées par `NEXT_PUBLIC_`, `VITE_` (ou équivalent). ### Comportement du chargement des traductions En développement, le provider `gt-react-native` tente d’abord de charger les traductions de la même manière qu’en production. Ces traductions sont chargées en mémoire. Lors du rendu d’un composant (qui utilise `useGT`, `` ou `useTranslations`) dans une langue différente de la langue par défaut, le provider `gt-react-native` fait ce qui suit : 1. S’il détecte une traduction valide déjà stockée pour le contenu donné, il affiche la traduction. 2. Si aucune traduction n’est trouvée, il tente de traduire dynamiquement le contenu via l’API de General Translation. 3. Une fois la traduction effectuée, elle est affichée et stockée en mémoire pour une utilisation ultérieure. 4. Si la traduction dépasse le délai imparti, le contenu d’origine est affiché à la place. Notre API met également en cache, en interne, les traductions de développement pendant une courte période. Ainsi, si la même traduction est de nouveau demandée, elle sera renvoyée depuis le cache. Ces traductions sont isolées au niveau du projet ; elles ne seront donc pas mélangées avec les traductions d’autres projets. De plus, le cache est propre aux sessions de développement, donc les traductions mises en cache ne seront pas utilisées en production. `gt-react-native` détecte les modifications apportées aux composants qui utilisent `useGT`, `` ou `useTranslations`, puis traduit dynamiquement le contenu modifié via notre API. ## Clés API de production ou de développement [#api-keys] Pour distinguer plus facilement le comportement de `gt-react-native` en production et en développement, nous utilisons les notions de « clés API de production » et de « clés API de développement ». ### Clés API de production Les clés API de production sont des clés API qui commencent par `gtx-api-`. Lorsqu'une clé API de production est fournie, `gt-react-native` se comporte comme décrit dans la section [Comportement en production](#production-behavior). Autrement dit, si vous exécutez votre application React en mode développement et que vous fournissez une clé API de production, `gt-react-native` se comportera comme en production. Le rechargement à chaud des traductions sera désactivé, et les composants sans traduction afficheront le contenu d'origine. En dehors de ce comportement, `gt-react-native` n'utilisera pas la clé API de production d'une autre manière. Si nous vous demandons de créer une clé API de production distincte pour la mise en production, c'est parce que l'outil CLI n'accède qu'aux clés API de production. L'outil CLI appliquera la facturation et la limitation du débit dans la catégorie "production". ### Clés API de développement Les clés API de développement sont des clés API qui commencent par `gtx-dev-`. Lorsqu’une clé API de développement est fournie, `gt-react-native` se comporte comme indiqué dans la section [Comportement en développement](#development-behavior). Lorsque vous utilisez une clé API de développement, la facturation et la limitation du débit s’appliquent dans la catégorie "development". Les traductions créées avec une clé API de développement ne seront pas stockées et ne pourront pas être utilisées en production. Les traductions de développement ont pour but de vous permettre de tester votre application avant sa mise en production.