Terraform : parcours Infrastructure as Code AWS (2026)
À la fin de cette page hub, vous saurez pourquoi Terraform pour l’Infrastructure as Code AWS, comment enchaîner le parcours P2 (fondations → langage → modularité → labs), et où trouver chaque leçon — sans secrets en clair et avec une Region lab claire (
ca-central-1).Niveau : Débutant → Intermédiaire · Temps estimé parcours : 15–25 h (labs inclus) · Versions cibles : Terraform ≥ 1.9 · AWS provider 5.x · Region labs ca-central-1 · Dernière vérification : 2026-09-11
Prérequis
- [ ] Compte AWS avec utilisateur IAM quotidien (pas le root) et MFA
- [ ] AWS CLI configurée (
aws sts get-caller-identityOK) - [ ] Alerte de budget AWS active (labs = coûts réels possibles)
- [ ] Terminal + éditeur ; notions Git de base
- [ ] (Recommandé) avoir parcouru AWS Fundamentals et créer un compte AWS
Coût estimé : 0 € pour la lecture du hub ; les labs (EBS, ALB, RDS, VPC…) facturent selon usage — terraform destroy en fin de session.
Ce hub /terraform/ est la page pilier menu : carte du parcours, liens live, ordre pédagogique. Les 24 tutos P2 sont rédigés en draft ; la publication individuelle reste HOLD.
Ce que vous allez apprendre
Parcours Terraform P2 (24 leçons)
├── 1. Fondations
│ overview → install → workflow → blocs HCL → providers/ressources
├── 2. Langage
│ variables → locals → outputs → state S3 → data sources
│ → boucles (for_each) → conditionnels → dynamic blocks
├── 3. Modularité
│ modules bases → registry → workspaces → provisioners (prudence)
└── 4. Labs AWS (ca-central-1)
EBS → ALB → IAM → RDS → VPC → Auto Scaling → Route 53
(Cover hub : hub-terraform-1200.webp — alt : « Hub Terraform : parcours Infrastructure as Code AWS ».)
Grille liens menu Terraform
Liens du menu live Terraform (hors sujet exclu : upgrading-kubernetes). Titres pédagogiques FR ; URL = slug live. Notes discrètes quand le slug P2 canonique diffère.
| Titre pédagogique (FR) | URL live | Note slug P2 |
|---|---|---|
| Vue d’ensemble Terraform (IaC) | /terraform-overview/ | terraform-overview |
| Installer Terraform pour AWS | /terraform-aws-installation/ | P2 : installer-terraform |
| Tester l’installation | /test-your-installation/ | live historique |
| Workflow init / plan / apply | /terraform-workflow/ | terraform-workflow |
| Bases du langage HCL | /terraform-language-basics/ | live historique |
| Blocs HCL (terraform, provider, resource) | /terraform-blocks/ | P2 : terraform-blocs-hcl |
| Providers et ressources AWS 5.x | /terraform-providers-resources/ | P2 : terraform-providers-ressources |
| Variables, locals et outputs | /terraform-variables/ | terraform-variables (+ locals/outputs P2) |
| Exemple variables + data sources | /terraform-variable-and-datasource-example/ | live historique |
| State distant sur S3 | /terraform-state-file-on-s3/ | P2 : terraform-state-backend-s3 |
| Data sources AWS | /terraform-datasource/ | P2 : terraform-data-sources |
Boucles for_each vs count |
/terraform-loops-for-for-each/ | P2 : terraform-boucles-for-each |
| Expressions conditionnelles | /terraform-conditional-statements/ | P2 : terraform-conditionnels |
| Dynamic blocks | /terraform-dynamic-blocks/ | terraform-dynamic-blocks |
| Modules Terraform | /terraform-modules/ | P2 : terraform-modules-bases (+ registry) |
| Workspaces | /terraform-workspace/ | terraform-workspace |
| Provisioners (et quand les éviter) | /terraform-provisioner/ | P2 : terraform-provisioners |
| Volume EBS | /terraform-ebs-volume/ | P2 : terraform-ebs |
| ALB / ELB | /terraform-elb/ | P2 : terraform-alb |
| IAM (users, rôles, least privilege) | /terraform-iam/ | terraform-iam |
| RDS managé | /terraform-rds/ | terraform-rds |
| VPC AWS | /terraform-vpc/ | terraform-vpc |
| Auto Scaling | /terraform-autoscaling/ | terraform-autoscaling |
23 liens menu (entrée hors-sujet upgrading-kubernetes exclue). Les leçons P2 sans page live dédiée (terraform-locals, terraform-outputs, terraform-modules-registry, terraform-route53) apparaissent dans le parcours recommandé ci-dessous.
Parcours recommandé (ordre 01 → 24)
Articles détaillés P2 : en préparation / HOLD côté publish. Liens relatifs = slugs canoniques P2 quand le draft existe ; sinon fallback URL menu live.
| # | Leçon | Lien |
|---|---|---|
| 01 | Découvrir Terraform | /terraform-overview/ |
| 02 | Installer Terraform | /installer-terraform/ |
| 03 | Workflow init → destroy | /terraform-workflow/ |
| 04 | Blocs HCL | /terraform-blocs-hcl/ |
| 05 | Providers & ressources | /terraform-providers-ressources/ |
| 06 | Variables | /terraform-variables/ |
| 07 | Locals | /terraform-locals/ |
| 08 | Outputs | /terraform-outputs/ |
| 09 | State backend S3 | /terraform-state-backend-s3/ |
| 10 | Data sources | /terraform-data-sources/ |
| 11 | Boucles for_each |
/terraform-boucles-for-each/ |
| 12 | Conditionnels | /terraform-conditionnels/ |
| 13 | Dynamic blocks | /terraform-dynamic-blocks/ |
| 14 | Modules — bases | /terraform-modules-bases/ |
| 15 | Modules — registry | /terraform-modules-registry/ |
| 16 | Workspaces | /terraform-workspace/ |
| 17 | Provisioners | /terraform-provisioners/ |
| 18 | Lab EBS | /terraform-ebs/ |
| 19 | Lab ALB | /terraform-alb/ |
| 20 | Lab IAM | /terraform-iam/ |
| 21 | Lab RDS | /terraform-rds/ |
| 22 | Lab VPC | /terraform-vpc/ |
| 23 | Lab Auto Scaling | /terraform-autoscaling/ |
| 24 | Lab Route 53 | /terraform-route53/ |
Commencez ici : Overview puis Install (live actuel : /terraform-aws-installation/).
Pourquoi ce parcours
- Progression réelle — concepts avant labs coûteux ; vous lisez un
planavant de payer. - Region unique —
ca-central-1partout : moins de drift mental, tags et backends cohérents. - State sérieux dès le milieu — backend S3 + verrouillage avant les modules et labs réseau.
- Zéro secret en clair — variables
sensitive, IAM least privilege, pas d’access keys dans les.tf. - Patterns 2026 — provider AWS 5.x, Launch Template (pas Launch Configuration), modules versionnés.
Terraform brille quand l’équipe versionne l’infra comme du code : revue, reproductibilité, destroy propre. Ce hub oriente ; les leçons détaillent.
FAQ
Terraform ou CloudFormation pour AWS ?
Les deux sont déclaratifs. CloudFormation est natif AWS (StackSets, drift console). Terraform offre un workflow plan très lisible, un écosystème multi-cloud et des modules réutilisables. Sur ce site on enseigne Terraform ≥ 1.9 + AWS 5.x ; connaître CloudFormation reste un plus pour les équipes AWS-only — voir aussi AWS CloudFormation.
Pourquoi le state est-il critique ?
Le state mappe ressources HCL ↔ IDs cloud. Sans lui (ou avec un state local partagé n’importe comment), Terraform recrée, duplique ou ignore des ressources. En équipe : backend S3 + verrouillage, jamais de commit du state en clair.
Quand utiliser for_each plutôt que count ?
Préférez for_each avec des clés stables (map/set) pour éviter les destroys en cascade quand une entrée du milieu disparaît. count convient aux cas 0/1 simples. Détails dans la leçon boucles P2.
Faut-il tout mettre en modules dès le premier lab ?
Non. Écrivez d’abord un root module clair (variables, locals, outputs). Modularisez quand un motif se répète (SG, subnet, rôle IAM) ou quand plusieurs stacks partagent la même brique. Registry ensuite, avec versions épinglées.
Combien coûtent les labs AWS ?
Lecture = 0 €. Un lab VPC + ALB + RDS peut coûter quelques dollars/jour si oublié. Activez une alerte budget, préférez tailles mini, et terminez toujours par terraform destroy (vérifiez la console). Region ca-central-1 pour rester aligné avec les tutos.
Points clés
- Terraform = IaC déclarative : désiré → plan → apply
- Versions série : Terraform ≥ 1.9, AWS provider 5.x, labs ca-central-1
- Ordre gagnant : fondations → langage → state → modules → labs AWS
- Pas de secrets dans Git ; destroy en fin de session
- Cette page
/terraform/est le hub public ; tutos longs = HOLD publish
CTA : démarrez par Découvrir Terraform, puis Installer Terraform (live : terraform-aws-installation).
Continuer sur le site (maillage)
| Hub | Lien |
|---|---|
| Docker | /docker/ |
| Kubernetes | /kubernetes/ |
| Ansible | /ansible/ |
| AWS Fundamentals / SA | /aws-fundamentals/ · /aws-certified-solutions-architect/ |
| Azure DevOps (pipelines) | /azure-devops-cicd-pipeline/ |
| Jenkins CI/CD | /jenkins/ |
Parcours liés (Terraform)
- Vue d'ensemble Terraform
- Installer Terraform pour AWS
- Workflow Terraform
- Bases du langage HCL
- Modules Terraform
- State distant sur S3
- Lab VPC Terraform
- Lab IAM Terraform
- Parcours AWS natif
- Préparer Terraform Associate
- Socle Linux
Passerelles cross-hub (Terraform)
Parcours densifié Terraform sur AWS
Ce complément densifie le hub Terraform avec un enchaînement concret : installation → langage → providers/resources → variables → modules → state distant → patterns (loops, conditions, dynamic blocks) → stacks AWS (VPC, IAM, ELB, Auto Scaling, RDS, EBS). L’idée est un projet Infrastructure as Code lisible, versionné Git, et aligné Free Tier en ca-central-1.
Travaillez d’abord le workflow init / plan / apply / destroy, puis externalisez le state sur S3. Les modules réutilisent l’élément commun (réseau, sécurité) sans copier-coller. Pour la certification HashiCorp Terraform Associate, reliez chaque tutoriel à une compétence d’examen : providers, state, variables, déploiement multi-environnement via workspaces.
Gardez une organisation stricte des dossiers (env/, modules/, policy/) et un pipeline CI qui refuse le merge si fmt ou validate échoue. Ainsi chaque étape du hub reste un lab isolé, destructible, documenté.
- Terraform Overview
- Installation AWS + Terraform
- Bases du langage HCL
- Providers & resources
- Variables (Locals menu → ici, pas /terraform-locals/)
- Modules
- State file sur S3
- VPC avec Terraform
- IAM Terraform
- Workflow
- Workspaces
- Dynamic blocks
Certification : préparez Terraform Associate et le tutoriel préparer Terraform Associate 004. Organisation : un dépôt par lab, pipelines CI pour fmt/validate/plan, et retour vers le hub AWS pour la cible cloud.


