Created by Github action --------- Co-authored-by: github-actions <github-actions@twenty.com>
251 lines
10 KiB
Plaintext
251 lines
10 KiB
Plaintext
---
|
||
title: Installation
|
||
image: /images/user-guide/table-views/table.png
|
||
---
|
||
|
||
<Frame>
|
||
<img src="/images/user-guide/table-views/table.png" alt="Header" />
|
||
</Frame>
|
||
|
||
import OptionTable from '@site/src/theme/OptionTable'
|
||
|
||
# Gestion de la configuration
|
||
|
||
<Warning>
|
||
**Première installation ?** Suivez le [Guide d'installation de Docker Compose](https://docs.twenty.com/l/fr/developers/self-hosting/docker-compose) pour faire fonctionner Twenty, puis revenez ici pour la configuration.
|
||
</Warning>
|
||
|
||
Twenty offre **deux modes de configuration** pour répondre à différents besoins de déploiement :
|
||
|
||
**Accès au panneau d'administration :** Seuls les utilisateurs avec des privilèges d'administrateur (`canAccessFullAdminPanel: true`) peuvent accéder à l'interface de configuration.
|
||
|
||
## 1. Configuration du panneau d'administration (par défaut)
|
||
|
||
```bash
|
||
IS_CONFIG_VARIABLES_IN_DB_ENABLED=true # default
|
||
```
|
||
|
||
**La plupart des configurations se fait via l'interface utilisateur** après l'installation :
|
||
|
||
1. Accédez à votre instance Twenty (généralement `http://localhost:3000`)
|
||
2. Allez dans **Paramètres / Panneau d’administration / Variables de configuration**
|
||
3. Configurez les intégrations, les e-mails, le stockage et plus encore
|
||
4. Les modifications prennent effet immédiatement (dans les 15 secondes pour les déploiements multi-conteneurs)
|
||
|
||
<Warning>
|
||
**Déploiements multi-conteneurs :** En utilisant la configuration de la base de données (`IS_CONFIG_VARIABLES_IN_DB_ENABLED=true`), les conteneurs serveur et travailleur lisent à partir de la même base de données. Les modifications du panneau d'administration affectent les deux automatiquement, éliminant le besoin de dupliquer les variables d'environnement entre les conteneurs (sauf pour les variables d'infrastructure).
|
||
</Warning>
|
||
|
||
**Ce que vous pouvez configurer via le panneau d'administration :**
|
||
|
||
- **Authentification** - Google/Microsoft OAuth, paramètres de mot de passe
|
||
- **E-mail** - Paramètres SMTP, modèles, vérification
|
||
- **Stockage** - Configuration S3, chemins de stockage local
|
||
- **Intégrations** - Gmail, Google Agenda, services Microsoft
|
||
- **Workflow & Limitation de débit** - Limites d'exécution, limitation de l'API
|
||
- **Et bien plus encore...**
|
||
|
||

|
||
|
||
<Warning>
|
||
Chaque variable est documentée avec des descriptions dans votre panneau d'administration sous **Paramètres → Panneau d'administration → Variables de configuration**.
|
||
Certains paramètres d'infrastructure comme les connexions de base de données (`PG_DATABASE_URL`), les URL du serveur (`SERVER_URL`), et les secrets d'application (`APP_SECRET`) ne peuvent être configurés que via le fichier `.env`.
|
||
|
||
[Référence technique complète →](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts) </Warning>
|
||
|
||
## 2. Configuration réservée à l'environnement
|
||
|
||
```bash
|
||
IS_CONFIG_VARIABLES_IN_DB_ENABLED=false
|
||
```
|
||
|
||
**Toute la configuration est gérée via les fichiers `.env` :**
|
||
|
||
1. Définissez `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false` dans votre fichier `.env`
|
||
2. Ajoutez toutes les variables de configuration à votre fichier `.env`
|
||
3. Redémarrez les conteneurs pour que les modifications prennent effet
|
||
4. Le panneau d'administration affichera les valeurs actuelles mais ne pourra pas les modifier
|
||
|
||
## Intégration Gmail & Google Agenda
|
||
|
||
### Créer un projet Google Cloud
|
||
|
||
1. Allez dans [Google Cloud Console](https://console.cloud.google.com/)
|
||
2. Créez un nouveau projet ou sélectionnez-en un existant
|
||
3. Activez ces API :
|
||
|
||
- [API Gmail](https://console.cloud.google.com/apis/library/gmail.googleapis.com)
|
||
- [API Google Agenda](https://console.cloud.google.com/apis/library/calendar-json.googleapis.com)
|
||
- [API People](https://console.cloud.google.com/apis/library/people.googleapis.com)
|
||
|
||
### Configurez OAuth
|
||
|
||
1. Allez dans [Identifiants](https://console.cloud.google.com/apis/credentials)
|
||
2. Créez un identifiant client OAuth 2.0
|
||
3. Ajoutez ces URI de redirection :
|
||
- `https://<votre-domaine>/auth/google/redirect` (pour le SSO)
|
||
- `https://<votre-domaine>/auth/google-apis/get-access-token` (pour les intégrations)
|
||
|
||
### Configurez dans Twenty
|
||
|
||
1. Allez dans **Paramètres → Panneau d’administration → Variables de configuration**
|
||
2. Retrouvez la section **Google Auth**
|
||
3. Définissez ces variables :
|
||
- `MESSAGING_PROVIDER_GMAIL_ENABLED=true`
|
||
- `CALENDAR_PROVIDER_GOOGLE_ENABLED=true`
|
||
- `AUTH_GOOGLE_CLIENT_ID=<client-id>`
|
||
- `AUTH_GOOGLE_CLIENT_SECRET=<client-secret>`
|
||
- `AUTH_GOOGLE_CALLBACK_URL=https://<votre-domaine>/auth/google/redirect`
|
||
- `AUTH_GOOGLE_APIS_CALLBACK_URL=https://<votre-domaine>/auth/google-apis/get-access-token`
|
||
|
||
<Warning>
|
||
**Mode réservé à l'environnement :** Si vous définissez `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, ajoutez ces variables à votre fichier `.env` à la place.
|
||
</Warning>
|
||
|
||
**Scopes requis** (configurés automatiquement) :
|
||
[Voir le code source pertinent](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/auth/utils/get-google-apis-oauth-scopes.ts#L4-L10)
|
||
|
||
- `https://www.googleapis.com/auth/calendar.events`
|
||
- `https://www.googleapis.com/auth/gmail.readonly`
|
||
- `https://www.googleapis.com/auth/profile.emails.read`
|
||
|
||
### Si votre application est en mode test
|
||
|
||
Si votre application est en mode test, vous devez ajouter des utilisateurs test à votre projet.
|
||
|
||
Sous [Écran de consentement OAuth](https://console.cloud.google.com/apis/credentials/consent), ajoutez vos utilisateurs test à la section "Utilisateurs test".
|
||
|
||
## Intégration Microsoft 365
|
||
|
||
<Warning>
|
||
Les utilisateurs doivent avoir une [licence Microsoft 365](https://admin.microsoft.com/Adminportal/Home) pour pouvoir utiliser les API Calendrier et Messagerie. Ils ne pourront pas synchroniser leur compte sur Twenty sans cela.
|
||
</Warning>
|
||
|
||
### Créez un projet dans Microsoft Azure
|
||
|
||
Vous devrez créer un projet dans [Microsoft Azure](https://portal.azure.com/#view/Microsoft_AAD_IAM/AppGalleryBladeV2) et obtenir les identifiants.
|
||
|
||
### Activez les API
|
||
|
||
Sur la console Microsoft Azure, activez les API suivantes dans "Autorisations" :
|
||
|
||
- Microsoft Graph : Mail.ReadWrite
|
||
- Microsoft Graph : Mail.Send
|
||
- Microsoft Graph : Calendars.Read
|
||
- Microsoft Graph : User.Read
|
||
- Microsoft Graph : openid
|
||
- Microsoft Graph : email
|
||
- Microsoft Graph : profile
|
||
- Microsoft Graph : offline_access
|
||
|
||
Remarque : "Mail.ReadWrite" et "Mail.Send" ne sont obligatoires que si vous souhaitez envoyer des e-mails en utilisant nos actions de flux de travail. Vous pouvez utiliser "Mail.Read" à la place si vous souhaitez uniquement recevoir des e-mails.
|
||
|
||
### URI de redirection autorisées
|
||
|
||
Vous devez ajouter les URI de redirection suivantes à votre projet :
|
||
|
||
- `https://<votre-domaine>/auth/microsoft/redirect` si vous souhaitez utiliser Microsoft SSO
|
||
- `https://<votre-domaine>/auth/microsoft-apis/get-access-token`
|
||
|
||
### Configurez dans Twenty
|
||
|
||
1. Allez dans **Paramètres → Panneau d’administration → Variables de configuration**
|
||
2. Retrouvez la section **Microsoft Auth**
|
||
3. Définissez ces variables :
|
||
- `MESSAGING_PROVIDER_MICROSOFT_ENABLED=true`
|
||
- `CALENDAR_PROVIDER_MICROSOFT_ENABLED=true`
|
||
- `AUTH_MICROSOFT_ENABLED=true`
|
||
- `AUTH_MICROSOFT_CLIENT_ID=<client-id>`
|
||
- `AUTH_MICROSOFT_CLIENT_SECRET=<client-secret>`
|
||
- `AUTH_MICROSOFT_CALLBACK_URL=https://<votre-domaine>/auth/microsoft/redirect`
|
||
- `AUTH_MICROSOFT_APIS_CALLBACK_URL=https://<votre-domaine>/auth/microsoft-apis/get-access-token`
|
||
|
||
<Warning>
|
||
**Mode réservé à l'environnement :** Si vous définissez `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, ajoutez ces variables à votre fichier `.env` à la place.
|
||
</Warning>
|
||
|
||
### Configurer les scopes
|
||
|
||
[Voir le code source pertinent](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/auth/utils/get-microsoft-apis-oauth-scopes.ts#L2-L9)
|
||
|
||
- 'openid'
|
||
- 'email'
|
||
- 'profil'
|
||
- 'offline_access'
|
||
- 'Mail.ReadWrite'
|
||
- 'Mail.Send'
|
||
- 'Calendars.Read'
|
||
|
||
### Si votre application est en mode test
|
||
|
||
Si votre application est en mode test, vous devez ajouter des utilisateurs test à votre projet.
|
||
|
||
Ajoutez vos utilisateurs test à la section "Utilisateurs et groupes".
|
||
|
||
## Tâches en arrière-plan pour Calendrier & Messagerie
|
||
|
||
Après avoir configuré les intégrations Gmail, Google Agenda ou Microsoft 365, vous devez démarrer les tâches en arrière-plan qui synchronisent les données.
|
||
|
||
Enregistrez les emplois récurrents suivants dans votre conteneur de travailleur :
|
||
|
||
```bash
|
||
# from your worker container
|
||
yarn command:prod cron:messaging:messages-import
|
||
yarn command:prod cron:messaging:message-list-fetch
|
||
yarn command:prod cron:calendar:calendar-event-list-fetch
|
||
yarn command:prod cron:calendar:calendar-events-import
|
||
yarn command:prod cron:messaging:ongoing-stale
|
||
yarn command:prod cron:calendar:ongoing-stale
|
||
yarn command:prod cron:workflow:automated-cron-trigger
|
||
```
|
||
|
||
## Configuration des Emails
|
||
|
||
1. Allez dans **Paramètres → Panneau d’administration → Variables de configuration**
|
||
2. Retrouvez la section **Email**
|
||
3. Configurez vos paramètres SMTP :
|
||
|
||
<ArticleTabs label1="Gmail" label2="Office365" label3="Smtp4dev">
|
||
|
||
<ArticleTab>
|
||
|
||
Vous devrez créer un [mot de passe d'application](https://support.google.com/accounts/answer/185833).
|
||
|
||
- EMAIL_DRIVER=smtp
|
||
- EMAIL_SMTP_HOST=smtp.gmail.com
|
||
- EMAIL_SMTP_PORT=465
|
||
- EMAIL_SMTP_USER=gmail_email_address
|
||
- EMAIL_SMTP_PASSWORD='gmail_app_password'
|
||
|
||
</ArticleTab>
|
||
|
||
<ArticleTab>
|
||
|
||
Gardez à l'esprit que si vous avez activé la validation en deux étapes (2FA), vous devrez mettre en place un [mot de passe d'application](https://support.microsoft.com/en-us/account-billing/manage-app-passwords-for-two-step-verification-d6dc8c6d-4bf7-4851-ad95-6d07799387e9).
|
||
|
||
- EMAIL_DRIVER=smtp
|
||
- EMAIL_SMTP_HOST=smtp.office365.com
|
||
- EMAIL_SMTP_PORT=587
|
||
- EMAIL_SMTP_USER=office365_email_address
|
||
- EMAIL_SMTP_PASSWORD='office365_password'
|
||
|
||
</ArticleTab>
|
||
|
||
<ArticleTab>
|
||
|
||
**smtp4dev** est un serveur SMTP factice pour le développement et les tests.
|
||
|
||
- Exécutez l'image smtp4dev : `docker run --rm -it -p 8090:80 -p 2525:25 rnwood/smtp4dev`
|
||
- Accédez à l'interface utilisateur smtp4dev ici : [http://localhost:8090](http://localhost:8090)
|
||
- Définissez les variables suivantes :
|
||
- EMAIL_DRIVER=smtp
|
||
- EMAIL_SMTP_HOST=localhost
|
||
- EMAIL_SMTP_PORT=2525
|
||
|
||
</ArticleTab>
|
||
|
||
</ArticleTabs>
|
||
|
||
<Warning>
|
||
**Mode réservé à l'environnement :** Si vous définissez `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, ajoutez ces variables à votre fichier `.env` à la place.
|
||
</Warning> |