Aller au contenu
Infrastructure as Code medium
🔐 Alerte sécurité — Incident supply chain Trivy : lire mon analyse de l'attaque

Valider et relire son code IaC

8 min de lecture

Relire du code IaC ne consiste pas seulement à vérifier que la syntaxe passe. Une bonne revue cherche à répondre à trois questions: le code est-il lisible, le changement est-il valide, et l’impact sur l’infrastructure est-il bien compris avant exécution. Tant que ces trois niveaux restent mélangés, les revues deviennent inefficaces. L’équipe perd du temps sur le formatage, laisse passer des changements risqués, ou approuve des modifications dont elle n’a pas réellement mesuré le périmètre.

Dans une pratique saine, on enlève d’abord les problèmes mécaniques grâce à l’automatisation. Ensuite seulement, la revue humaine se concentre sur le périmètre, la sécurité, la cohérence et le risque de changement. C’est cette séparation qui rend la revue IaC utile au lieu d’en faire un simple rituel de validation.

  • comprendre ce qu’une bonne revue IaC doit vérifier ;
  • mettre les contrôles automatiques avant la relecture humaine ;
  • savoir relire un changement d’infrastructure sans se limiter à la syntaxe.

Une pull request ajoute une nouvelle VM, ouvre un flux réseau et modifie un rôle de configuration système. Si la revue se limite à regarder rapidement les fichiers, plusieurs problèmes peuvent passer: un changement de topologie trop large, un secret sorti au mauvais endroit, un plan de remplacement involontaire, ou un couplage flou entre création de ressource et configuration du système.

À l’inverse, si l’équipe laisse les outils vérifier le formatage, la syntaxe et les règles évidentes, la revue humaine peut se concentrer sur les vraies questions: qu’est-ce qui change, pourquoi, avec quel impact, et comment revient-on en arrière si besoin ?

La première couche de qualité doit être automatique.

CoucheCe qu’elle vérifieExemple typique
FormatageCohérence de formeterraform fmt, formatage YAML
Validation syntaxiqueSyntaxe et cohérence interneterraform validate
LintBonnes pratiques et erreurs fréquentesansible-lint, hooks pre-commit
Analyse statiqueRisques, règles, erreurs de sécuritéscanner IaC ou règles dédiées
Plan ou aperçu du changementImpact attendu sur le réelplan Terraform ou équivalent

Le principe est simple : la relecture humaine ne doit pas perdre du temps sur ce qu’un outil peut bloquer avant elle.

  1. Nettoyer les problèmes triviaux

    Formatez le code, lancez les validations de base et corrigez les erreurs évidentes avant d’ouvrir la revue.

  2. Produire une lecture claire du changement

    Le diff doit montrer un périmètre lisible. Si une même PR mélange topologie, configuration système et refonte de structure, la revue devient mécaniquement plus faible.

  3. Examiner l’impact réel

    Pour l’infrastructure déclarative, la lecture du plan est centrale. Pour la configuration, il faut comprendre quelles machines, quels services et quelles règles sont touchés.

  4. Faire la revue humaine sur le fond

    C’est le moment de vérifier la cohérence d’architecture, le découpage des responsabilités, les implications sécurité et le risque opérationnel.

Quand les contrôles automatiques sont déjà passés, la revue gagne en qualité. Elle peut se concentrer sur les points suivants :

  • le périmètre du changement est-il clair ;
  • le dépôt ou l’outil concerné est-il le bon ;
  • le changement crée-t-il un risque de dérive ou de recouvrement avec un autre outil ;
  • le plan annonce-t-il des remplacements ou destructions inattendus ;
  • les variables, outputs, secrets et conventions restent-ils lisibles ;
  • la marche arrière ou la correction après incident reste-t-elle compréhensible.
QuestionPourquoi elle compte
Le diff change-t-il le bon périmètre ?Évite de mélanger plusieurs responsabilités
Le plan ou l’aperçu du changement est-il cohérent ?Réduit les surprises à l’exécution
Un secret ou une donnée sensible apparaît-il dans le diff ?Réduit le risque immédiat
Le changement est-il trop large pour être bien relu ?Une PR trop grosse se relit mal
La source de vérité reste-t-elle claire après ce changement ?Évite la dérive structurelle

Le contenu exact dépend des outils, mais l’idée reste la même : préparer un changement propre avant validation humaine.

Fenêtre de terminal
# Exemple côté Terraform
terraform fmt -check
terraform validate
Fenêtre de terminal
# Exemple côté hooks locaux
pre-commit run --all-files
Fenêtre de terminal
# Exemple côté Ansible
ansible-lint

Ces commandes ne remplacent pas la revue. Elles la rendent plus utile.

Quand une PR est approuvée parce que “ça a l’air propre”, sans lecture du périmètre ni du changement réel, la revue passe à côté de sa fonction principale.

Si le reviewer doit signaler un mauvais formatage, une règle évidente de lint ou une validation oubliée, l’équipe gaspille son temps sur des points mécaniques.

Une PR qui modifie trop de zones à la fois devient difficile à comprendre. En IaC, ce problème est plus grave encore, car les effets sur l’infrastructure peuvent être larges.

Ce guide pose la méthode transversale. Il ne remplace pas les guides plus spécifiques sur les outils de validation, de test ou d’analyse statique. Son rôle est de vous donner l’ordre logique entre ces briques.

  • Une bonne revue IaC ne se limite pas à la syntaxe : elle vérifie aussi le périmètre, le risque et la cohérence du changement.
  • Les contrôles automatiques doivent passer avant la revue humaine.
  • Le reviewer doit se concentrer sur ce qu’un outil ne peut pas juger seul : responsabilité, impact, sécurité, lisibilité, risque opérationnel.
  • Une PR trop large se relit mal, surtout quand elle touche l’infrastructure.
  • Le but n’est pas de ralentir le changement, mais de rendre son impact compréhensible avant exécution.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn