git push
|
v
GitHub Actions -> terraform plan / apply
| state distant (S3 + lock)
v
VMs Azure / AWS
security groups + firewall
|
v
Ansible (roles, playbooks)
|- users, SSH, sudoers
|- Docker + services
`- node_exporter
|
v
Prometheus -> Grafana
(metriques, alertes)TerraCloud — infra as code
Epitech · spécialité Architecte SI · 2026
Une infrastructure montée à la main ne se reproduit pas. Le serveur qui tourne depuis deux ans, personne ne sait exactement ce qu'il y a dessus — et le jour où il faut le remonter, la seule documentation fiable est le serveur lui-même.
Toute l'infra décrite en code : Terraform pour le provisionnement des VMs, des réseaux et des règles de filtrage, avec un state distant versionné et verrouillé. Ansible prend le relais pour la configuration — utilisateurs, SSH, durcissement, installation des services en rôles réutilisables. Le tout déclenché par GitHub Actions, avec un `plan` relu avant chaque `apply`.
Séparation stricte entre ce qui crée la ressource et ce qui la configure : Terraform ne fait pas de configuration système, Ansible ne crée pas de VM. C'est ce qui permet de reconstruire une machine à l'identique sans rejouer toute la chaîne, et de garder un state lisible quand plusieurs personnes travaillent sur la même infra.
Une infrastructure reconstructible de zéro en une commande, supervisée par Prometheus et lisible dans Grafana, avec des déploiements applicatifs conteneurisés et des accès SSH gérés côté code plutôt qu'à la main sur chaque machine.




