> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/pam/fr/knowledge-base/knowledge-base-articles/terraform-provider.md).

# Fournisseur Terraform

Terraform provider vous permet de gérer votre instance de Devolutions Server. Pour en savoir plus sur Terraform provider, consultez notre [GitHub.](https://github.com/Devolutions/terraform-provider-dvls?tab=readme-ov-file)

{% hint style="info" %}
Ce fournisseur est en cours de développement ; des changements importants sont à prévoir entre les versions.
{% endhint %}

### Prérequis

* [Terraform](https://www.terraform.io/downloads.html) 1.0
* [Go](https://golang.org/doc/install) 1.18
* [Devolutions Server](https://devolutions.net/server) 2025.2.4.0

### Compilation du fournisseur

1. Clonez le dépôt
2. Accédez au répertoire du dépôt
3. Compilez le fournisseur à l'aide de la commande Go `install` :

```go
go install
```

### Ajout de dépendances

Ce fournisseur utilise les [modules Go](https://github.com/golang/go/wiki/Modules). Veuillez consulter la documentation Go pour obtenir les informations les plus récentes sur l'utilisation des modules Go.

Pour ajouter une nouvelle dépendance `github.com/author/dependency` à votre Terraform provider :

```go
go get github.com/author/dependency
go mod tidy
```

Puis validez les modifications apportées aux fichiers `go.mod` et `go.sum`.

### Utilisation du fournisseur

Consultez le registre Terraform à l'adresse <https://registry.terraform.io/providers/Devolutions/dvls/latest> pour obtenir des informations sur l'utilisation.

### Développement du fournisseur

Si vous souhaitez travailler sur le fournisseur, vous devrez d'abord avoir [Go](http://www.golang.org/) installé sur votre machine (voir les [Prérequis](https://github.com/Devolutions/terraform-provider-dvls?tab=readme-ov-file#requirements) ci-dessus).

* Pour compiler le fournisseur, exécutez `go install`. Cela compilera le fournisseur et placera le binaire du fournisseur dans le répertoire `$GOPATH/bin`.
* Pour générer ou mettre à jour la documentation, exécutez `go generate`.
* Pour exécuter la suite complète de tests d'acceptation, exécutez `make testacc`.

*Remarque :* Les tests d'acceptation créent de vraies ressources et peuvent souvent engendrer des coûts.

`make testacc`

### Test du fournisseur pendant le développement

Pour effectuer un test du fournisseur, créez ou mettez à jour le fichier `~/.terraformrc` (`%APPDATA%\terraform.rc` sous Windows) avec le contenu suivant :

```hcl
provider_installation {
  dev_overrides {
    "devolutions/dvls" = "/Users/USERNAME/go/bin"
  }
  direct {
  }
}
```

Remplacez `/Users/USERNAME/go/bin` par le chemin vers le binaire du fournisseur compilé, en fonction de votre système d'exploitation et de votre environnement.

Puis exécutez la commande suivante, en supposant que vous êtes sur macOS ou Linux :

`go build -o ~/go/bin/terraform-provider-dvls_v0.5.0`

`chmod +x ~/go/bin/terraform-provider-dvls_v0.5.0`

Remarques : le numéro de version doit correspondre à la version du fournisseur sur laquelle vous travaillez.

Vous pouvez ensuite créer un fichier `test.tf` ou `example.tf` avec le contenu requis ; voici un exemple :

```hcl
provider "dvls" {
  base_uri   = "https://your-dvls-instance.com/"
  app_id     = "your-app-id"
  app_secret = "your-app-secret"
}

data "dvls_entry_website" "example" {
  id = "id-of-website-entry"
}

output "website_name" {
  value = data.dvls_entry_website.example.name
}

terraform {
  required_providers {
    dvls = {
      source = "devolutions/dvls"
    }
  }
}
```

Puis exécutez la commande suivante :

`terraform plan`

Voici le résultat attendu :

```
│ Warning: Provider development overrides are in effect
│
│ The following provider development overrides are set in the CLI configuration:
│  - devolutions/dvls in /Users/USERNAME/go/bin
│
│ The behavior may therefore not match any released version of the provider and applying changes may cause the state to become incompatible
│ with published releases.
╵
data.dvls_entry_website.example: Reading...
data.dvls_entry_website.example: Read complete after 1s [id=123e4567-e89b-12d3-a456-426614174000]

Changes to Outputs:
  + website_name = "TestWebsite"
```

Veuillez noter que le fichier `.gitignore` ignore déjà les fichiers `dev.tfrc`, `.terraform.lock.hcl`, `test.tf`, `example.tf` et `terraform.tfstate`, ainsi que le dossier `.terraform/`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.devolutions.net/pam/fr/knowledge-base/knowledge-base-articles/terraform-provider.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.
