Production et développement

Différences entre les environnements de production et de développement

Vue d’ensemble

gt-next se comporte différemment selon l’environnement d’exécution de votre application Next.js.

Il détermine l’environnement en vérifiant la variable d’environnement NODE_ENV.

Comportement en production

Variables d’environnement

En production, gt-next ne lira que les variables d’environnement GT_PROJECT_ID et GT_API_KEY.

La clé d’API doit être une clé d’API de production, commençant par gtx-api-.

Si vous utilisez une clé d’API de développement, gt-next générera une erreur.

Comportement de chargement des traductions

En production, gt-next tentera par défaut de charger les traductions depuis le CDN (réseau de diffusion de contenu) de General Translation.

Si vous avez configuré un comportement personnalisé de chargement des traductions, par exemple des traductions locales, via la fonction loadTranslations, gt-next l’utilisera à la place.

Le rechargement à chaud des traductions est désactivé en production.

La traduction à la demande pour le contenu dynamique à l’aide du composant <Tx> ou de la fonction tx est activée, mais uniquement dans les composants serveur.

Comportement en environnement de développement

Variables d’environnement

gt-next accepte les variables d’environnement GT_PROJECT_ID et GT_API_KEY.

La clé d’API peut être une clé de production, commençant par gtx-api-, ou une clé de développement, commençant par gtx-dev-.

Si une clé d’API de production est fournie en développement, gt-next se comportera comme en production. Cela signifie que le rechargement à chaud des traductions sera désactivé et que les composants sans traduction afficheront le contenu d’origine.

Comportement de chargement des traductions

En développement, gt-next 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, <T> ou useTranslations) dans une langue différente de la langue par défaut, gt-next procède comme suit :

  1. S’il détecte une traduction valide déjà enregistrée pour le contenu concerné, il rend cette traduction.
  2. Si aucune traduction n’est trouvée, il tente de traduire dynamiquement le contenu via la General Translation API.
  3. Une fois la traduction effectuée, elle est rendue et stockée en mémoire pour un usage ultérieur.
  4. En cas de dépassement de délai, il bascule en mode de secours et rend le contenu d’origine.

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 demandée à nouveau, elle sera servie depuis le cache.

Ces traductions sont isolées au niveau du projet ; elles ne seront donc pas mélangées avec celles d’autres projets. De plus, le cache est propre aux sessions de développement ; les traductions mises en cache ne seront donc pas utilisées en production.

gt-next détecte les modifications apportées aux composants qui utilisent useGT, <T> ou useTranslations, et traduit dynamiquement le contenu modifié via notre API.

API Keys de production et de développement

Pour distinguer le comportement de gt-next en production et en développement, nous utilisons les notions d’« API Keys de production » et d’« API Keys de développement ».

Clés d’API de production

Les clés d’API de production sont des clés d’API qui commencent par gtx-api-.

Lorsqu’une clé d’API de production est fournie, gt-next se comporte comme décrit dans la section Comportement en production.

Autrement dit, si vous exécutez votre application Next.js en mode développement et que vous fournissez une clé d’API de production, gt-next se comportera comme en production. Le rechargement à chaud des traductions sera désactivé et les composants dépourvus de traductions afficheront le contenu d’origine.

En dehors de ce comportement, gt-next n’utilisera la clé d’API de production d’aucune autre manière.

L’outil CLI lit la variable d’environnement GT_API_KEY et n’accepte que les clés d’API de production.

L’outil CLI appliquera la facturation et la limitation de débit en utilisant la catégorie « production ».

API Keys de développement

Les API Keys de développement sont des clés d’API commençant par gtx-dev-.

Lorsqu’une clé d’API de développement est fournie, gt-next se comportera comme décrit dans la section Comportement en développement.

Lors de l’utilisation d’une clé d’API de développement, la facturation et la limitation de débit seront appliquées sous la catégorie « development ».

Les traductions créées avec une clé d’API de développement ne seront pas stockées et ne seront pas disponibles pour une utilisation en production.

Les traductions de développement ont pour but de vous permettre de tester votre application avant son déploiement en production.

Comment trouvez-vous ce guide ?