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 dans lequel votre application Next.js s’exécute.

Il détecte 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 lèvera une Error.

Comportement de chargement des traductions

En production, gt-next tente par défaut de charger les traductions depuis le CDN de General Translation.

Si vous avez configuré un chargement personnalisé des traductions (par exemple des traductions locales) via la fonction loadTranslations, gt-next utilisera cette configuration à 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 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à stockée pour le contenu concerné, il affiche cette traduction.
  2. Si aucune traduction n’est trouvée, il tente de traduire dynamiquement le contenu via la General Translation API.
  3. Après traduction, la traduction est affichée et stockée en mémoire pour une utilisation ultérieure.
  4. En cas de dépassement de délai, il passera en mode de secours et affichera le contenu original.

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 redemandée, 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, de sorte que les traductions mises en cache ne seront pas utilisées en production.

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

API Keys de production vs de développement

Pour distinguer plus clairement 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 commençant 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.

Cela signifie que 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 si vous étiez 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-next n’utilisera pas la clé d’API de production.

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 clés d’API 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.

Avec une clé d’API de développement, la facturation et la limitation de débit seront appliquées selon 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 en production.

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

Que pensez-vous de ce guide ?

Production et développement