DevOpsFacile
AccueilParcours de formationCertificationsModulesCheat SheetÀ Propos
DevOpsFacile

Une plateforme d'apprentissage complète pour maîtriser les pratiques DevOps modernes, du débutant à l'expert.

contact@devopsfacile.fr

Formation

  • Parcours de formation
  • Modules

Informations

  • À Propos
  • Conditions d'utilisation
  • Confidentialité
  • Mentions légales

© 2026 DevOps Facile. Tous droits réservés.

Fait avec pour la communauté DevOps

ModulesInfrastructure as Code : premiers pas avec Terraform01 - Installer Terraform et configurer l'environnement

Détails

  • 15 minutes
  • Débutant

Objectifs

  • Installer Terraform et vérifier la version
  • Comprendre la syntaxe HCL (blocs, attributs, expressions)
  • Formatter son code avec terraform fmt
  • Structurer un projet Terraform minimal
Module Infrastructure as Code : premiers pas avec Terraform

Exercice 01 : Installer Terraform et configurer l'environnement

🎯 Objectifs

À la fin de cet exercice, vous serez capable de :

  • ✅ Installer Terraform et vérifier l'installation
  • ✅ Comprendre la syntaxe HCL (bloc, attribut, expression)
  • ✅ Utiliser terraform fmt pour formater son code
  • ✅ Structurer un projet Terraform avec les fichiers conventions

Durée estimée : 15 minutes

Difficulté : ⭐☆☆☆☆ (Débutant)

Prérequis : Accès terminal Linux/macOS/WSL, connexion internet


📖 Contexte

Terraform est un outil d'Infrastructure as Code (IaC) qui permet de créer, modifier et supprimer des ressources cloud en déclarant l'état souhaité dans des fichiers .tf. Avant de créer la moindre ressource, il faut comprendre la syntaxe HCL et l'organisation d'un projet.


📋 Énoncé

Vous allez installer Terraform, créer un projet minimal, explorer la syntaxe HCL et utiliser les outils de base (fmt, validate, version).

Résultat attendu :

  • Terraform installé et fonctionnel
  • Un projet avec la structure conventionnelle

🧭 Déroulement de l'exercice

Tâche 1 : Installer Terraform

Installez Terraform via le gestionnaire de paquets de votre système, puis vérifiez la version.

Indice : Sur Ubuntu/Debian : sudo apt-get install terraform après avoir ajouté le dépôt HashiCorp. Sur macOS : brew install terraform.

Vérification : terraform version affiche Terraform v1.x.x.


Tâche 2 : Activer l'autocomplétion

Activez l'autocomplétion de la CLI terraform dans votre shell.

Indice : terraform -install-autocomplete puis relancez votre shell.

Vérification : Taper terraform puis Tab propose les sous-commandes.


Tâche 3 : Créer la structure du projet

Créez un dossier terraform-demo avec les fichiers conventionnels : main.tf, variables.tf, outputs.tf.

Indice : La convention Terraform est un fichier par type de contenu. main.tf pour les ressources, variables.tf pour les variables, outputs.tf pour les outputs.

Vérification : ls terraform-demo/ liste les trois fichiers.


Tâche 4 : Explorer la syntaxe HCL

Écrivez un bloc locals dans main.tf qui définit deux valeurs : environment = "dev" et project_name = "mon-projet".

Indice : Un bloc HCL a la forme : keyword "label" { attribut = valeur }. locals n'a pas de label.

Vérification : terraform fmt main.tf reformate le fichier sans erreur.


Tâche 5 : Utiliser terraform fmt

Introduisez intentionnellement un mauvais formatage (indentation incorrecte) dans main.tf, puis utilisez terraform fmt pour le corriger.

Indice : terraform fmt -diff montre les changements avant de les appliquer. terraform fmt -check retourne un code d'erreur si le code n'est pas formaté (utile en CI).

Vérification : terraform fmt -check retourne 0 (pas d'erreur) après le formatage.


🗂️ Mini-Projet : Structure de projet complète

Créez la structure suivante pour un projet Terraform de production :

terraform-projet/
├── main.tf          # ressources principales
├── variables.tf     # déclarations des variables
├── outputs.tf       # valeurs exportées
├── locals.tf        # valeurs calculées locales
├── versions.tf      # contraintes de versions
└── terraform.tfvars # valeurs des variables (non commité)

Contenu de versions.tf :

hcl
terraform {
  required_version = ">= 1.5.0"

  required_providers {
    docker = {
      source  = "kreuzwerker/docker"
      version = "~> 3.0"
    }
  }
}

Contenu de locals.tf :

hcl
locals {
  environment  = "dev"
  project_name = "mon-projet"
  common_tags = {
    Project     = local.project_name
    Environment = local.environment
    ManagedBy   = "terraform"
  }
}

Checkpoints :

  • terraform version affiche une version >= 1.5.0
  • ls terraform-projet/ liste les 6 fichiers
  • terraform fmt -check terraform-projet/ retourne 0 (code formaté)
  • terraform validate dans le dossier retourne Success!
  • cat locals.tf affiche correctement les locals imbriqués

Retour au module

Sur cette page

  • 🎯 Objectifs
  • 📖 Contexte
  • 📋 Énoncé
  • 🧭 Déroulement de l'exercice
  • Tâche 1 : Installer Terraform
  • Tâche 2 : Activer l'autocomplétion
  • Tâche 3 : Créer la structure du projet
  • Tâche 4 : Explorer la syntaxe HCL
  • Tâche 5 : Utiliser terraform fmt
  • 🗂️ Mini-Projet : Structure de projet complète