# Configuration avancée

## Personnalisation des déclencheurs d'intégration

Dans certains cas, il peut être nécessaire de personnaliser quel trafic déclenche l'intégration Netacea au sein d'un même service Fastly.

Cela peut être dû à diverses raisons, notamment :

* Plusieurs domaines existent sur le même service Fastly, et Netacea protège chaque domaine avec un ensemble distinct de modèles Datastream
* Plusieurs domaines existent sur le même service Fastly, mais Netacea ne protège qu'un sous-ensemble de ces domaines
* L'intégration Netacea doit être limitée pour se déclencher et protéger un ensemble limité de chemins
* L'intégration Netacea doit [se comporter différemment](https://docs.netacea.com/fr/presentation/integration-modes) selon certains critères

Pour prendre en charge des déclencheurs personnalisés, suivez les étapes décrites ci-dessous.

{% hint style="warning" %}
N'effectuez pas cette configuration sans avoir discuté des étapes avec l'équipe Netacea
{% endhint %}

## Mise à jour du dictionnaire Netacea

Mettez à jour le dictionnaire Netacea configuré dans le cadre du [Guide d'installation et de configuration](https://docs.netacea.com/fr/informations-sur-les-plugins-netacea/fastly-magento/installation-and-configuration/..#create-an-empty-dictionary) standard. Le dictionnaire doit être mis à jour pour inclure les variables et valeurs normalement définies dans le [Module Netacea](https://docs.netacea.com/fr/informations-sur-les-plugins-netacea/fastly-magento/installation-and-configuration/..#apply-customer-keys-to-the-module).

<figure><img src="https://899558619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaRSpZrGcUHd5EHGjrrO5%2Fuploads%2Fgit-blob-eb65ad33ebb0f8f1b5f89ec0ba1f265d35d86a1e%2Fimage%20(104).png?alt=media" alt=""><figcaption></figcaption></figure>

Les champs du module Netacea doivent être laissés vides :

<figure><img src="https://899558619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaRSpZrGcUHd5EHGjrrO5%2Fuploads%2Fgit-blob-0644bb0ac8cefcd88072c61b6f54687eb96f13c0%2Fimage%20(102).png?alt=media" alt=""><figcaption></figcaption></figure>

## Création et personnalisation du fichier recv\_configure.vcl

Enfin, le fichier recv\_configure.vcl devra être créé pour inclure les instructions conditionnelles qui définissent comment l'intégration Netacea se déclenche :

* Faire en sorte que l'intégration se déclenche sur un sous-ensemble de requêtes effectuées sur le service Fastly.
* Définir quelles informations d'identification Datastream sont utilisées lorsque le trafic déclenche l'intégration sur le service Fastly.

Accédez à Stores → Configuration → Advanced → System → Full Page Cache → Fastly Configuration → Custom VCL Snippets et cliquez sur « Create ».

<figure><img src="https://899558619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaRSpZrGcUHd5EHGjrrO5%2Fuploads%2Fgit-blob-637be77c061c98e7dbed7db4802fdef3cd5aabbb%2Fimage%20(106).png?alt=media" alt=""><figcaption></figcaption></figure>

#### Déclenchement sélectif

L'exemple suivant fera en sorte que l'intégration se déclenche sur les chemins de requête spécifiques à la connexion.

<pre><code>set req.http.x-netacea:edge_config_key_prefix = "";
declare local var.should_run_netacea BOOL;

set var.should_run_netacea = false;

# Must enable Netacea on the following paths if using captcha:
if (!var.should_run_netacea) {
  if (req.url.path ~ "^/AtaVerifyCaptcha|^\/Mitigations\/") {
    set var.should_run_netacea = true;
  }
}

<strong>if (!var.should_run_netacea) {
</strong>  if (req.url.path ~ "\/.*\/(login)\/") {
    set var.should_run_netacea = true;
  }
}

if (var.should_run_netacea) {
  call netacea_check_req;
}
</code></pre>

#### Déclenchement fractionné

L'exemple suivant fera en sorte que l'intégration utilise différentes informations d'identification Datastream en fonction du domaine associé à la requête.

```
declare local var.should_run_netacea BOOL;
set var.should_run_netacea = false;

# Must enable Netacea on the following paths if using captcha:
if (!var.should_run_netacea) {
  if (req.url.path ~ "^/AtaVerifyCaptcha|^\/Mitigations\/") {
    set var.should_run_netacea = true;
  }
}

#
if (!var.should_run_netacea) {
  if (req.http.host ~ "example.com") {
    set var.should_run_netacea = true;
    set req.http.x-netacea:edge_config_key_prefix = "dsA_";
  }
}

if (!var.should_run_netacea) {
  if (req.http.host ~ "example2.com") {
    set var.should_run_netacea = true;
    set req.http.x-netacea:edge_config_key_prefix = "dsB_";
  }
}

if (var.should_run_netacea) {
  call netacea_check_req;
}

```

## Mise à jour de la transmission des logs

Enfin, vous devrez peut-être mettre à jour votre configuration de transmission en fonction des exigences définies par l'équipe Netacea.
