Skip to main content
La couche de configuration d’une application Twenty est ce qui décrit l’application à la plateforme — son identité, les autorisations qu’elle détient et le code qui s’exécute lors de l’installation ou de la mise à niveau. Ces déclarations n’ajoutent pas de nouvelles structures de données ni de comportement à l’exécution ; elles indiquent à Twenty qui est l’application et comment la configurer.

Dans cette section

Configuration de l'application

defineApplication — identité, rôle par défaut, variables, métadonnées de la marketplace.

Rôles et autorisations

defineRole — déclarez ce que les fonctions logiques de votre application peuvent lire et écrire.

Hooks d'installation

definePreInstallLogicFunction, definePostInstallLogicFunction et defineUninstallLogicFunction — sauvegarder les données, préremplir les valeurs par défaut, valider les mises à niveau, nettoyer lors de la suppression.

Comment les éléments s’articulent

  • L’application est le point d’entrée. Chaque application comporte exactement un appel à defineApplication() qui pointe vers un Rôle par défaut.
  • Le Rôle contrôle ce que les fonctions logiques et les composants frontaux de l’application peuvent lire et écrire. Suivez le principe du moindre privilège : accordez uniquement les autorisations dont votre code a réellement besoin.
  • Les hooks d’installation s’exécutent lors de l’installation ou de la mise à niveau — la pré-installation avant la migration des métadonnées (ce qui permet de refuser une mise à niveau risquée), la post-installation après la migration (ce qui permet de préremplir les données par défaut selon le nouveau schéma). Le hook de désinstallation s’exécute juste avant que l’application ne soit supprimée, ce qui lui permet de nettoyer les ressources externes tant que les données de l’application sont encore lisibles.
Les hooks d’installation partagent l’environnement d’exécution des fonctions logiques — même signature de handler, mêmes variables d’environnement, même client d’API typé — mais ils sont déclarés avec leurs propres fonctions define et vivent en dehors du modèle de déclencheurs habituel (HTTP, cron, événements de base de données).