title: "Ansible pour Débutants en 2026 : Automatisez Votre Infra en 30 Minutes"
meta_description: "Apprenez Ansible en 30 minutes chrono. Tutoriel pas-à-pas pour débutants : installation, premier playbook, déploiement automatisé en 2026. Zéro expérience requise."
keywords: [ansible débutant, apprendre ansible, tutoriel ansible, ansible 30 minutes, automatisation infrastructure débutant, ansible pour commencer, playbook ansible simple, ansible linux débutant 2026]
date: 2026-03-14
cta_target: netrevision.fr, quernel-intelligence.com
author: Morvin Quernel — NetRevision / Quernel Intelligence
word_count: ~2400
Ansible pour Débutants en 2026 : Automatisez Votre Infra en 30 Minutes
Vous gérez encore vos serveurs à la main ? Vous vous connectez en SSH, vous tapez les mêmes commandes sur cinq machines différentes, et vous priez pour ne rien oublier ? Il existe une meilleure façon de faire. Elle s'appelle Ansible, et vous pouvez la maîtriser en 30 minutes.
Ce tutoriel est conçu pour les vrais débutants : sysadmins juniors, développeurs qui touchent à l'ops, étudiants en BTS SIO ou en BUT Réseaux et Télécoms. Aucune expérience en automatisation n'est requise. Tout ce dont vous avez besoin : une machine Linux (ou WSL2 sur Windows) et l'envie d'en finir avec les tâches répétitives.
Prêt ? Chrono lancé.
Sommaire
1. C'est quoi Ansible, concrètement ?
Ansible est un outil d'automatisation open source créé en 2012 et racheté par Red Hat en 2015. Son principe est simple : vous décrivez dans un fichier YAML ce que vous voulez faire sur vos serveurs, et Ansible s'en charge à votre place — sur une machine, cent ou mille, simultanément.
Ce qui le distingue de ses concurrents (Puppet, Chef, SaltStack) :
- Agentless : aucun logiciel à installer sur les machines cibles. Ansible passe uniquement par SSH.
- YAML lisible : les fichiers de configuration ressemblent à du langage naturel.
- Sans état : Ansible applique la configuration à chaque exécution, sans base de données centrale.
- Gratuit et open source : la version community couvre 95% des besoins.
En 2026, Ansible reste l'outil n°1 de l'automatisation IT selon les sondages Stack Overflow et le State of DevOps Report. Maîtriser Ansible, c'est un atout majeur sur votre CV.
2. Pourquoi Ansible plutôt que des scripts Bash ?
Bonne question. Vous connaissez peut-être déjà les scripts Bash. Alors pourquoi ajouter une couche de complexité ?
Le problème des scripts Bash :#!/bin/bash
Ce script marche... sur votre machine
apt-get install -y nginx
systemctl enable nginx
systemctl start nginx
Ce script fonctionne sur Ubuntu 22.04. Sur CentOS 9 ? Il faut dnf au lieu d'apt-get. Sur Debian 12 ? Peut-être. Sur Alpine Linux ? Certainement pas. Sans compter qu'il ne vérifie pas si nginx est déjà installé, s'il est déjà démarré, ou si une version plus récente doit être préférée.
- name: Installer et démarrer nginx
hosts: serveurs_web
become: yes
tasks:
- name: Installer nginx
ansible.builtin.package:
name: nginx
state: present
- name: Démarrer nginx et l'activer au boot
ansible.builtin.service:
name: nginx
state: started
enabled: yes
Ce playbook fonctionne sur Ubuntu, CentOS, Debian, RHEL. Le module package détecte automatiquement le gestionnaire de paquets. Si nginx est déjà installé et démarré, Ansible ne fait rien (idempotence). C'est la magie.
3. Installation en 3 Minutes
Sur Ubuntu / Debian
sudo apt update
sudo apt install -y ansible
ansible --version
Sur CentOS / RHEL / Rocky Linux
sudo dnf install -y epel-release
sudo dnf install -y ansible
ansible --version
Sur macOS (avec Homebrew)
brew install ansible
ansible --version
Sur Windows via WSL2
Installez WSL2 avec Ubuntu, puis suivez les instructions Ubuntu ci-dessus. Ansible fonctionne parfaitement dans WSL2.
Résultat attendu :ansible [core 2.17.x]
config file = /etc/ansible/ansible.cfg
python version = 3.12.x
Temps écoulé : ~3 minutes. Il vous reste 27 minutes.
4. Votre Premier Inventaire : Définir Vos Cibles
Avant de lancer quoi que ce soit, Ansible a besoin de savoir sur quels serveurs travailler. C'est le rôle de l'inventaire.
Inventaire statique simple (fichier texte)
Créez un fichier inventaire.ini :
[serveurs_web]
192.168.1.10
192.168.1.11
[serveurs_bdd]
192.168.1.20
[serveurs_web:vars]
ansible_user=ubuntu
ansible_ssh_private_key_file=~/.ssh/id_rsa
Explication :
[serveurs_web]et[serveurs_bdd]sont des groupes de serveurs.ansible_user: l'utilisateur SSH à utiliser.ansible_ssh_private_key_file: la clé SSH privée.
Tester la connectivité
ansible -i inventaire.ini serveurs_web -m ping
Résultat attendu :
192.168.1.10 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.1.11 | SUCCESS => {
"changed": false,
"ping": "pong"
}
Si vous obtenez pong, Ansible peut joindre vos serveurs. Problème fréquent : si vous utilisez un mot de passe SSH au lieu d'une clé, ajoutez -k à la commande et installez sshpass.
Temps écoulé : ~8 minutes.
5. Votre Premier Playbook : Déployer nginx en un Fichier
Un playbook est un fichier YAML qui décrit une série d'actions à réaliser. Créez deployer-nginx.yml :
---
- name: Déployer nginx sur les serveurs web
hosts: serveurs_web
become: yes # Exécuter en sudo
tasks:
- name: Mettre à jour le cache des paquets
ansible.builtin.apt:
update_cache: yes
cache_valid_time: 3600
- name: Installer nginx
ansible.builtin.apt:
name: nginx
state: present
- name: Démarrer nginx et l'activer au démarrage
ansible.builtin.service:
name: nginx
state: started
enabled: yes
- name: Vérifier que nginx répond sur le port 80
ansible.builtin.uri:
url: "http://localhost"
status_code: 200
Pour lancer ce playbook :
ansible-playbook -i inventaire.ini deployer-nginx.yml
Déchiffrer la sortie :
PLAY [Déployer nginx sur les serveurs web] *
TASK [Mettre à jour le cache des paquets]
ok: [192.168.1.10]
ok: [192.168.1.11]
TASK [Installer nginx] *
changed: [192.168.1.10]
changed: [192.168.1.11]
TASK [Démarrer nginx et l'activer au démarrage]
ok: [192.168.1.10]
ok: [192.168.1.11]
PLAY RECAP *
192.168.1.10 : ok=4 changed=1 unreachable=0 failed=0
192.168.1.11 : ok=4 changed=1 unreachable=0 failed=0
ok: la tâche a été vérifiée, aucun changement nécessaire.changed: Ansible a effectué une modification.failed: erreur — lisez le message d'erreur, il est généralement très explicite.
Temps écoulé : ~15 minutes.
6. Les Modules les Plus Utiles pour Débuter
Ansible dispose de plus de 6 000 modules. Voici les 8 incontournables pour vos premiers projets :
| Module | Usage | Exemple |
|--------|-------|---------|
| ansible.builtin.apt | Installer des paquets (Debian/Ubuntu) | name: curl state: present |
| ansible.builtin.dnf | Installer des paquets (RHEL/CentOS) | name: git state: latest |
| ansible.builtin.package | Universel (détecte le gestionnaire) | name: nginx state: present |
| ansible.builtin.service | Gérer les services systemd | name: nginx state: started |
| ansible.builtin.copy | Copier des fichiers locaux → serveur | src: ./nginx.conf dest: /etc/nginx/ |
| ansible.builtin.template | Copier un template Jinja2 | src: nginx.conf.j2 dest: /etc/nginx/nginx.conf |
| ansible.builtin.file | Créer dossiers, gérer permissions | path: /var/www/html state: directory mode: '0755' |
| ansible.builtin.command | Exécuter une commande shell | cmd: /usr/bin/certbot renew |
ansible.builtin.command quand il existe. Les modules gèrent l'idempotence, pas les commandes brutes.
7. Variables et Fichiers de Configuration
Hardcoder des valeurs dans un playbook, c'est une mauvaise pratique. Ansible propose plusieurs façons de déclarer des variables.
Variables inline dans le playbook
- name: Déployer une app
hosts: serveurs_web
vars:
app_port: 8080
app_name: "mon-api"
app_user: "deploy"
tasks:
- name: Créer l'utilisateur de déploiement
ansible.builtin.user:
name: "{{ app_user }}"
state: present
Fichier de variables externe (group_vars/)
Créez le dossier group_vars/serveurs_web.yml :
nginx_port: 80
app_domain: "monsite.fr"
ssl_enabled: true
Ansible charge automatiquement ce fichier pour le groupe serveurs_web. Pas besoin de l'importer manuellement.
Variables sensibles avec Ansible Vault
Pour les mots de passe et clés API, ne jamais les mettre en clair dans vos fichiers. Utilisez Vault :
# Créer un fichier chiffré
ansible-vault create group_vars/all/secrets.yml
Lancer un playbook avec le mot de passe vault
ansible-playbook -i inventaire.ini deploy.yml --ask-vault-pass
8. Scénario Complet : Provisionner un Serveur Web from Scratch
Mettons tout ensemble. Voici un playbook réaliste pour provisionner un serveur web Ubuntu avec nginx, un firewall UFW et un utilisateur de déploiement.
Fichier :provision-serveur-web.yml
---
- name: Provisionner un serveur web Ubuntu
hosts: serveurs_web
become: yes
vars:
deploy_user: "deploy"
ssh_pub_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
nginx_doc_root: "/var/www/html"
tasks:
# --- Sécurité de base ---
- name: Mettre à jour tous les paquets installés
ansible.builtin.apt:
upgrade: dist
update_cache: yes
- name: Créer l'utilisateur de déploiement
ansible.builtin.user:
name: "{{ deploy_user }}"
groups: sudo
shell: /bin/bash
create_home: yes
- name: Ajouter la clé SSH publique pour l'utilisateur deploy
ansible.posix.authorized_key:
user: "{{ deploy_user }}"
state: present
key: "{{ ssh_pub_key }}"
# --- Firewall ---
- name: Installer UFW
ansible.builtin.apt:
name: ufw
state: present
- name: Autoriser SSH
community.general.ufw:
rule: allow
port: "22"
proto: tcp
- name: Autoriser HTTP et HTTPS
community.general.ufw:
rule: allow
port: "{{ item }}"
proto: tcp
loop:
- "80"
- "443"
- name: Activer UFW
community.general.ufw:
state: enabled
policy: deny
# --- Nginx ---
- name: Installer nginx
ansible.builtin.apt:
name: nginx
state: present
- name: Créer le répertoire de publication web
ansible.builtin.file:
path: "{{ nginx_doc_root }}"
state: directory
owner: "{{ deploy_user }}"
group: www-data
mode: "0755"
- name: Déployer une page d'accueil de test
ansible.builtin.copy:
content: |
<!DOCTYPE html>
<html>
<head><title>Serveur provisionné avec Ansible</title></head>
<body><h1>Succès ! Ansible a tout configuré.</h1></body>
</html>
dest: "{{ nginx_doc_root }}/index.html"
owner: "{{ deploy_user }}"
group: www-data
mode: "0644"
- name: Démarrer et activer nginx
ansible.builtin.service:
name: nginx
state: started
enabled: yes
handlers:
- name: Recharger nginx
ansible.builtin.service:
name: nginx
state: reloaded
Exécution :
ansible-playbook -i inventaire.ini provision-serveur-web.yml
En une commande, votre serveur est :
- Mis à jour
- Sécurisé (firewall, utilisateur dédié, clé SSH)
- Prêt à servir du contenu web
Temps écoulé : ~25 minutes.
9. Les Erreurs Classiques du Débutant
Erreur 1 : Oublierbecome: yes
Sans become: yes, les tâches qui nécessitent des droits root échoueront avec Permission denied. Ajoutez-le au niveau du play ou de la tâche individuelle.
state: present et state: latest
present installe le paquet s'il est absent. latest le met à jour à chaque exécution. Sur des serveurs de production, préférez present pour contrôler les montées de version.
Erreur 3 : Utiliser command pour tout
Le module command n'est pas idempotent. Si vous installez nginx avec command: apt-get install nginx, Ansible le réinstallera à chaque fois. Utilisez toujours le module dédié.
Avant d'exécuter un playbook sur des serveurs de production, utilisez le flag --check :
ansible-playbook -i inventaire.ini deploy.yml --check
Ansible simule l'exécution sans rien modifier. Précieux avant une opération critique.
Erreur 5 : Hardcoder des mots de passeNe jamais mettre un mot de passe ou une clé API en clair dans un playbook ou un fichier de variables. Utilisez Ansible Vault dès le départ.
10. Prochaines Étapes pour Progresser
Vous venez de maîtriser les fondamentaux d'Ansible en 30 minutes. Voici la roadmap pour aller plus loin :
Semaine 2 : Les rôles AnsibleStructurez votre code en rôles réutilisables. Un rôle nginx, un rôle postgresql, un rôle firewall. Votre code devient modulaire et partageable.
ansible-galaxy init mon-role-nginx
Semaine 3 : Ansible Galaxy
Découvrez la bibliothèque communautaire : 15 000+ rôles prêts à l'emploi. Installez geerlingguy.nginx, geerlingguy.postgresql, geerlingguy.docker plutôt que de réinventer la roue.
ansible-galaxy install geerlingguy.nginx
Semaine 4 : Intégration CI/CD
Déclenchez vos playbooks depuis GitHub Actions ou GitLab CI. Chaque push sur main provisionne automatiquement votre environnement de staging.
L'interface web open source pour Ansible. Planifiez des runs, gérez les permissions, auditez les exécutions. Parfait pour les équipes.
Pour aller plus vite dans votre montée en compétences, découvrez nos ressources sur netrevision.fr : cours vidéo, labs pratiques et fiches de révision pour la certification Red Hat Ansible (EX407). Des centaines de sysadmins et DevOps ont déjà accéléré leur carrière avec nos formations.CTA — Passez à l'Automatisation Intelligente
Ansible est une brique essentielle de toute infrastructure moderne. Mais l'automatisation ne s'arrête pas là. En 2026, les équipes IT les plus efficaces combinent Ansible avec l'intelligence artificielle pour aller encore plus loin :
- Détection automatique des dérives de configuration
- Génération de playbooks assistée par IA
- Monitoring prédictif de l'infrastructure
- Remédiation automatisée des incidents
Chez Quernel Intelligence, nous aidons les équipes IT et les PME à franchir ce cap : passer d'une automatisation basique à une infrastructure qui s'auto-gère. Prenez contact pour une démonstration gratuite.
Et pour maîtriser les fondamentaux réseau et système qui font un vrai professionnel IT, rendez-vous sur netrevision.fr : le site de référence pour les cours de réseaux, Linux et DevOps en français.
FAQ — 7 Questions Fréquentes des Débutants
1. Ansible fonctionne-t-il sur Windows ?Ansible peut gérer des serveurs Windows cibles via WinRM (Windows Remote Management) au lieu de SSH. En revanche, le contrôleur Ansible (la machine depuis laquelle vous lancez vos playbooks) doit être Linux ou macOS. Sur Windows, utilisez WSL2.
2. Combien de serveurs peut gérer Ansible en parallèle ?Par défaut, Ansible gère 5 hôtes en parallèle (forks = 5 dans ansible.cfg). Vous pouvez augmenter cette valeur à 50, 100 ou plus selon les capacités de votre machine de contrôle. Des entreprises gèrent des flottes de 10 000+ serveurs avec Ansible.
Terraform gère l'infrastructure (créer des VMs, des VPCs, des load balancers sur AWS/Azure/GCP). Ansible configure ce qui tourne sur cette infrastructure (installer les paquets, déployer les applis). Les deux outils sont complémentaires.
4. Ansible est-il suffisant pour débuter en DevOps ?Ansible est souvent le premier outil DevOps recommandé aux débutants, précisément parce qu'il ne nécessite pas d'agent et que sa syntaxe YAML est accessible. Après Ansible, vous serez bien préparé pour apprendre Docker, Kubernetes et Terraform.
5. Dois-je payer pour utiliser Ansible ?Non. Ansible Community Edition est totalement gratuit et open source (licence GPL). Red Hat propose des offres payantes (Ansible Automation Platform) pour les grandes entreprises, avec support, interface web AWX et conformité enterprise. Pour apprendre et pour des infrastructures de taille raisonnable, la version gratuite suffit largement.
6. Comment sécuriser mes playbooks en production ?Plusieurs bonnes pratiques : utiliser Ansible Vault pour tous les secrets, stocker vos playbooks dans un repo Git privé, tester systématiquement avec --check avant d'appliquer, utiliser des utilisateurs SSH dédiés avec droits minimaux, et auditer vos runs dans AWX.
Pour la gestion de configuration et le provisionnement de serveurs, oui — et il le fait mieux (idempotence, multi-OS, lisibilité). Mais Bash reste utile pour les scripts de traitement local simples, les hooks Git ou les tâches ponctuelles. Les deux coexistent souvent dans un même projet.
Récapitulatif : Ce Que Vous Avez Appris en 30 Minutes
| Concept | Ce que vous savez faire maintenant |
|---------|-----------------------------------|
| Installation | Installer Ansible sur Ubuntu, CentOS, macOS |
| Inventaire | Définir des groupes de serveurs, configurer SSH |
| Module ping | Tester la connectivité avec tous vos hôtes |
| Playbook YAML | Écrire et exécuter un playbook multi-tâches |
| Modules clés | apt, service, copy, file, template, command |
| Variables | Déclarer des variables inline et via group_vars |
| Ansible Vault | Protéger les secrets en prod |
| Dry-run | Tester sans risque avec --check |
| Scénario réel | Provisionner un serveur web complet from scratch |
Vous êtes passé de zéro à opérationnel sur Ansible. La prochaine étape ? Déployer vos propres playbooks sur votre infrastructure réelle, et explorer les rôles pour organiser votre code.
Besoin d'aller plus loin ?- Cours et labs Ansible sur netrevision.fr
- Automatisation IA de votre infra : quernel-intelligence.com
Article rédigé le 14 mars 2026 par Morvin Quernel — NetRevision / Quernel Intelligence Mots-clés ciblés : ansible débutant, tutoriel ansible, ansible 30 minutes, apprendre ansible 2026, automatisation infrastructure débutant