# Installation via Wrangler (CLI)

### Prérequis

Pour réussir l'intégration avec Netacea, veuillez vous assurer que vous disposez des éléments suivants :

1. Installation de la dernière version de [Wrangler V2](https://developers.cloudflare.com/workers/wrangler/migration/v1-to-v2/update-v1-to-v2/), [Node.js](https://nodejs.org/en) (version 16.13.0 ou supérieure) et [Git ](https://git-scm.com/)sur votre machine.
2. Un compte Cloudflare actif avec accès au tableau de bord Cloudflare.
3. Un abonnement Cloudflare « Payant », afin d'éviter tout problème lié aux limites de requêtes des workers, etc.
4. Accès au produit Cloudflare Workers.

### **Étapes d'implémentation**

Les instructions détaillées sur GitHub pour récupérer le code, configurer et déployer le plugin Cloudflare Netacea sont disponibles [ici](https://github.com/Netacea/cloudflare-worker-template-typescript).

### Créer un worker local <a href="#edit-worker" id="edit-worker"></a>

Ouvrez l'invite de commandes Windows/PowerShell et accédez à un répertoire où vous pouvez enregistrer le code Netacea.

Dans ce répertoire, exécutez la commande suivante

{% code overflow="wrap" %}

```
wrangler generate netacea-cloudflare-worker https://github.com/netacea/cloudflare-worker-template-typescript
```

{% endcode %}

Cela utilisera wrangler pour créer (générer) un nouveau bundle de worker local en récupérant le dernier code GitHub de Netacea.

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

Vous pouvez vérifier cela en accédant au répertoire mentionné ci-dessus et en constatant la présence du worker au format suivant :

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

### Configurer le worker

Ouvrez le répertoire src et modifiez le fichier `NetaceaConfig.json` pour qu'il corresponde à ce qui suit :

```json
{
    "apiKey": "API-KEY-PROVIDED-BY-NETACEA",
    "secretKey": "SECRET-KEY-PROVIDED-BY-NETACEA",
    "mitigationType": "PREFERRED-MITIGATION-TYPE",
    "ingestType": "KINESIS",
    "kinesis": {
      "kinesisStreamName": "NAME-PROVIDED-BY-NETACEA",
      "kinesisAccessKey": "KEY-PROVIDED-BY-NETACEA",
      "kinesisSecretKey": "KEY-PROVIDED-BY-NETACEA"
    },
    "cookieEncryptionKey": "ENCRYPTION-KEY-PROVIDED-BY-NETACEA",
    "netaceaCookieName": "_cookieName",
    "netaceaCaptchaCookieName": "_captchaCookieName",
    "enableDynamicCaptchaContentType": false,
    "timeout": 3000
  }
```

Remplacez les valeurs par les informations que Netacea vous a fournies et **enregistrez** le fichier.

{% hint style="info" %}
L'attribut `mitigationType` est utilisé pour déterminer le mode de l'intégration. Il peut prendre l'une des trois valeurs suivantes :

* "**INGEST**" - Ce mode d'intégration est uniquement en surveillance, ce qui signifie qu'aucune action d'atténuation ne sera exécutée. Ceci est recommandé pendant les POCs.
* "**MITIGATE**" - Il s'agit du mode d'intégration « normal », ce qui signifie que la solution Netacea surveillera et atténuera activement les requêtes.
* "**INJECT**" - Ce mode est utilisé dans les solutions personnalisées où l'action d'atténuation par Netacea sera uniquement une recommandation via des en-têtes HTTP ajoutés à la requête.
  {% endhint %}

{% hint style="info" %}
Le nom du cookie et du captcha doit être unique.

**Pour une sécurité accrue, n'incluez pas Netacea ou Mitigation dans ce nom.**
{% endhint %}

{% hint style="danger" %}
Les variables cookieEncryptionKey, netaceaCookieName et netaceaCaptchaCookieName sont utilisées pour renforcer la sécurité en dissimulant les noms et valeurs des cookies par défaut de Netacea à la vue du public.
{% endhint %}

### Configurer Wrangler

Accédez au répertoire racine du worker et modifiez le fichier `wrangler.toml` :

```json
name = "netacea-worker"
main = "./dist/worker.js"

account_id = "EXAMPLE_ACCOUNT_ID"
route = "EXAMPLE_ROUTE"

compatibility_date = "2023-05-04"

[observability]
enabled = true

```

Remplacez les valeurs par les informations appropriées et une fois prêt, **enregistrez** le fichier.

{% hint style="info" %}
L'[Account ID](https://developers.cloudflare.com/fundamentals/get-started/basic-tasks/find-account-and-zone-ids/#find-zone-and-account-ids) se trouve sur votre tableau de bord Cloudflare.

La [Route ](https://developers.cloudflare.com/workers/platform/triggers/routes/)fait référence au chemin sur lequel le worker doit être appliqué, par exemple "[www.example.com/\*](http://www.example.com/*)" et peut être modifiée après le déploiement.
{% endhint %}

{% hint style="info" %}
Activer l'option **Enregistrement automatique** lors de la modification des configurations serait utile.
{% endhint %}

### Installer/Mettre à jour npm

Dans le répertoire racine du worker, exécutez les deux commandes suivantes pour vous assurer que tous les modules node nécessaires sont installés/mis à jour

```powershell
npm i @netacea/cloudflare@latest
```

```
npm install
```

### Déployer le worker sur Cloudflare

Exécutez la commande suivante :

```
npm run deploy
```

Cela pourrait vous inviter à vous connecter à Cloudflare via votre navigateur et à autoriser l'accès à wrangler. Si c'est le cas, connectez-vous et autorisez l'accès.

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

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

{% hint style="info" %}
Vous pouvez utiliser la commande ci-dessus pour redéployer le même worker afin de le mettre à jour (par exemple, modifier les propriétés de configuration). Le dernier déploiement deviendra actif par défaut.
{% endhint %}

### Confirmer le déploiement

Connectez-vous à Cloudflare, ouvrez le tableau de bord, sélectionnez le domaine sur lequel vous souhaitez que le worker fonctionne et enfin sélectionnez « Workers Routes » dans le menu. Vous devriez pouvoir voir le worker nouvellement déployé, associé à la route du fichier `wrangler.toml`.

<figure><img src="https://899558619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaRSpZrGcUHd5EHGjrrO5%2Fuploads%2Fgit-blob-12cb6d8d73e49f99772f9729b3666f42c80f9b6c%2FScreenshot%202024-12-13%20125030.png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Vous pouvez apporter des modifications au worker, à la route, à l'environnement et plus encore en cliquant sur **Modifier**, sans avoir besoin de redéployer le worker via wrangler.
{% endhint %}

Les déploiements de chaque worker peuvent être consultés en cliquant sur le Worker (par exemple test-netacea-worker) et en sélectionnant l'onglet Deployments :

<figure><img src="https://899558619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaRSpZrGcUHd5EHGjrrO5%2Fuploads%2Fgit-blob-33ad1be8eccc8e959a613deea8c4cfba5f42a6fa%2FScreenshot%202024-12-13%20124156%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

Pour chaque worker, vous pouvez voir diverses métriques, les routes associées et avoir la possibilité de revenir à un déploiement précédent.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.netacea.com/fr/informations-sur-les-plugins-netacea/cloudflare/installation-and-configuration/installation-via-wrangler-cli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
