
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.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- 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.
La recommandation rapide
Section intitulée « La recommandation rapide »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.
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 # macOSpipx ensurepathpipx install --include-deps ansibleCette 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.
Méthode 1 : pipx (recommandée)
Section intitulée « Méthode 1 : pipx (recommandée) »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.
# 1. Installer pipx via dnfsudo dnf install -y pipxpipx ensurepath # ajoute ~/.local/bin au PATHexec $SHELL # recharge le shell pour prendre le PATH
# 2. Installer ansible (metapackage = ansible-core + collections communautaires)pipx install --include-deps ansible
# 3. Vérifieransible --version# 1. Installer pipx via apt (Ubuntu 24.04 + Debian 13 ont pipx natif)sudo apt updatesudo apt install -y pipxpipx ensurepathexec $SHELL
# 2. Installer ansiblepipx install --include-deps ansible
# 3. Vérifieransible --version# 1. Installer pipx via Homebrewbrew install pipxpipx ensurepathexec $SHELL
# 2. Installer ansiblepipx install --include-deps ansible
# 3. Vérifieransible --version# Sur WSL2 Ubuntu, mêmes commandes que Ubuntu natifsudo apt updatesudo apt install -y pipx python3-venvpipx ensurepathexec $SHELLpipx install --include-deps ansibleansible --versionSortie attendue de la vérification
Section intitulée « Sortie attendue de la vérification »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 [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 :
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# 9482Le 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).
Méthode 2 : paquet distribution (dnf / apt)
Section intitulée « Méthode 2 : paquet distribution (dnf / apt) »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.
# AlmaLinux 10 / RHEL 10 / Fedora 40+sudo dnf install -y ansible
# Ubuntu 24.04sudo apt updatesudo apt install -y ansibleAvantages : 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).
Méthode 3 : mise (multi-version manager)
Section intitulée « Méthode 3 : mise (multi-version manager) »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.
# 1. Installer mise (si vous ne l'avez pas)curl https://mise.run | shecho 'eval "$(mise activate bash)"' >> ~/.bashrcexec $SHELL
# 2. Installer Ansible globalementmise use -g ansible@latest
# 3. Vérifieransible --versionSortie typique côté mise list une fois plusieurs outils installés :
ansible 13.4.0pipx:ansible-lint 26.2.0python 3.12.13Avantages : 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.
Méthode 4 : uv tool install
Section intitulée « Méthode 4 : uv tool install »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.
# 1. Installer uvcurl -LsSf https://astral.sh/uv/install.sh | shexec $SHELL
# 2. Installer Ansibleuv tool install --with ansible-core ansible
# 3. Vérifieransible --versionAvantages : 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.
# 1. Installer ansible-navigator + Podman/Dockerpipx install ansible-navigatorsudo dnf install -y podman # ou docker
# 2. Lancer un playbook dans une EE par défautansible-navigator run playbook.yml --ee true \ --eei quay.io/ansible/creator-ee:latest
# 3. Construire votre propre EE (facultatif, recommandé)pipx install ansible-builderansible-builder build -t mon-ee:1.0 -f execution-environment.ymlansible-navigator run playbook.yml --eei mon-ee:1.0Avantages : 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é.
Configurer l’autocomplétion shell
Section intitulée « Configurer l’autocomplétion shell »Une fois ansible installé, activez l’autocomplétion. Vous gagnez en confort sur les commandes longues (modules, options) et en rapidité.
mkdir -p ~/.local/share/bash-completion/completionsansible --version # ne déclenche pas la completion mais valide l'installregister-python-argcomplete ansible > \ ~/.local/share/bash-completion/completions/ansibleregister-python-argcomplete ansible-playbook > \ ~/.local/share/bash-completion/completions/ansible-playbookregister-python-argcomplete ansible-doc > \ ~/.local/share/bash-completion/completions/ansible-docexec $SHELLAjoutez à ~/.zshrc :
autoload -Uz compinit && compiniteval "$(register-python-argcomplete ansible)"eval "$(register-python-argcomplete ansible-playbook)"eval "$(register-python-argcomplete ansible-doc)"Puis exec zsh.
register-python-argcomplete --shell fish ansible \ > ~/.config/fish/completions/ansible.fishregister-python-argcomplete --shell fish ansible-playbook \ > ~/.config/fish/completions/ansible-playbook.fishPuis ouvrez un nouveau shell fish.
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.
Vérification finale
Section intitulée « Vérification finale »Pour valider que votre installation est complète et utilisable, lancez ces trois commandes en série. Toutes doivent retourner sans erreur.
# 1. Version (doit être ansible-core 2.18+)ansible --version | head -1# ansible [core 2.20.1]
# 2. Au moins quelques modules disponiblesansible-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) = lessSi 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.
Tableau de décision
Section intitulée « Tableau de décision »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éthode | Choisissez si… | Limite |
|---|---|---|
pipx | Vous démarrez Ansible, poste de dev personnel | Une seule version active à la fois |
dnf / apt | Serveur de management mutualisé, image Packer reproductible | Version souvent décalée |
mise | Vous gérez déjà Python/Terraform/kubectl avec mise | Courbe d’apprentissage de mise |
uv tool | Vous êtes déjà passé à uv pour vos projets Python | Écosystème jeune (2024) |
EE + ansible-navigator | Vous préparez le RHCE ou vous travaillez sur AAP | Démarrage conteneur (~2 s par run) |
À retenir
Section intitulée « À retenir »- La méthode recommandée pour démarrer en 2026 est
pipx install --include-deps ansiblesur Linux et macOS. - Vérifiez systématiquement avec
ansible --versionque vous obtenezcore ≥ 2.18et Python 3.12+. - Le metapackage
ansibleapporte les collections communautaires (~9 500 modules) ;ansible-coreseul n’en a qu’une centaine. - L’Execution Environment via
ansible-navigatorest 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.
Pratiquer dans le lab
Section intitulée « Pratiquer dans le lab »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é :
cd ~/Projets/ansible-training/labs/decouvrir/installation-ansible/
cat README.md # tuto pas à pascat challenge/README.md # consigne du challenge finalpytest -v challenge/tests/ # lancer les tests testinfraSi 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).