⚠️ Fail Analysis

Pourquoi les gens ratent HashiCorp Terraform Associate (003)

Le Terraform Associate (003) est l'examen DevOps le plus passé en 2026, mais aussi le plus mal préparé. Les candidats lisent la documentation officielle et passent — sans avoir jamais débuggé un state corruption ou refactorisé un module. L'examen pose 50% de questions sur l'usage opérationnel quotidien (state, workspaces, providers) — pas sur la syntaxe HCL. 5 erreurs récurrentes sur r/Terraform et le HashiCorp Discuss.

Révisé 2026-05 HashiCorp ne publie pas de taux officiel. Estimations communautaires (r/Terraform) : ~70-75% au premier passage — réputé 'facile si tu as utilisé Terraform en prod', piège pour ceux qui ne lisent que la doc.
TL;DRLire les docs Terraform ne suffit pas. L'examen veut savoir si tu as managé un state file en équipe, géré des conflits, et compris pourquoi `terraform plan` montre des changements que tu n'as pas faits.

Top 5 erreurs (du plus fréquent au moins fréquent)

#1
Étudier la syntaxe HCL sans jamais avoir managé un state file en équipe.
Cause #1 d'échec — la moitié des questions touchent au state, et la moitié de ces questions piègent les gens sans pratique.

L'examen pose : 'Tu lances terraform plan, il montre 5 ressources à supprimer que tu n'as PAS modifiées dans ton code — que s'est-il passé ?'. La bonne réponse demande de comprendre : (a) que le state local diverge du state distant, (b) que `terraform refresh` ou `terraform state list` peuvent diagnostiquer, (c) que `terraform import` réconcilie. Sans avoir vécu un state drift, tu réponds 'je ne sais pas'.

Le fixLance un projet personnel : crée 3 ressources AWS/Azure/GCP avec Terraform, commit. Puis modifie manuellement une ressource dans la console cloud. Refais `terraform plan` — observe le drift. Apprends à le résoudre avec `terraform refresh`, `terraform import`, ou `terraform apply -target`. 10h de pratique drift = +100 points sur l'examen.
#2
Confondre les blocs `provider`, `terraform required_providers`, et `terraform required_version`.
Erreur récurrente — pose 3-5 questions par examen.

L'examen distingue très précisément : (a) le bloc `terraform { required_version = ">= 1.0" }` qui contraint la version du binaire Terraform, (b) le bloc `terraform { required_providers { aws = { source = "hashicorp/aws", version = "~> 5.0" } } }` qui déclare les providers + leurs versions, et (c) le bloc `provider "aws" { region = "..." }` qui configure une instance de provider. Confondre les trois te fait rater toutes les questions sur les contraintes de version.

Le fixApprends par cœur ces 3 blocs en HCL avec leur structure exacte. Fais-toi une cheat-sheet : 'required_version → binaire / required_providers → versions plugins / provider → config runtime'. Teste-les dans ton lab : casse volontairement les versions pour voir les messages d'erreur.
#3
Ignorer la différence entre workspaces et stacks d'environnement (modules + state séparés).
Source d'environ 15-20% des erreurs évitables.

L'examen demande : 'Quelle est la meilleure approche pour gérer dev / staging / prod ?'. La réponse 'workspaces' (terraform workspace new staging) est piégée — c'est juste pour des variations mineures du MÊME state. Pour de vrais environnements, la bonne pratique est : 1 répertoire par env avec backend séparé OU 1 module réutilisable instancié N fois. L'examen teste cette nuance.

Le fixLis l'article officiel HashiCorp 'When to use Workspaces vs Separate State Files'. Pratique : crée un module reusable et instancie-le pour dev + prod avec backends différents. Comprends pourquoi `terraform_remote_state` est utile pour partager des outputs entre stacks.
#4
Mal comprendre `terraform destroy -target` et les dépendances implicites.
Erreur classique — pose 2-3 questions par examen.

Quand tu fais `terraform destroy -target=aws_instance.web`, Terraform supprime aussi tout ce qui DÉPEND de cette ressource (security groups attachés en exclusif, EIP, etc.) — pas l'inverse. L'examen teste si tu comprends la direction des dépendances et pourquoi `-target` est dangereux en prod (peut casser des ressources que tu n'avais pas l'intention de toucher).

Le fixFais un mini-lab : 1 VPC + 1 SG + 1 EC2 + 1 EIP. Lance `terraform destroy -target=aws_instance.web`. Observe ce qui se passe. Lis la doc officielle qui recommande explicitement de n'utiliser `-target` qu'en cas d'urgence et toujours faire un plan complet ensuite.
#5
Sous-estimer Terraform Cloud / Enterprise — ~15-20% des questions.
Surprise pour les utilisateurs purement OSS (CLI local + backend S3/Azure storage).

Depuis l'exam 003, HashiCorp a augmenté la part dédiée à Terraform Cloud : workspaces TFC, VCS integration, Sentinel policies, runs UI vs CLI, private module registry. Si tu n'as utilisé que Terraform CLI avec backend S3, tu n'as jamais vu un workspace TFC ni un Sentinel policy.

Le fixCrée un compte Terraform Cloud Free (5 utilisateurs gratuits). Connecte un repo GitHub, lance un run via UI, configure une variable workspace. Lis la doc Sentinel (au moins pour comprendre le vocabulaire : policy-as-code, hard-mandatory vs soft-mandatory enforcement).

Évite ces 5 erreurs en t'entraînant correctement

La pratique sur des questions au format examen reste la méthode #1 pour calibrer son niveau. HashiCorp Terraform Associate (003) a sa propre banque sur CertQuests — gratuite et sans inscription.

Sources

Analyse issue de threads publics (Reddit, communautés Discord/forum vendor). Les fréquences sont des estimations qualitatives — pas des stats officielles. Vérifier avec ses propres recherches avant de prendre une décision majeure de prep.