Aller au contenu
Infrastructure as Code medium

Installer Ansible : 5 méthodes pour AlmaLinux, Ubuntu, macOS et WSL

16 min de lecture

Logo Ansible

Vous voulez Ansible sur votre poste pour démarrer la formation, et vous hésitez entre dnf, pip, pipx, mise et tous les autres tutoriels qui se contredisent. Bonne nouvelle : sur 95 % des cas, pipx est la bonne réponse. Ce guide compare les 5 méthodes 2026 — paquet distrib, pipx, mise, uv tool, Execution Environment via ansible-navigator — et explique laquelle choisir selon votre contexte. Vous repartez avec un ansible --version qui répond, et la certitude que votre installation est conforme aux attentes du RHCE EX294.

  • Choisir la méthode d’installation adaptée à votre poste (Linux, macOS, WSL2).
  • Installer ansible-core 2.18+ avec la méthode recommandée (pipx).
  • Vérifier que l’installation est fonctionnelle (ansible --version, modules disponibles, binaires livrés).
  • Configurer l’autocomplétion bash, zsh, fish.
  • Comprendre les méthodes alternatives (mise, uv tool, EE) et quand les préférer.

Si vous voulez aller vite et bien, voici la décision en une ligne. pipx est l’installation recommandée pour démarrer Ansible en 2026 sur la plupart des distributions Linux et sur macOS.

Fenêtre de terminal
sudo dnf install -y pipx # AlmaLinux 10, RHEL 10, Fedora
# ou : sudo apt install -y pipx # Ubuntu 24.04, Debian 13
# ou : brew install pipx # macOS
pipx ensurepath
pipx install --include-deps ansible

Cette séquence installe ansible-core (le moteur), le metapackage ansible (qui tire les collections communautaires), et tous les binaires (ansible-playbook, ansible-galaxy, ansible-doc, ansible-vault, ansible-config, ansible-inventory, ansible-pull, ansible-test). Vous pouvez relancer un terminal et taper ansible --version immédiatement. Trois minutes top chrono.

pipx mérite sa place de premier choix parce qu’il combine simplicité, isolation et compatibilité multi-plateformes. Voici la procédure complète, distribution par distribution.

Fenêtre de terminal
# 1. Installer pipx via dnf
sudo dnf install -y pipx
pipx ensurepath # ajoute ~/.local/bin au PATH
exec $SHELL # recharge le shell pour prendre le PATH
# 2. Installer ansible (metapackage = ansible-core + collections communautaires)
pipx install --include-deps ansible
# 3. Vérifier
ansible --version

Cette sortie est ce que vous obtenez avec une installation fraîche pipx install ansible en avril 2026. Les versions ansible-core 2.20.x et Python 3.12 sont conformes RHCE EX294.

ansible --version
ansible [core 2.20.1]
config file = None
configured module search path = ['/home/bob/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/bob/.local/share/pipx/venvs/ansible/lib/python3.12/site-packages/ansible
ansible collection location = /home/bob/.ansible/collections:/usr/share/ansible/collections
executable location = /home/bob/.local/bin/ansible
python version = 3.12.3 (main, Mar 23 2026, 19:04:32) [GCC 13.3.0]
jinja version = 3.1.6
pyyaml version = 6.0.3 (with libyaml v0.2.5)

Trois lignes méritent votre attention. ansible [core 2.20.1] est la version du moteur — vous voulez 2.18 ou plus récente pour le RHCE 2026. python version doit être 3.12 minimum pour ansible-core 2.20. executable location dans ~/.local/bin/ confirme que pipx a bien installé sans pollution globale.

Vérifier les binaires livrés et les modules disponibles

Section intitulée « Vérifier les binaires livrés et les modules disponibles »

pipx install --include-deps ansible installe le metapackage ansible, qui inclut 9 binaires plus toutes les collections communautaires de la distribution Ansible. Vérifiez avec :

/home/bob/.local/bin/ansible
ls ~/.local/bin/ansible*
# /home/bob/.local/bin/ansible-community
# /home/bob/.local/bin/ansible-config
# /home/bob/.local/bin/ansible-console
# /home/bob/.local/bin/ansible-doc
# /home/bob/.local/bin/ansible-galaxy
# /home/bob/.local/bin/ansible-inventory
# /home/bob/.local/bin/ansible-playbook
# /home/bob/.local/bin/ansible-pull
# /home/bob/.local/bin/ansible-test
ansible-doc -l 2>/dev/null | wc -l
# 9482

Le compteur 9482 modules est la valeur réelle observée avec le metapackage ansible 13.x — il regroupe ansible.builtin, community.general, ansible.posix, ansible.netcommon, kubernetes.core, community.docker et plusieurs dizaines d’autres collections. Si vous installez uniquement ansible-core (sans --include-deps), le compteur tombe à environ 100 (la collection ansible.builtin seule).

C’est la méthode qui paraît la plus simple — sudo dnf install ansible — et qui est en fait la moins recommandée en 2026. Pourquoi ? Parce que les paquets distribution sont figés à des versions parfois anciennes, et que la mise à niveau d’Ansible est liée à celle de votre distribution.

Fenêtre de terminal
# AlmaLinux 10 / RHEL 10 / Fedora 40+
sudo dnf install -y ansible
# Ubuntu 24.04
sudo apt update
sudo apt install -y ansible

Avantages : un seul paquet à gérer, signé par votre distribution, intégré aux mises à jour système. Inconvénients : version souvent décalée de plusieurs mois, pas de contrôle fin sur la version ansible-core ciblée, conflits possibles si vous installez plus tard pipx ansible en parallèle (deux ansible dans le PATH).

mise est un gestionnaire de versions polyvalent (équivalent moderne de asdf) qui sait installer Ansible aux côtés de Python, Terraform, kubectl, etc. C’est la méthode utilisée sur le poste de l’auteur pour gérer toute la chaîne IaC d’un coup.

Fenêtre de terminal
# 1. Installer mise (si vous ne l'avez pas)
curl https://mise.run | sh
echo 'eval "$(mise activate bash)"' >> ~/.bashrc
exec $SHELL
# 2. Installer Ansible globalement
mise use -g ansible@latest
# 3. Vérifier
ansible --version

Sortie typique côté mise list une fois plusieurs outils installés :

mise list
ansible 13.4.0
pipx:ansible-lint 26.2.0
python 3.12.13

Avantages : gère plusieurs versions en parallèle (ex. ansible@2.18 pour un projet legacy et ansible@latest ailleurs), même outil que pour Python/Terraform. Inconvénients : courbe d’apprentissage de mise lui-même, moins répandu que pipx côté communauté Ansible.

uv est le package manager Python moderne d’Astral (les auteurs de ruff). Sa sous-commande uv tool install est l’équivalent direct de pipx install, en plus rapide.

Fenêtre de terminal
# 1. Installer uv
curl -LsSf https://astral.sh/uv/install.sh | sh
exec $SHELL
# 2. Installer Ansible
uv tool install --with ansible-core ansible
# 3. Vérifier
ansible --version

Avantages : uv télécharge et installe en quelques secondes (10 à 100× plus rapide que pip), un seul outil pour Python + outils Python. Inconvénients : projet jeune (2024), API encore mouvante, écosystème Ansible n’a pas encore basculé.

Méthode 5 : Execution Environment via ansible-navigator

Section intitulée « Méthode 5 : Execution Environment via ansible-navigator »

C’est la mécanique de référence depuis Ansible Automation Platform 2.0 et le mode d’exécution attendu par le RHCE EX294. Plutôt qu’installer ansible-core directement, vous lancez Ansible dans un conteneur OCI qui contient le moteur, les collections et les dépendances Python figées.

Fenêtre de terminal
# 1. Installer ansible-navigator + Podman/Docker
pipx install ansible-navigator
sudo dnf install -y podman # ou docker
# 2. Lancer un playbook dans une EE par défaut
ansible-navigator run playbook.yml --ee true \
--eei quay.io/ansible/creator-ee:latest
# 3. Construire votre propre EE (facultatif, recommandé)
pipx install ansible-builder
ansible-builder build -t mon-ee:1.0 -f execution-environment.yml
ansible-navigator run playbook.yml --eei mon-ee:1.0

Avantages : reproductibilité parfaite (même image partout, du poste à la prod), versions figées, conformité avec AAP, mode d’exécution attendu au RHCE 2026. Inconvénients : démarrage du conteneur ajoute 1-2 secondes par run, courbe d’apprentissage du couple ansible-builder + ansible-navigator, nécessite Podman ou Docker installé.

Une fois ansible installé, activez l’autocomplétion. Vous gagnez en confort sur les commandes longues (modules, options) et en rapidité.

Fenêtre de terminal
mkdir -p ~/.local/share/bash-completion/completions
ansible --version # ne déclenche pas la completion mais valide l'install
register-python-argcomplete ansible > \
~/.local/share/bash-completion/completions/ansible
register-python-argcomplete ansible-playbook > \
~/.local/share/bash-completion/completions/ansible-playbook
register-python-argcomplete ansible-doc > \
~/.local/share/bash-completion/completions/ansible-doc
exec $SHELL

Le binaire register-python-argcomplete est livré par le paquet argcomplete, dépendance de ansible-navigator. Si la commande est introuvable, installez-le : pipx inject ansible argcomplete ou pipx install argcomplete.

Pour valider que votre installation est complète et utilisable, lancez ces trois commandes en série. Toutes doivent retourner sans erreur.

Fenêtre de terminal
# 1. Version (doit être ansible-core 2.18+)
ansible --version | head -1
# ansible [core 2.20.1]
# 2. Au moins quelques modules disponibles
ansible-doc -l 2>/dev/null | wc -l
# 9482 (avec metapackage 'ansible')
# 100 environ (avec ansible-core seul)
# 3. ansible-config dump retourne la config courante (vide si pas de ansible.cfg)
ansible-config dump --only-changed
# CONFIG_FILE() = None
# PAGER(env: PAGER) = less

Si les trois passent, vous êtes prêt pour la suite. Si l’une échoue, la cause la plus fréquente est un PATH incomplet : relancez pipx ensurepath puis exec $SHELL.

Pour ancrer le choix selon votre contexte, voici la synthèse en une ligne par méthode. Lisez la colonne « Choisissez si » et arrêtez-vous à la première qui matche votre cas.

MéthodeChoisissez si…Limite
pipxVous démarrez Ansible, poste de dev personnelUne seule version active à la fois
dnf / aptServeur de management mutualisé, image Packer reproductibleVersion souvent décalée
miseVous gérez déjà Python/Terraform/kubectl avec miseCourbe d’apprentissage de mise
uv toolVous êtes déjà passé à uv pour vos projets PythonÉcosystème jeune (2024)
EE + ansible-navigatorVous préparez le RHCE ou vous travaillez sur AAPDémarrage conteneur (~2 s par run)
  • La méthode recommandée pour démarrer en 2026 est pipx install --include-deps ansible sur Linux et macOS.
  • Vérifiez systématiquement avec ansible --version que vous obtenez core ≥ 2.18 et Python 3.12+.
  • Le metapackage ansible apporte les collections communautaires (~9 500 modules) ; ansible-core seul n’en a qu’une centaine.
  • L’Execution Environment via ansible-navigator est la mécanique attendue au RHCE — vous y basculerez dans la section dédiée.
  • Activez l’autocomplétion shell dès l’install, vous gagnez du confort sur toutes les commandes Ansible.

Cette page a un lab d’accompagnement : labs/decouvrir/installation-ansible/ dans stephrobert/ansible-training. Il contient un README.md guidé, un Makefile (make verify lance les tests), et un challenge final auto-évalué : vérifier l’installation Ansible (binaires, version, collections) via un script auto-évalué.

Une fois le lab provisionné :

Fenêtre de terminal
cd ~/Projets/ansible-training/labs/decouvrir/installation-ansible/
cat README.md # tuto pas à pas
cat challenge/README.md # consigne du challenge final
pytest -v challenge/tests/ # lancer les tests testinfra

Si les tests passent, vous maîtrisez les concepts couverts dans ce guide. En cas de blocage, docs/troubleshooting.md à la racine du repo couvre les pièges fréquents (rate-limit SSH, clé absente, collection manquante).

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