
Vous utilisez Terraform CLI en local et tout fonctionne, mais vous vous demandez ce que la plateforme HCP Terraform apporte de plus. La réponse courte : elle déplace l’exécution, le state et les variables dans un environnement distant partagé, et ajoute une couche de gouvernance (approbations, politiques, audit) que Terraform CLI seul ne fournit pas.
Note : si vous voyez encore le nom Terraform Cloud dans certains articles ou vidéos, il s’agit de l’ancien nom de HCP Terraform, renommé le 22 avril 2024 sans changement fonctionnel.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Ce qu’HCP Terraform fait et ce qu’il ne remplace pas
- La différence entre exécution locale et exécution distante
- Comment créer un compte, une organisation et un premier project
- Les fonctionnalités disponibles en édition gratuite
- Quand HCP Terraform est pertinent — et quand il ne l’est pas
HCP Terraform en une phrase
Section intitulée « HCP Terraform en une phrase »HCP Terraform est une plateforme SaaS gérée par HashiCorp qui exécute
vos plan et apply à distance, stocke le state de manière sécurisée, et
permet à une équipe de collaborer sur l’infrastructure avec des approbations et
des politiques de conformité.
Ce que la plateforme ajoute à Terraform CLI
Section intitulée « Ce que la plateforme ajoute à Terraform CLI »Terraform CLI reste le moteur d’exécution. HCP Terraform ne le remplace pas — il l’enveloppe dans une couche collaborative et gouvernée.
| Capacité | Terraform CLI seul | Avec HCP Terraform |
|---|---|---|
| Exécution plan/apply | Sur votre poste | À distance par défaut sur des VM jetables, ou localement selon le mode d’exécution |
| State | Fichier local ou backend externe | Stocké, versionné et géré par workspace |
| Variables et secrets | .tfvars locaux, variables d’env | Centralisés dans la plateforme, masquables |
| Collaboration | Partage manuel du state | Workspaces partagés, approbations, historique |
| Gouvernance | Aucune nativement | Policies, permissions, health assessments selon le plan |
| Intégration VCS | Manuelle | Speculative plans sur PR, auto-trigger |
| Traçabilité | Très limitée | Historique des runs, états et événements |
Les trois workflows d’exécution
Section intitulée « Les trois workflows d’exécution »HCP Terraform propose trois façons de déclencher des runs. Vous les rencontrerez dans les guides suivants :
| Workflow | Déclencheur | Cas d’usage |
|---|---|---|
| CLI-driven | terraform plan / terraform apply depuis votre terminal | Apprentissage, développement, itération rapide |
| VCS-driven | Push ou merge sur une branche liée au workspace | Production, review via PR, speculative plans |
| API-driven | Appel HTTP à l’API HCP Terraform | Pipelines CI/CD, automatisation avancée |
Le workflow CLI-driven est le point de départ recommandé : il ressemble à ce que vous faites déjà en local, mais l’exécution se produit à distance.
Créer votre compte et votre organisation
Section intitulée « Créer votre compte et votre organisation »-
Connectez-vous à HCP Terraform
Rendez-vous sur app.terraform.io.
La méthode recommandée est d’utiliser votre compte HCP. Si vous n’en avez pas, vous pouvez aussi créer un compte HCP Terraform classique avec un username, un email et un mot de passe.
-
Créez une organisation
Une fois connecté, créez une organisation. C’est le conteneur de plus haut niveau dans HCP Terraform : il regroupe vos workspaces, projects, variable sets et équipes.
Choisissez un nom explicite. Pour les labs de cette section, nous utilisons :
stephrobert-terraform-labs -
Créez vos premiers projects
Un project regroupe des workspaces liés à un même contexte. Chaque workspace appartient à un seul project. Une organisation possède toujours un Default Project créé automatiquement, que vous pouvez renommer mais pas supprimer.
Créez-en trois pour organiser vos labs :
Project Usage associate-004Labs liés à la certification Associate professionalLabs liés à la certification Professional sandboxExpérimentations libres -
Authentifiez votre CLI
Sur votre poste, lancez :
Fenêtre de terminal terraform loginCette commande ouvre un navigateur, génère un token API et le stocke dans
~/.terraform.d/credentials.tfrc.json. Toutes les commandesterraform planetterraform applyultérieures utiliseront ce token pour communiquer avec HCP Terraform.Une fois le login effectué, ajoutez un bloc
cloud {}à votre configuration puis exécutez :Fenêtre de terminal terraform initC’est cette initialisation qui valide réellement l’intégration entre votre répertoire Terraform et le workspace HCP Terraform.
Le bloc cloud dans votre configuration
Section intitulée « Le bloc cloud dans votre configuration »Pour connecter une configuration Terraform à HCP Terraform, vous remplacez
le bloc backend par un bloc cloud :
terraform { cloud { organization = "stephrobert-terraform-labs"
workspaces { project = "associate-004" name = "associate-004-01-init" } }}Ce bloc indique à Terraform CLI :
- d’envoyer la configuration à HCP Terraform pour exécution distante,
- de stocker le state dans le workspace indiqué,
- de lire les variables définies dans la plateforme.
Convention de nommage des workspaces
Section intitulée « Convention de nommage des workspaces »Pour garder vos labs organisés, adoptez une convention claire :
<project>-<numéro>-<sujet>Exemples :
| Workspace | Contexte |
|---|---|
associate-004-01-init | Premier lab Associate |
associate-004-02-variables | Lab sur les variables |
professional-01-workspaces | Lab workspaces Professional |
sandbox-aws-networking-dev | Expérimentation réseau AWS |
La limite est de 90 caractères par nom de workspace. Utilisez uniquement
des lettres, chiffres, tirets (-) et underscores (_).
Quand HCP Terraform est pertinent
Section intitulée « Quand HCP Terraform est pertinent »HCP Terraform n’est pas toujours nécessaire. Voici une grille de décision rapide :
| Votre situation | Recommandation |
|---|---|
| Vous apprenez Terraform seul, en local | Pas encore — restez sur CLI + backend local ou S3 |
| Vous travaillez en équipe sur la même infra | Oui — le state partagé et les approbations évitent les conflits |
| Vous voulez des speculative plans sur vos PR | Oui — le VCS-driven workflow le fournit nativement |
| Vous devez appliquer des politiques de conformité | Oui — Policy as Code (Sentinel / OPA) |
| Vous préparez la certification Associate ou Professional | Oui — les objectifs 8 (Associate) et 6 (Professional) couvrent HCP Terraform |
| Vous avez besoin d’audit logging ou de drift detection | Payant — ces fonctionnalités nécessitent Standard+ |
Vocabulaire essentiel
Section intitulée « Vocabulaire essentiel »| Terme | Ce que c’est | Concrètement |
|---|---|---|
| Organization | Le conteneur de plus haut niveau | Regroupe projects, workspaces, équipes et policies |
| Project | Un regroupement logique de workspaces | Sépare les contextes (certif, sandbox, prod) |
| Workspace | L’unité de travail dans HCP Terraform | Contient le state, les variables et l’historique des runs |
| Run | Une exécution plan + apply | Peut être manuelle, CLI-driven, VCS-driven ou API-driven |
| Variable set | Un ensemble de variables partageable | S’applique à un ou plusieurs workspaces |
| Policy set | Un ensemble de politiques de conformité | Vérifie le plan avant l’apply |
| Agent | Un processus qui exécute les runs en privé | Pour les infras non accessibles depuis Internet |
À retenir
Section intitulée « À retenir »- HCP Terraform ajoute l’exécution distante, la collaboration et la gouvernance à Terraform CLI. Il ne remplace pas le moteur d’exécution.
- L’édition gratuite sur
app.terraform.iosuffit pour les labs d’introduction. Certaines fonctions avancées nécessitent un plan payant. - Le bloc
cloud {}connecte votre configuration à HCP Terraform. En exécution distante, un blocbackend {}explicite n’est plus nécessaire. terraform loginauthentifie votre CLI une seule fois.- Les certifications Associate 004 et Professional incluent HCP Terraform dans leurs objectifs.