> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Installez ABBYY Vantage auto-hébergé sur des machines virtuelles ou sur Azure AKS : préparez les ressources, configurez les identifiants, exécutez les scripts d’installation et validez le déploiement.

<Warning>
  **Vantage 3.0 remplace ce modèle de déploiement.** Vantage 2.7 et les versions antérieures nécessitaient l’infrastructure spécifiée par ABBYY, créée à l’aide des scripts Ansible et Azure CLI fournis par ABBYY. Ce modèle n’est pas pris en charge dans la version 3.0 : vous provisionnez votre propre infrastructure, et ABBYY ne fournit pas de scripts de provisionnement ni d’autre outil d’automatisation de l’infrastructure. Cette page s’applique uniquement à Vantage 2.7. Voir la [Vue d’ensemble de Vantage 3.0](/fr/vantage/self-hosted/v3.0/introduction) et [Migrer depuis Vantage 2.7](/fr/vantage/self-hosted/v3.0/migration-from-2.7).
</Warning>

<div id="installation-overview">
  ## Vue d’ensemble de l’installation
</div>

Pour installer Vantage, suivez ces étapes :

1. Préparez les ressources.
2. Indiquez les identifiants des ressources.
3. Exécutez les scripts d’installation.

<div id="preparing-resources">
  ## Préparation des ressources
</div>

<Tabs>
  <Tab title="Machines virtuelles">
    Avant de commencer, assurez-vous que toutes les exigences indiquées dans la section [Exigences système](/fr/vantage/self-hosted/v2.7/system-requirements) sont respectées.
  </Tab>

  <Tab title="Azure AKS">
    <Warning>
      **Terminez d’abord la création de l’infrastructure Azure !**

      Avant de poursuivre, vous devez créer toutes les ressources Azure requises (cluster AKS, comptes de stockage, base de données SQL). Suivez d’abord le guide [Création de l’infrastructure Azure](/fr/vantage/self-hosted/v2.7/azure-infrastructure).

      Pour les déploiements gouvernementaux conformes à la norme FIPS, consultez [Conformité à la norme FIPS](/fr/vantage/self-hosted/v2.7/fips-compliance).
    </Warning>
  </Tab>
</Tabs>

<div id="specifying-resource-credentials">
  ## Définition des identifiants de ressource
</div>

Avant d'exécuter le programme d'installation :

1. Configurez les fichiers de configuration.
2. Préparez les certificats.
3. Téléchargez les images de conteneurs.

<div id="setting-up-configuration-files">
  ### Préparation des fichiers de configuration
</div>

**1. Créez le répertoire d’installation :**

Créez un répertoire d’installation et ses sous-répertoires (**ssh**, **kube**, **ssl**), à partir desquels l’installation sera réalisée. Accédez ensuite au répertoire d’installation.

```bash theme={null}
mkdir -p /opt/vantage-install/{ssh,kube,ssl} && cd /opt/vantage-install
```

<Tabs>
  <Tab title="Machines virtuelles">
    **2. Créez le fichier de clé SSH :**

    Créez un fichier nommé `ansible` dans le dossier `ssh`, puis placez-y la clé SSH privée de l’utilisateur ansible.

    **3. Créez le fichier `inventory` :**

    Créez un fichier `inventory` dans le répertoire d’installation. Remplacez `X.X.X.X` par les adresses IP de vos machines virtuelles :

    ```ini theme={null}
    [localhost]
    127.0.0.1

    ###########################################
    [kube_control_plane]
    ub01master01 ansible_host=X.X.X.X

    [abbyy_services]
    ub01worker12-48-s01 ansible_host=X.X.X.X

    [abbyy_workers]
    ub01worker12-48-w01 ansible_host=X.X.X.X
    ub01worker12-48-w02 ansible_host=X.X.X.X
    ub01worker12-48-w03 ansible_host=X.X.X.X

    ###########################################
    [kube_workers:children]
    abbyy_services
    abbyy_workers

    [kube_cluster:children]
    kube_control_plane
    kube_workers
    ```

    <Note>
      Si vous n’avez besoin que de 1 ou 2 machines pour les workers au lieu de 3, supprimez les lignes en trop dans la section `[abbyy_workers]`.
    </Note>
  </Tab>

  <Tab title="Azure AKS">
    Les étapes 2 et 3 ne sont pas nécessaires pour les déploiements Azure AKS. Passez à l’étape 4.
  </Tab>
</Tabs>

**4. Créez le fichier env\_specific.yml :**

Renseignez vos propres valeurs.

<Tabs>
  <Tab title="Machines virtuelles">
    ```yaml theme={null}
    env: null
    poc: true

    domain: null
    product_host: "{{ env }}.{{ domain }}"

    logging:
      enabled: true
      elasticsearch:
        enabled: false
        host: null
        port: 9200
        username: null
        password: null
        scheme: https
      file:
        enabled: true

    loadbalancer:
      external_ip: X.X.X.X

    k8s:
      api:
        ip: X.X.X.X

    techcore:
      use_gpu_workers: false
      use_nn_extraction_training_workers: false

    platform_admin_email: admin@yourdomain.tld

    source_container_registry_host: abyvtgonprm27.azurecr.io
    source_container_registry_user: null      # remplacez par les identifiants obtenus lors de l’achat
    source_container_registry_password: null  # remplacez par les identifiants obtenus lors de l’achat
    source_container_registry_name: "{{ source_container_registry_host }}"

    container_registry_host: registry.yourdomain.tld
    container_registry_user: null
    container_registry_password: null
    container_registry_name: "{{ container_registry_host }}/vantage"

    smtp:
      host: null
      login: null
      password: null
      port: 587
      useSSL: false
      secureSocketOptions: null

    database:
      host: X.X.X.X
      port: 1433
      username: null
      password: null

    reporting:
      enabled: false

    id_reading:
      enabled: false
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```yaml theme={null}
    env: vantage
    poc: false  # Définissez cette valeur sur true pour la configuration sans haute disponibilité

    domain: yourdomain.tld
    product_host: "vantage.{{ domain }}"

    loadbalancer:
      external_ip: X.X.X.X  # adresse IP publique Azure

    container_registry_host: "registry.yourdomain.tld"
    container_registry_user: "service"
    container_registry_password: "password"
    container_registry_name: "{{ container_registry_host }}/vantage"

    techcore:
      use_gpu_workers: false
      use_nn_extraction_training_workers: false

    logging:
      enabled: true
      elasticsearch:
        enabled: false
        host: null
        port: 9200
        username: null
        password: null
        scheme: https
        ilm:
          create: false
      file:
        enabled: true

    platform_admin_email: admin@yourdomain.tld

    # Configuration de la messagerie : utilisez soit SendGrid, soit SMTP
    sendgrid:
      enabled: false
      apiKey: ""

    smtp:
      host: X.X.X.X
      login: null
      password: ""
      port: 587
      useSSL: false

    mailFrom: noreply@yourdomain.tld

    # Configuration de la base de données Azure SQL
    database:
      type: sqlserver
      host: X.X.X.X  # nom d’hôte du serveur Azure SQL
      username: login
      password: password
      encrypt: false

    # Comptes de stockage Azure : remplacez par les identifiants de votre compte de stockage
    s3storage:
      skills:
        accessKey: skills_storage_account_name
        secretKey: skills_storage_account_key
      processing:
        accessKey: processing_storage_account_name
        secretKey: processing_storage_account_key
      temporary:
        accessKey: temporary_storage_account_name
        secretKey: temporary_storage_account_key
      sharedfolder:
        accessKey: sharedfolder_storage_account_name
        secretKey: sharedfolder_storage_account_key
        resourcegroup: your_resource_group
      archive:
        accessKey: archive_storage_account_name
        secretKey: archive_storage_account_key

    # Configuration du cluster Redis (obligatoire uniquement pour la haute disponibilité)
    # Laissez des tableaux vides pour la configuration sans haute disponibilité
    redis:
      ips: ['172.16.10.101', '172.16.10.102', '172.16.10.103', '172.16.10.104', '172.16.10.105', '172.16.10.106']
      port: 6379
      password: redispassword
      ssl: false

    reporting:
      enabled: false

    id_reading:
      enabled: false

    k8s_fips_enabled: false
    ```

    <Note>
      Pour la section `s3storage`, `accessKey` correspond au nom du compte de stockage Azure et `secretKey` à la clé d’accès du compte de stockage. Vous pouvez les récupérer depuis le portail Azure ou à l’aide d’Azure CLI.
    </Note>
  </Tab>
</Tabs>

<div id="configuration-parameters">
  ### Paramètres de configuration
</div>

| Paramètre                              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `env`                                  | Préfixe d’installation, utilisé par défaut comme nom de sous-domaine.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `poc`                                  | `true` pour sans haute disponibilité, `false` pour haute disponibilité.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `domain`                               | Domaine principal.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `product_host`                         | Nom DNS pour l’accès au produit (par défaut : `env.domain`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `logging.enabled`                      | Active/désactive la journalisation (`true`/`false`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `logging.elasticsearch.enabled`        | Indique si Elasticsearch doit être activé. Ce paramètre peut être défini sur **true** ou **false**. **Remarque :** définissez la valeur du paramètre sur **true** uniquement si vous disposez déjà d’Elasticsearch et souhaitez y connecter les journaux de Vantage. Si vous ne disposez pas encore d’instances Elasticsearch et Kibana, vous pouvez les déployer dans un cluster en suivant les instructions de la section Elasticsearch and Kibana. Cela doit être fait avant l’installation du produit.                                                                                                                                                                                                                            |
| `logging.elasticsearch.host`           | Adresse IP du serveur.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `logging.elasticsearch.port`           | Port utilisé pour se connecter à Elasticsearch.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `logging.elasticsearch.username`       | Nom d’utilisateur utilisé pour se connecter à Elasticsearch.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `logging.elasticsearch.password`       | Mot de passe utilisé pour se connecter à Elasticsearch.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `logging.elasticsearch.scheme`         | Schéma de protocole utilisé pour se connecter à Elasticsearch.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `logging.file.enabled`                 | Indique si les journaux doivent être écrits dans des fichiers. Ce paramètre peut être défini sur **true** ou **false**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `loadbalancer.external_ip`             | Adresse IP flottante de l’équilibreur de charge.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `k8s.api.ip`                           | Adresse IP du point de terminaison de l’API Kubernetes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `securityContext.global.runAsUser`     | Indique l’identifiant de l’utilisateur sous lequel le processus du conteneur doit s’exécuter. Ce paramètre s’applique uniquement aux pods qui fonctionnent avec des stockages rwx externes (tels que NFS). Par défaut, le paramètre est défini sur **65532**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `securityContext.global.runAsGroup`    | Indique l’identifiant du groupe sous lequel le processus du conteneur doit s’exécuter.<br /><br />Ce paramètre s’applique uniquement aux pods qui fonctionnent avec des stockages rwx externes (tels que NFS). Par défaut, le paramètre est défini sur **65532**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `securityContext.global.fsGroup`       | Indique l’identifiant du groupe auquel appartiendront les volumes attachés au pod. Ce paramètre s’applique uniquement aux pods qui fonctionnent avec des stockages rwx externes (tels que NFS). Par défaut, le paramètre est défini sur **65532**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `techcore.nn_training_workers.gpu`     | Indique si les workers GPU doivent être déployés. Les workers GPU sont utilisés pour l’entraînement des compétences avec l’activité Deep Learning afin d’extraire des données à partir de documents semi-structurés. Ce paramètre peut être défini sur **true** ou **false**. Si le paramètre est défini sur **true**, le paramètre `techcore.nn_training_workers.enabled` doit également être défini sur **true**. Vous pouvez déployer cette option et définir les paramètres `techcore.nn_training_workers.gpu` et `techcore.nn_training_workers.enabled` sur **true** avant ou après l’installation de Vantage. Pour plus d’informations, voir [Configuration du GPU](/fr/vantage/self-hosted/v2.7/configuration#setting-up-gpu). |
| `techcore.nn_training_workers.enabled` | Indique si les workers nn-extraction-training et nlp-model-train doivent être déployés. Ces workers sont utilisés pour l’entraînement des compétences avec l’activité Deep Learning afin d’extraire des données de documents semi-structurés à l’aide du CPU. Ce paramètre peut être défini sur **true** ou **false**.                                                                                                                                                                                                                                                                                                                                                                                                                |
| `techcore.keep_previous_version`       | Indique si la version 2 de Technology Core doit être conservée lors de la mise à jour de Vantage. Par défaut, le paramètre `techcore.keep_previous_version` n’est pas spécifié et la version 2 de Technology Core est supprimée. Pour la conserver, définissez la valeur du paramètre sur **true**.                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `platform_admin_email`                 | Adresse e-mail de l’administrateur système.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `container_registry_host`              | Nom de domaine du registre de conteneurs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `container_registry_user`              | Nom de l’utilisateur disposant des permissions nécessaires pour télécharger des images depuis le registre de conteneurs. Ce paramètre reste vide s’il n’y a pas de registre de conteneurs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `container_registry_password`          | Mot de passe/token permettant de télécharger des images depuis le registre de conteneurs. Ce paramètre reste vide s’il n’y a pas de registre de conteneurs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `container_registry_name`              | Répertoire du registre de conteneurs dans lequel les images sont hébergées.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `smtp.host`                            | Adresse IP ou nom d’hôte du serveur SMTP.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `smtp.login`                           | Nom d’utilisateur utilisé pour se connecter au serveur SMTP.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `smtp.password`                        | Mot de passe utilisé pour se connecter au serveur SMTP.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `smtp.port`                            | Port du serveur SMTP.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `smtp.useSSL`                          | Indique si une connexion chiffrée doit être utilisée. Ce paramètre peut être défini sur **true** ou **false**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `smtp.secureSocketOptions`             | Spécifie le chiffrement SSL et/ou TLS à utiliser pour la connexion.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `database.enabled`                     | Indique si le serveur de base de données doit être activé.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `database.host`                        | Adresse IP du SQL Server.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `database.port`                        | Port du serveur de base de données.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `database.username`                    | Nom d’utilisateur utilisé pour se connecter à la base de données (l’utilisateur doit disposer des privilèges nécessaires pour créer des bases de données).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `database.password`                    | Mot de passe utilisé pour accéder à la base de données.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `reporting.enabled`                    | Indique si le service de reporting Warehouse doit être déployé. Ce paramètre peut être défini sur **true** ou **false**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `id_reading.enabled`                   | Indique si le module complémentaire de documents d’identité doit être déployé. Ce paramètre peut être défini sur **true** ou **false**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

Les quatre paramètres suivants sont facultatifs et ne sont requis que si la configuration haute disponibilité est en cours d’installation et si l’installation de Redis est requise par le programme d’installation de Vantage.

| Parameter        | Description                                                                                                                                                                           |
| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `redis.ips`      | L’adresse IP du cluster Redis au format suivant : \['192.168.0.1''192.168.0.2',,'192.168.0.3']. Si le paramètre est défini sur \[], une instance Redis dans le cluster sera déployée. |
| redis.port       | Le port utilisé pour se connecter au cluster Redis.                                                                                                                                   |
| `redis.password` | Le mot de passe utilisé pour se connecter à Redis.                                                                                                                                    |
| `redis.ssl`      | Indique si une connexion chiffrée au cluster Redis doit être utilisée. Ce paramètre peut être défini sur **true** ou **false**.                                                       |

Tous les autres paramètres restent inchangés.

<div id="preparing-certificates">
  ### Préparation des certificats
</div>

1. Accédez au répertoire ssl. Placez dans ce répertoire le certificat générique (ainsi que le certificat intermédiaire) correspondant au nom de domaine principal, et la clé (au format PEM) dans les fichiers suivants, respectivement :./ssl/cert.pem ,./ssl/key.pem. Vous devez convertir votre fichier CRT au format PEM en modifiant son contenu selon le format suivant :

```text theme={null}
-----BEGIN CERTIFICATE-----
[your certificate]
-----END CERTIFICATE-----
```

2. Si vous utilisez un fournisseur d’authentification externe (ADFS) avec un certificat signé par une AC interne, placez le certificat racine dans `./ssl/adfs-root.pem`.

<Note>
  Si vous accédez à des points de terminaison tiers depuis Vantage (scripts d’activité personnalisée ou authentification externe), le point de terminaison externe doit disposer d’un certificat émis par une autorité publique.
</Note>

<div id="running-the-installation-scripts">
  ## Exécution des scripts d'installation
</div>

L'installation d'ABBYY Vantage est automatique. Elle s'effectue à l'aide de l'outil Ansible, installé et configuré dans le conteneur utilisé pour l'installation. Ansible interagit avec les machines au moyen de différents scénarios de configuration (playbooks YAML).

Pour installer ABBYY Vantage, suivez les étapes suivantes :

**1. Accédez au répertoire d'installation.**

**2. Connectez-vous au registre de distribution du programme d'installation**

```bash theme={null}
# remplacer <username> et <password> par les identifiants obtenus lors de l'achat
docker login abyvtgonprm27.azurecr.io -u <username> -p <password>
```

**3. Exécutez le programme d’installation à partir d’une image Docker si ce n’est pas déjà fait :**

<Tabs>
  <Tab title="Machines virtuelles">
    ```bash theme={null}
    docker run -it \
    -v $PWD/kube:/home/ansible/.kube \
    -v $PWD/ssh/ansible:/home/ansible/.ssh/ansible \
    -v "//var/run/docker.sock:/var/run/docker.sock" \
    -v $PWD/inventory:/ansible/inventories/k8s/inventory \
    -v $PWD/env_specific.yml:/ansible/inventories/k8s/group_vars/all/env_specific.yml \
    -v $PWD/ssl:/ansible/files/ssl:ro \
    --privileged \
    abyvtgonprm27.azurecr.io/vantage-installer:2.7.1
    ```

    | Paramètre                                                                           | Description                                                                                                                            |
    | :---------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------- |
    | `-v $PWD/kube:/home/ansible/.kube`                                                  | Chemin du répertoire Kubernetes dans lequel le fichier kube/config est stocké.                                                         |
    | `-v $PWD/ssh/ansible:/home/ansible/.ssh/ansible`                                    | Chemin de la clé SSH privée requise pour installer et configurer le cluster Kubernetes, ainsi que certains prérequis.                  |
    | `-v "//var/run/docker.sock:/var/run/docker.sock"`                                   | Obligatoire pour synchroniser les images avec votre registre de conteneurs.                                                            |
    | `-v $PWD/inventory:/ansible/inventories/k8s/inventory`                              | Chemin du fichier **inventory**.                                                                                                       |
    | `-v $PWD/env_specific.yml:/ansible/inventories/k8s/group_vars/all/env_specific.yml` | Chemin du fichier **env\_specific.yml**.                                                                                               |
    | `-v $PWD/ssl:/ansible/files/ssl:ro`                                                 | Chemin du dossier contenant les certificats SSL. Il doit contenir les fichiers suivants : **cert.pem**, **key.pem**, **adfsroot.pem**. |
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    docker run -it \
    -v $PWD/env_specific.yml:/ansible/inventories/azure/group_vars/all/env_specific.yml \
    -v $PWD/ssl:/ansible/files/ssl:ro \
    abyvtgonprm27.azurecr.io/vantage-installer:2.7.1
    ```

    | Paramètre                                                                             | Description                                                                                                                            |
    | :------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------- |
    | `-v $PWD/env_specific.yml:/ansible/inventories/azure/group_vars/all/env_specific.yml` | Chemin du fichier **env\_specific.yml**.                                                                                               |
    | `-v $PWD/ssl:/ansible/files/ssl:ro`                                                   | Chemin du dossier contenant les certificats SSL. Il doit contenir les fichiers suivants : **cert.pem**, **key.pem**, **adfsroot.pem**. |
  </Tab>
</Tabs>

**4. Connectez-vous au cluster AKS Azure :**

<Tabs>
  <Tab title="Machines virtuelles">
    Ignorez cette étape pour les déploiements sur machine virtuelle : les identifiants du cluster sont configurés automatiquement lors de l’installation de Kubernetes à l’étape 7.
  </Tab>

  <Tab title="Azure AKS">
    Une fois le conteneur Docker démarré, authentifiez-vous auprès d’Azure et connectez-vous à votre cluster AKS :

    ```bash theme={null}
    # Se connecter à Azure
    az login

    # Définir l’abonnement (remplacez par votre ID d’abonnement)
    az account set --subscription <subscription_id>

    # Récupérer les identifiants du cluster AKS (remplacez par votre groupe de ressources et le nom du cluster)
    az aks get-credentials --resource-group <resource_group_name> --name <cluster_name>

    # Vérifier la connectivité du cluster
    kubectl cluster-info
    ```
  </Tab>
</Tabs>

**5. Téléchargez les images de conteneurs**

Les scripts de migration s’appuient sur les propriétés suivantes dans `env_specific.yml`

```yaml theme={null}
source_container_registry_host: sourcerepo.azurecr.io
source_container_registry_user: user
source_container_registry_password: pass
source_container_registry_name: "{{ source_container_registry_host }}/optional/subpath"

container_registry_host: destinationrepo.azurecr.io
container_registry_user: user
container_registry_password: pass
container_registry_name: "{{ container_registry_host }}/optional/subpath"
```

<Tabs>
  <Tab title="Machines virtuelles">
    ```bash theme={null}
    ansible-playbook -i inventories/k8s playbooks/validate-artifact-manifest.yml
    ansible-playbook -i inventories/k8s playbooks/oci-migration.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    ansible-playbook -i inventories/azure playbooks/validate-artifact-manifest.yml
    ansible-playbook -i inventories/azure playbooks/oci-migration.yml
    ```
  </Tab>
</Tabs>

<Tabs>
  <Tab title="Machines virtuelles">
    **6. Définissez les permissions de la clé SSH :**

    ```bash theme={null}
    chmod 600 /home/ansible/.ssh/ansible
    ```

    **7. Installez et configurez le cluster Kubernetes :**

    ```bash theme={null}
    ansible-playbook -i inventories/k8s -v playbooks/4-Kubernetes-k8s.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    Les étapes 6 et 7 ne sont pas nécessaires pour les déploiements Azure AKS : le cluster Kubernetes est déjà provisionné via le guide Création de l’infrastructure Azure. Passez à l’étape 8.
  </Tab>
</Tabs>

**8. Exécutez les vérifications préalables au déploiement et acceptez les documents juridiques :**

<Tabs>
  <Tab title="Machines virtuelles">
    ```bash theme={null}
    ansible-playbook -i inventories/k8s -v playbooks/0-PreflightCheck-k8s.yml
    ansible-playbook -i inventories/k8s -v playbooks/legal.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    ansible-playbook -i inventories/azure playbooks/0-PreflightCheck-azure.yml
    ansible-playbook -i inventories/azure playbooks/legal.yml
    ```
  </Tab>
</Tabs>

Le playbook va :

* Effectuer une vérification préliminaire des ressources dont les paramètres sont spécifiés dans le fichier `env_specific.yml` du playbook (par exemple la base de données et la connexion SMTP).
* Demander à l’administrateur du système d’accepter les termes de l’EULA et de la Politique de confidentialité d’ABBYY.

**9. Installez le produit :**

<Tabs>
  <Tab title="Machines virtuelles">
    ```bash theme={null}
    ansible-playbook -i inventories/k8s -v playbooks/site-k8s-deploy.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    ansible-playbook -i inventories/azure playbooks/site-azure-deploy.yml
    ```
  </Tab>
</Tabs>

Le playbook déploiera le système de collecte des métriques et des logs, ainsi qu’ABBYY Vantage. Le temps nécessaire pour terminer l’installation dépend des performances des machines sélectionnées. En moyenne, l’opération prend environ 10 minutes. Vous pouvez surveiller les pods et l’exécution du job dans un cluster à l’aide de n’importe quel outil de gestion Kubernetes, par exemple l’utilitaire Lens. Pour ce faire, utilisez le fichier `kubeconfig` qui sera créé dans le dossier `kube` après l’installation de Kubernetes sur les machines virtuelles. Vous pouvez également télécharger les fichiers journaux d’installation Ansible sur votre machine locale en suivant les étapes ci-dessous :

1. Déconnectez-vous du conteneur Docker.
2. Exécutez la commande suivante pour obtenir la liste des conteneurs :

```bash theme={null}
docker ps -a
```

Repérez le nom du conteneur contenant le programme d’installation.

3. Exécutez la commande suivante en remplaçant **container\_name** par le nom du conteneur afin d’obtenir les logs :

```bash theme={null}
docker cp container_name:/ansible/ansible.log ansible.log
```

Une fois le déploiement terminé, les éléments suivants vous seront fournis :

* URL du nom de domaine fourni.
* login et mot de passe du System Administrator, qui permettent de vous connecter, de créer des tenants et de traiter des documents.

<div id="getting-installation-logs">
  ### Récupération des journaux d’installation
</div>

```bash theme={null}
# Quittez le conteneur Docker, puis :
docker ps -a
# Trouvez le nom du container, puis :
docker cp container_name:/ansible/ansible.log ansible.log
```

<div id="optional-deployments">
  ## Déploiements optionnels
</div>

<div id="deploying-the-logging-system">
  ### Déploiement du système de journalisation
</div>

Si le système de journalisation n’a pas été activé dans Vantage (si la valeur du paramètre `logging.enabled` dans le fichier `env_specific.yml` était définie sur **false**) lors de l’installation, vous pouvez l’activer après avoir installé Vantage. Pour cela, définissez la valeur du paramètre `logging.enabled` dans le fichier `env_specific.yml` sur **true**, puis exécutez la commande suivante :

<Tabs>
  <Tab title="Machines virtuelles">
    ```bash theme={null}
    ansible-playbook -i inventories/k8s playbooks/6-DeployMonitoring-k8s.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    ansible-playbook -i inventories/azure playbooks/6-DeployMonitoring-azure.yml
    ```
  </Tab>
</Tabs>

<div id="deploying-business-processing-reporting-warehouse">
  ### Déploiement de l’entrepôt de données de Rapport sur le traitement métier
</div>

L’entrepôt de données de Rapport sur le traitement métier sert à analyser les processus métier et à suivre les données sur des périodes données. Lors de l’installation de Vantage, l’entrepôt de données de Rapport sur le traitement métier est également installé si la valeur du paramètre `reporting.enabled` dans le fichier env\_specific.yml est définie sur **true**. Si la valeur du paramètre `reporting.enabled` est définie sur **false**, vous pouvez installer l’entrepôt de données de Rapport sur le traitement métier après l’installation de Vantage en exécutant la commande suivante :

<Tabs>
  <Tab title="Machines virtuelles">
    ```bash theme={null}
    ansible-playbook -i inventories/k8s -v playbooks/deploy-reporting.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    ansible-playbook -i inventories/azure -v playbooks/deploy-reporting.yml
    ```
  </Tab>
</Tabs>

<Warning>
  Après l’installation, vous devez redémarrer les pods de la Public API pour que l’URL de reporting correcte soit chargée.
</Warning>

<div id="deploying-the-identity-documents-add-on">
  ### Déploiement du module complémentaire Identity Documents
</div>

<Note>
  Le module complémentaire Identity Documents nécessite que Vantage puisse accéder à Internet pour joindre `https://lic.regulaforensics.com` et `https://lic2.regulaforensics.com`.
</Note>

Le service du module complémentaire Identity Documents permet d’exécuter le Skill Identity Documents, utilisé pour extraire des données à partir de documents d’identité émis dans différents pays.

Lors de l’installation de Vantage, le module complémentaire Identity Documents sera également installé si la valeur du paramètre `id_reading.enabled` dans le fichier `env_specific.yml` a été définie sur **true**. Si la valeur du paramètre `id_reading.enabled` a été définie sur false, vous pouvez installer le module complémentaire Identity Documents après l’installation de Vantage en exécutant la commande suivante :

<Tabs>
  <Tab title="Machines virtuelles">
    ```bash theme={null}
    ansible-playbook -i inventories/k8s -v playbooks/12-DeployDocumentReader.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    ansible-playbook -i inventories/azure -v playbooks/12-DeployDocumentReader.yml
    ```
  </Tab>
</Tabs>

Le cluster sur lequel Vantage est installé doit pouvoir accéder aux adresses suivantes :

[https://lic.regulaforensics.com](https://lic.regulaforensics.com)

[https://lic2.regulaforensics.com](https://lic2.regulaforensics.com)
