Accueil · Guides de révision · EX294

Guide complet EX294 — LPI (Linux Professional Institute)

Red Hat Certified Engineer (RHCE) - Ansible · Programme, plan de révision, ressources, examen blanc gratuit.

TL;DR — Le guide en 1 minute

L'EX294 (Red Hat Certified Engineer) valide la maitrise d'Ansible pour automatiser l'administration de parcs Linux. Examen 100% pratique de 4h sur RHEL 9, reserve aux titulaires du RHCSA (EX200). Vise les administrateurs systeme, ingenieurs DevOps et SRE souhaitant industrialiser leurs deploiements. Debouches: Ingenieur Automatisation, DevOps, Cloud Engineer, avec salaires de 50-75k EUR en France. Certification editee par Red Hat (et non LPI), reference incontestee sur le marche IaC.

Pourquoi passer la certification EX294 ?

Passer l'EX294 en 2026 reste l'un des meilleurs investissements pour un profil Linux. Avec l'explosion du cloud hybride, des plateformes OpenShift et l'industrialisation des infrastructures, Ansible s'impose comme l'outil de configuration management dominant aux cotes de Terraform. Red Hat, rachete par IBM, conserve une position de leader sur Linux entreprise (RHEL represente plus de 33% du marche Linux serveur). Le ROI est immediat: une etude Foote Partners 2025 montre que les certifies RHCE percoivent en moyenne 12 a 18% de plus que leurs pairs non certifies. La demande explose dans les secteurs banque, telecom, defense et administration, ou Ansible est plebiscite pour sa simplicite agentless et son integration native avec les outils Red Hat (Satellite, AAP, OpenShift). Sur LinkedIn France, on recense en 2026 plus de 4200 offres mentionnant Ansible, dont 30% exigent ou recommandent explicitement le RHCE. Contrairement aux certifications theoriques, l'EX294 etant 100% pratique, elle constitue une preuve tangible de competences operationnelles, ce qui rassure les recruteurs et raccourcit les processus d'embauche. C'est aussi un prerequis pour les certifications avancees Red Hat (RHCA), notamment les specialisations Ansible Automation Platform et OpenShift Administration.

Caractéristiques de l'examen

Format Examen pratique sur RHEL 9 (pas de QCM)
Duree 240 minutes (4 heures)
Score requis 210/300 soit 70%
Prix officiel 458 EUR HT en France
Langues Anglais, Francais, Japonais, Espagnol, Chinois
Validite 3 ans (renouvelable via examens superieurs)
Prerequis RHCSA (EX200) en cours de validite obligatoire

Programme détaillé par domaine

Domain 1 : Comprendre les concepts fondamentaux d'Ansible 20%

Objectifs
Ce domaine couvre les bases architecturales d'Ansible: comprendre le modele agentless via SSH, le fonctionnement des modules Python, la difference entre noeud de controle et noeuds geres. Le candidat doit savoir installer ansible-core sur RHEL 9, configurer ansible.cfg avec les bonnes priorites (ANSIBLE_CONFIG, .ansible.cfg, /etc/ansible/ansible.cfg), gerer les inventaires statiques et dynamiques au format INI et YAML. La maitrise des concepts d'idempotence, de check mode et de diff mode est essentielle, ainsi que la comprehension du cycle de vie d'une execution de playbook.
Concepts clés
Idempotence, agentless, push-based model, facts gathering avec setup, gather_facts, modules vs plugins, collections Ansible (FQCN format ansible.builtin.copy), Ansible Galaxy, ansible-navigator, execution environments containerises. Difference entre ad-hoc commands (ansible -m) et playbooks. Comprehension des connexions SSH, escalade de privileges (become, become_user, become_method=sudo). Variables magiques (hostvars, groups, inventory_hostname). Niveaux de verbosite (-v, -vvv). Notion de host patterns (all, *, intersections avec &, exclusions avec !).
Services / outils
ansible-core 2.15+, ansible-navigator, ansible-galaxy, ansible-config, ansible-doc, ansible-inventory, ansible-vault, podman pour les execution environments, SSH/OpenSSH, Python 3.9+, collections ansible.builtin, ansible.posix, community.general, redhat.rhel_system_roles.
Temps estimé
10-12h

Domain 2 : Installation, configuration et gestion des inventaires 15%

Objectifs
Installer ansible-core et les collections necessaires sur un noeud de controle RHEL 9. Configurer l'authentification SSH par cles et l'escalade sudo sans mot de passe pour l'utilisateur d'automatisation. Creer des inventaires statiques structures avec groupes, sous-groupes (children) et variables de groupe (group_vars) ou d'hote (host_vars). Mettre en place des inventaires dynamiques. Configurer ansible.cfg pour optimiser les performances (forks, pipelining, fact_caching). Gerer plusieurs environnements (dev, staging, prod) via des inventaires distincts.
Concepts clés
Hierarchie de precedence des variables (22 niveaux selon la doc officielle), structure des repertoires group_vars/ et host_vars/, fichiers all.yml. Patterns d'inventaire YAML vs INI. Variables speciales ansible_host, ansible_user, ansible_port, ansible_connection, ansible_become_password. Generation et distribution de cles SSH avec ssh-keygen et ssh-copy-id. Configuration de sudoers pour NOPASSWD. Tests de connectivite avec ansible all -m ping. Notion de delegation (delegate_to, run_once).
Services / outils
ssh-keygen, ssh-copy-id, sudo, visudo, ansible-inventory --graph, ansible-inventory --list, plugins d'inventaire (yaml, ini, constructed, script). Configuration de /etc/ansible/hosts ou inventaires personnalises via -i.
Temps estimé
8-10h

Domain 3 : Creation et execution de playbooks Ansible 30%

Objectifs
Ecrire des playbooks YAML conformes aux best practices Red Hat. Maitriser la syntaxe des plays, tasks, handlers, blocks. Utiliser les structures de controle: conditions (when), boucles (loop, with_items deprecie), gestion d'erreurs (failed_when, changed_when, ignore_errors, rescue, always). Implementer les handlers avec notify et listen. Gerer les tags pour executer partiellement un playbook. Utiliser ansible-vault pour chiffrer les donnees sensibles (mots de passe, cles API). Connaitre les modules les plus courants pour la gestion de fichiers, packages, services, utilisateurs.
Concepts clés
Structure YAML stricte (indentation 2 espaces), modules ansible.builtin.copy, template (Jinja2), file, lineinfile, blockinfile, replace, package, dnf, service, systemd, user, group, cron, mount, parted, lvg, lvol, filesystem, firewalld, seboolean, sefcontext, selinux. Filtres Jinja2 (default, mandatory, regex_replace, to_yaml). Lookups (file, env, password). Boucles loop avec loop_control et label. Gestion des secrets avec ansible-vault encrypt, edit, rekey, view.
Services / outils
ansible-playbook, ansible-vault, modules de la collection ansible.builtin, ansible.posix.firewalld, ansible.posix.selinux, community.general.parted. Templates Jinja2 (.j2).
Temps estimé
20-25h

Domain 4 : Utilisation des roles et collections Ansible 20%

Objectifs
Structurer du code Ansible reutilisable via les roles selon la convention standard (tasks/, handlers/, defaults/, vars/, files/, templates/, meta/). Creer des roles avec ansible-galaxy role init. Telecharger et installer des roles tiers depuis Ansible Galaxy via requirements.yml. Utiliser les RHEL System Roles fournis par Red Hat (redhat.rhel_system_roles) pour automatiser des taches courantes: timesync, selinux, firewall, network, storage, kdump, postfix. Inclure des roles avec import_role (statique) ou include_role (dynamique). Passer des variables aux roles.
Concepts clés
Difference entre import_ et include_ (statique vs dynamique). Precedence des variables dans les roles (defaults < vars). Dependances de roles via meta/main.yml. Collections Ansible (format namespace.collection.module). Installation de collections via ansible-galaxy collection install. Fichier ansible.cfg avec collections_paths. Structure d'une collection (plugins/, roles/, playbooks/). RHEL System Roles vs Linux System Roles upstream.
Services / outils
ansible-galaxy, redhat.rhel_system_roles (timesync, selinux, firewall, network, storage, kernel_settings, logging, metrics, postfix, kdump, ssh, sshd, tlog, certificate, crypto_policies, nbde_client, nbde_server, ha_cluster, vpn, cockpit).
Temps estimé
12-15h

Domain 5 : Automatisation des taches d'administration systeme 15%

Objectifs
Automatiser les taches RHCSA via Ansible: gestion des utilisateurs et groupes, configuration sudo, deploiement de packages, gestion des services systemd, configuration reseau (NetworkManager), gestion du stockage (partitions, LVM, systemes de fichiers, montages), configuration de SELinux (modes, booleens, contextes), gestion du firewall (firewalld), planification de taches (cron, systemd timers), gestion des logs (rsyslog, journald), configuration de cles SSH, deploiement de sites web simples (httpd, nginx).
Concepts clés
Reproduire en Ansible toutes les operations realisees manuellement au RHCSA. Configuration declarative vs imperative. Tests d'idempotence: un playbook doit etre re-executable sans erreur ni changement. Verification post-deploiement avec assert et command/shell + register. Gestion des reboot conditionnels (reboot module, meta: end_play). Optimisation: async, poll, serial pour rolling updates. Strategies (linear, free).
Services / outils
Modules user, group, authorized_key, dnf, systemd, nmcli (community.general), parted, lvg, lvol, filesystem, mount, selinux, seboolean, sefcontext, firewalld, cron, copy, template, fetch, get_url, uri.
Temps estimé
15-18h

Plan de révision hebdomadaire

Semaine 1 - Fondamentaux: Installer un lab avec 1 noeud de controle et 3 noeuds geres (VM RHEL 9 ou Rocky/Alma 9). Lire la documentation officielle Ansible (docs.ansible.com) sur les concepts de base. Configurer SSH par cles et sudo NOPASSWD. Executer les premieres commandes ad-hoc. Maitriser ansible.cfg et les inventaires. Objectif: 15h de pratique. Semaine 2 - Playbooks: Ecrire 20+ playbooks couvrant les modules essentiels (copy, template, file, package, service, user, firewalld, selinux). Pratiquer Jinja2 (variables, filtres, conditions, boucles). Maitriser ansible-vault. Objectif: 20h. Semaine 3 - Roles et collections: Creer 5 roles personnalises de A a Z. Tester chaque RHEL System Role (timesync, selinux, firewall, network, storage). Installer des collections via Galaxy. Comprendre la precedence des variables. Objectif: 18h. Semaine 4 - Scenarios complexes: Realiser des labs d'integration complets (deployer une stack LAMP, configurer un cluster, gerer LVM via Ansible). Travailler sous contrainte de temps. Semaine 5 - Examens blancs: Realiser au moins 3 examens blancs chronometres de 4h (Sander van Vugt, Asghar Ghori, ou plateformes Pluralsight). Identifier les modules ou la syntaxe vous ralentit. Reviser ansible-doc pour gagner en vitesse. Semaine 6 - Revision finale: Refaire les exercices rates, memoriser les FQCN des modules critiques, valider la maitrise de vim/vi (essentiel le jour J car pas d'IDE), s'entrainer a debugger rapidement. Reserver l'examen en fin de semaine 6.

Besoin d'un planning sur mesure ? 30 jours · 60 jours · 90 jours

Ressources recommandées

Documentation officielle Red Hat EX294

Page officielle Red Hat avec objectifs detailles de l'examen, format et prerequis.

Cours RH294 Red Hat Learning Subscription

Cours officiel preparatoire couvrant 100% des objectifs EX294, avec labs cloud inclus.

Sander van Vugt - RHCE EX294 Video Course

Reference incontournable: 15h de video + examens blancs, regulierement mis a jour pour RHEL 9.

Reddit r/redhat et forum Ansible

Communautes actives pour retours d'experience, conseils et resolution de problemes specifiques.

5 erreurs classiques à éviter

  • Erreur 1: Negliger ansible-doc le jour de l'examen. Sans acces Internet, ansible-doc <module> est votre seule documentation. Entrainez-vous a l'utiliser quotidiennement pour retrouver rapidement les parametres exacts.
  • Erreur 2: Oublier de tester l'idempotence. Re-executez systematiquement vos playbooks: si la seconde execution affiche des 'changed', votre code n'est pas idempotent et sera penalise.
  • Erreur 3: Mal gerer le temps. 4h passent vite. Lisez d'abord toutes les taches, identifiez les rapides (gains faciles) et gardez 30 minutes en fin d'examen pour verifier que tous les playbooks s'executent sans erreur sur les noeuds geres.
  • Erreur 4: Ignorer les FQCN (Fully Qualified Collection Names). Depuis Ansible 2.10+, utilisez ansible.builtin.copy plutot que copy. Bien que les noms courts fonctionnent encore, les FQCN evitent les ambiguites en cas de collections multiples.
  • Erreur 5: Sous-estimer ansible-vault. Beaucoup de candidats echouent sur la gestion des mots de passe chiffres. Maitrisez --vault-password-file, --ask-vault-pass et le chiffrement de variables individuelles avec encrypt_string.

5 questions types corrigées

Q1. Vous devez creer un playbook qui installe httpd, le demarre, l'active au boot et ouvre le port 80 dans firewalld. Quelle structure est correcte et idempotente ?
Réponse : B
La reponse B utilise les modules natifs Ansible qui garantissent l'idempotence. Le module dnf avec state=present n'installe que si necessaire. Le module service/systemd gere l'etat declaratif. Le module firewalld avec immediate=yes ET permanent=yes applique la regle en runtime ET la persiste. Les options A, C utilisent command/shell qui sont non-idempotents et signales comme 'changed' a chaque execution. L'option D (raw) est reservee aux systemes sans Python.
Q2. Quelle commande chiffre une variable individuelle 'db_password=Secret123' pour l'inclure dans un playbook ?
Réponse : B
La commande ansible-vault encrypt_string permet de chiffrer une valeur unique et de produire une chaine YAML inserable directement dans un playbook ou un fichier vars. L'option --name definit le nom de la variable. C'est l'approche recommandee pour les secrets ponctuels. L'option A chiffre un fichier entier. L'option C cree un nouveau fichier chiffre interactif. L'option D utilise openssl mais n'est pas compatible avec Ansible. Pour l'EX294, maitrisez encrypt, decrypt, edit, view, rekey et encrypt_string.
Q3. Vous voulez executer un role 'webserver' uniquement sur les hotes du groupe 'production' avec la variable http_port=8080. Quelle syntaxe est correcte dans un playbook ?
Réponse : D
Ansible supporte deux syntaxes pour passer des variables a un role: la syntaxe dictionnaire (option C avec accolades) qui passe directement les variables au role, et la syntaxe etendue (option A) avec un bloc vars: separe. Les deux sont equivalentes et acceptees a l'examen. L'option B est incorrecte car la syntaxe include_role attend 'name:' et non pas le nom directement, et la syntaxe vars utilise YAML et non du shell. Privilegiez la syntaxe A pour la lisibilite des playbooks complexes.

Voir plus de questions gratuites →

Carrière & salaire après EX294

En France en 2026, un Ingenieur Ansible/DevOps certifie RHCE percoit entre 50k et 65k EUR brut annuel en debut de carriere (3-5 ans d'experience), et 65k a 85k EUR pour les profils confirmes (5-10 ans). Les architectes automation atteignent 90-110k EUR, particulierement dans la banque (BNP, SocGen), les telecoms (Orange, Free) et les ESN (Capgemini, Sopra Steria). En Suisse et au Luxembourg, ajouter 20-30%. Les debouches couvrent les postes d'Ingenieur Systeme Linux, DevOps Engineer, SRE, Cloud Engineer (AWS/Azure avec Ansible), Platform Engineer. Certifications complementaires recommandees: Red Hat OpenShift Administration (EX280), Red Hat Ansible Automation Platform (EX374), HashiCorp Terraform Associate, et CKA (Kubernetes). Le RHCE est aussi une porte d'entree vers le RHCA (Red Hat Certified Architect), summum de la filiere Red Hat.

Détail des salaires EX294 en 2026 →

FAQ — EX294

Combien de temps faut-il pour preparer EX294 ?

Comptez 6 a 10 semaines a raison de 15-20h hebdomadaires si vous avez deja le RHCSA et une experience Linux. Sans bases solides en YAML et administration RHEL, prevoyez 3-4 mois. La pratique en lab est non-negociable: minimum 80h de manipulation effective d'Ansible.

Cette certification est-elle reconnue en France ?

Oui, le RHCE est la certification Ansible la plus reconnue en France et en Europe. Elle figure dans 30% des offres DevOps/SysOps comme atout majeur, particulierement valorisee dans les grands comptes (CAC40, secteur public, defense) qui utilisent massivement RHEL et l'Ansible Automation Platform.

Quel est le taux de reussite a EX294 ?

Red Hat ne publie pas officiellement de statistiques, mais les retours communautaires estiment le taux de reussite a la premiere tentative entre 55% et 65%. C'est un examen exigeant car 100% pratique, sans QCM ni reponse partielle: chaque tache doit fonctionner integralement.

Quel est le salaire apres EX294 ?

En France, un certifie RHCE gagne entre 50k et 75k EUR brut annuel selon l'experience et la region (Paris +15-20%). Les profils seniors avec RHCE + cloud (AWS/Azure) depassent souvent 80k EUR. En freelance, les TJM oscillent entre 550 et 800 EUR.

Faut-il une experience prealable ?

Oui, le RHCSA (EX200) est strictement obligatoire et doit etre en cours de validite. Red Hat recommande egalement 1-2 ans d'experience en administration Linux et une familiarite avec YAML, SSH et la ligne de commande RHEL. Sans ces prerequis, l'examen est tres difficile.

EX294 ou cert concurrente : laquelle choisir ?

Face a la HashiCorp Terraform Associate ou aux certifications Puppet/Chef, le RHCE reste preferable si votre environnement est RHEL/CentOS/Rocky. Ansible domine le marche Linux entreprise. Terraform est complementaire (provisioning cloud) plutot que concurrent. Ideal: combiner RHCE + Terraform Associate.

Combien coute l'examen EX294 ?

Le tarif officiel en France est de 458 EUR HT (soit environ 550 EUR TTC) pour un passage individuel. Les Red Hat Learning Subscriptions (Standard ou Premium) incluent souvent 1 a 2 passages d'examens, avec un cout total de 5000 a 7000 EUR HT mais formation incluse.

Combien de fois peut-on repasser EX294 ?

Red Hat autorise un repassage sans condition, puis impose un delai de 14 jours entre les tentatives suivantes. Aucune limite totale, mais chaque tentative est payante (sauf si vous beneficiez d'un 'exam retake voucher' inclus dans certains packs de formation Red Hat).

Prêt à passer à la pratique ?

Lancez votre examen blanc gratuit ou faites le test d'orientation pour valider votre choix.

Démarrer l'examen blanc EX294 → Test d'orientation