{"id":2094,"date":"2026-03-18T10:50:25","date_gmt":"2026-03-18T09:50:25","guid":{"rendered":"https:\/\/askem.eu\/?p=2094"},"modified":"2026-03-18T10:50:28","modified_gmt":"2026-03-18T09:50:28","slug":"automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code","status":"publish","type":"post","link":"https:\/\/askem.eu\/en\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/","title":{"rendered":"Automatiser la gestion d&rsquo;infrastructure avec Ansible : de la configuration manuelle \u00e0 l&rsquo;Infrastructure as Code"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Automatiser la gestion d&rsquo;infrastructure avec Ansible&nbsp;: de la configuration manuelle \u00e0 l&rsquo;Infrastructure as Code<\/h2>\n\n\n\n<p>Quand on administre une infrastructure auto-h\u00e9berg\u00e9e compos\u00e9e de multiples services \u2014 CKAN, Nextcloud, Keycloak, Gitea, Superset \u2014 la tentation est grande de tout configurer \u00e0 la main, serveur par serveur. \u00c7a fonctionne au d\u00e9but, mais d\u00e8s que l&rsquo;environnement grandit ou qu&rsquo;il faut reconstruire un n\u0153ud, la dette technique explose. Ansible propose une approche radicalement diff\u00e9rente&nbsp;: d\u00e9crire l&rsquo;\u00e9tat souhait\u00e9 de chaque machine dans des fichiers YAML versionn\u00e9s, puis laisser l&rsquo;outil appliquer la configuration de mani\u00e8re idempotente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pourquoi passer \u00e0 l&rsquo;Infrastructure as Code<\/h3>\n\n\n\n<p>L&rsquo;Infrastructure as Code (IaC) consiste \u00e0 traiter la configuration de vos serveurs exactement comme du code applicatif&nbsp;: versionn\u00e9 dans Git, relu en pull request, test\u00e9 avant d\u00e9ploiement. Les avantages sont concrets. La reproductibilit\u00e9 permet de recr\u00e9er un environnement complet \u00e0 partir de z\u00e9ro en une commande. La tra\u00e7abilit\u00e9 offre un historique clair de chaque modification apport\u00e9e \u00e0 l&rsquo;infrastructure. L&rsquo;auditabilit\u00e9 rend visible qui a chang\u00e9 quoi, quand, et pourquoi. Enfin, la scalabilit\u00e9 permet d&rsquo;ajouter un nouveau serveur en l&rsquo;inscrivant simplement dans l&rsquo;inventaire.<\/p>\n\n\n\n<p>Ansible se distingue des autres outils d&rsquo;IaC (Terraform, Puppet, Chef) par son architecture sans agent&nbsp;: il se connecte en SSH aux machines cibles, ex\u00e9cute les t\u00e2ches, et se d\u00e9connecte. Pas de daemon \u00e0 installer, pas de PKI \u00e0 maintenir. Pour une infrastructure open source de taille modeste \u00e0 moyenne, c&rsquo;est un atout majeur.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Structurer un projet Ansible pour une infrastructure multi-services<\/h3>\n\n\n\n<p>Un projet Ansible bien organis\u00e9 repose sur trois piliers&nbsp;: l&rsquo;inventaire, les r\u00f4les et les playbooks. L&rsquo;inventaire d\u00e9crit vos machines et les regroupe par fonction. Les r\u00f4les encapsulent la logique de configuration d&rsquo;un service donn\u00e9. Les playbooks orchestrent l&rsquo;application des r\u00f4les sur les bons groupes de machines.<\/p>\n\n\n\n<p>Voici une structure type pour un projet g\u00e9rant une infrastructure comme celle d&rsquo;askem.eu&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">infrastructure\/\n\u251c\u2500\u2500 inventory\/\n\u2502   \u251c\u2500\u2500 production.yml\n\u2502   \u2514\u2500\u2500 staging.yml\n\u251c\u2500\u2500 roles\/\n\u2502   \u251c\u2500\u2500 common\/          # Paquets de base, s\u00e9curit\u00e9 SSH, fail2ban\n\u2502   \u251c\u2500\u2500 docker\/          # Installation et configuration de Docker\n\u2502   \u251c\u2500\u2500 nginx\/           # Reverse proxy, certificats TLS\n\u2502   \u251c\u2500\u2500 keycloak\/        # SSO et gestion d'identit\u00e9\n\u2502   \u251c\u2500\u2500 ckan\/            # Portail de donn\u00e9es ouvertes\n\u2502   \u251c\u2500\u2500 nextcloud\/       # Collaboration et stockage\n\u2502   \u251c\u2500\u2500 gitea\/           # Forge Git auto-h\u00e9berg\u00e9e\n\u2502   \u251c\u2500\u2500 monitoring\/      # Prometheus, Grafana, Loki\n\u2502   \u2514\u2500\u2500 backup\/          # Strat\u00e9gie de sauvegarde automatis\u00e9e\n\u251c\u2500\u2500 playbooks\/\n\u2502   \u251c\u2500\u2500 site.yml         # Playbook principal\n\u2502   \u251c\u2500\u2500 deploy-ckan.yml\n\u2502   \u2514\u2500\u2500 update-tls.yml\n\u2514\u2500\u2500 group_vars\/\n    \u251c\u2500\u2500 all.yml\n    \u2514\u2500\u2500 production.yml\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">L&rsquo;inventaire&nbsp;: cartographier son infrastructure<\/h3>\n\n\n\n<p>L&rsquo;inventaire YAML d\u00e9crit chaque machine et son appartenance \u00e0 un ou plusieurs groupes. Il peut aussi contenir des variables sp\u00e9cifiques \u00e0 chaque h\u00f4te ou groupe&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">all:\n  children:\n    webservers:\n      hosts:\n        proxy-01:\n          ansible_host: 10.0.1.10\n          nginx_worker_processes: 4\n    appservers:\n      hosts:\n        app-01:\n          ansible_host: 10.0.1.20\n          services:\n            - ckan\n            - keycloak\n            - nextcloud\n        app-02:\n          ansible_host: 10.0.1.21\n          services:\n            - gitea\n            - superset\n    monitoring:\n      hosts:\n        mon-01:\n          ansible_host: 10.0.1.30\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Les r\u00f4les&nbsp;: encapsuler la logique de configuration<\/h3>\n\n\n\n<p>Chaque r\u00f4le g\u00e8re un aspect pr\u00e9cis de l&rsquo;infrastructure. Prenons l&rsquo;exemple d&rsquo;un r\u00f4le <code>common<\/code> qui s\u00e9curise la base de chaque serveur&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># roles\/common\/tasks\/main.yml\n---\n- name: Mettre \u00e0 jour les paquets syst\u00e8me\n  apt:\n    upgrade: safe\n    update_cache: yes\n    cache_valid_time: 3600\n\n- name: Installer les paquets de base\n  apt:\n    name:\n      - curl\n      - htop\n      - unattended-upgrades\n      - fail2ban\n      - ufw\n    state: present\n\n- name: Configurer le pare-feu UFW\n  ufw:\n    rule: allow\n    port: \"{{ item }}\"\n    proto: tcp\n  loop:\n    - \"22\"\n    - \"80\"\n    - \"443\"\n\n- name: Activer le pare-feu\n  ufw:\n    state: enabled\n    default: deny\n\n- name: Durcir la configuration SSH\n  lineinfile:\n    path: \/etc\/ssh\/sshd_config\n    regexp: \"{{ item.regexp }}\"\n    line: \"{{ item.line }}\"\n  loop:\n    - { regexp: '^#?PermitRootLogin', line: 'PermitRootLogin no' }\n    - { regexp: '^#?PasswordAuthentication', line: 'PasswordAuthentication no' }\n  notify: restart sshd\n<\/pre>\n\n\n\n<p>L&rsquo;idempotence est la propri\u00e9t\u00e9 cl\u00e9&nbsp;: chaque t\u00e2che v\u00e9rifie l&rsquo;\u00e9tat actuel avant d&rsquo;agir. Si le pare-feu est d\u00e9j\u00e0 configur\u00e9 correctement, Ansible ne touche \u00e0 rien. On peut relancer le playbook autant de fois qu&rsquo;on veut sans effet de bord.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">G\u00e9rer les secrets avec Ansible Vault<\/h3>\n\n\n\n<p>Une infrastructure r\u00e9elle contient des mots de passe de base de donn\u00e9es, des cl\u00e9s API, des certificats. Ansible Vault permet de chiffrer ces donn\u00e9es directement dans le d\u00e9p\u00f4t Git, sans compromettre la s\u00e9curit\u00e9&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Chiffrer un fichier de variables sensibles\nansible-vault encrypt group_vars\/production\/vault.yml\n\n# Ex\u00e9cuter un playbook avec d\u00e9chiffrement\nansible-playbook -i inventory\/production.yml playbooks\/site.yml --ask-vault-pass\n\n# Ou utiliser un fichier de mot de passe (pour la CI\/CD)\nansible-playbook -i inventory\/production.yml playbooks\/site.yml \\\n  --vault-password-file ~\/.vault_pass\n<\/pre>\n\n\n\n<p>Les variables chiffr\u00e9es sont utilis\u00e9es comme n&rsquo;importe quelle autre variable dans les templates et les t\u00e2ches. L&rsquo;int\u00e9gration avec Gitea Actions permet d&rsquo;automatiser le d\u00e9ploiement tout en gardant les secrets prot\u00e9g\u00e9s.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Int\u00e9grer Ansible dans une cha\u00eene CI\/CD<\/h3>\n\n\n\n<p>L&rsquo;\u00e9tape suivante consiste \u00e0 d\u00e9clencher les playbooks automatiquement. Avec Gitea Actions (d\u00e9j\u00e0 couvert sur ce site), on peut cr\u00e9er un workflow qui ex\u00e9cute Ansible \u00e0 chaque push sur la branche principale du d\u00e9p\u00f4t d&rsquo;infrastructure&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># .gitea\/workflows\/deploy.yml\nname: Deploy infrastructure\non:\n  push:\n    branches: [main]\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v4\n\n      - name: Install Ansible\n        run: pip install ansible\n\n      - name: Run playbook\n        env:\n          ANSIBLE_VAULT_PASSWORD: ${{ secrets.VAULT_PASSWORD }}\n          SSH_PRIVATE_KEY: ${{ secrets.DEPLOY_KEY }}\n        run: |\n          echo \"$SSH_PRIVATE_KEY\" &gt; \/tmp\/deploy_key\n          chmod 600 \/tmp\/deploy_key\n          echo \"$ANSIBLE_VAULT_PASSWORD\" &gt; \/tmp\/vault_pass\n          ansible-playbook -i inventory\/production.yml playbooks\/site.yml \\\n            --vault-password-file \/tmp\/vault_pass \\\n            --private-key \/tmp\/deploy_key\n<\/pre>\n\n\n\n<p>Chaque modification de l&rsquo;infrastructure passe par une pull request, est relue, puis appliqu\u00e9e automatiquement. Plus de SSH en direct sur les serveurs pour modifier une configuration \u00e0 la vol\u00e9e.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Bonnes pratiques pour un projet Ansible durable<\/h3>\n\n\n\n<p>Quelques principes \u00e9prouv\u00e9s pour maintenir un projet Ansible sur la dur\u00e9e. Premi\u00e8rement, versionner tout&nbsp;: inventaires, r\u00f4les, playbooks, variables (chiffr\u00e9es). Le d\u00e9p\u00f4t Git est la source de v\u00e9rit\u00e9 unique. Deuxi\u00e8mement, s\u00e9parer les environnements avec des inventaires distincts pour staging et production, en partageant les m\u00eames r\u00f4les. Troisi\u00e8mement, tester avant de d\u00e9ployer en utilisant le mode <code>--check<\/code> (dry run) et l&rsquo;option <code>--diff<\/code> pour visualiser les changements avant de les appliquer. Quatri\u00e8mement, documenter les r\u00f4les avec un fichier <code>README.md<\/code> dans chaque r\u00f4le d\u00e9crivant ses variables, ses d\u00e9pendances et son usage. Enfin, limiter la port\u00e9e&nbsp;: un playbook qui prend plus de 10 minutes \u00e0 s&rsquo;ex\u00e9cuter est probablement trop large \u2014 d\u00e9coupez-le en playbooks cibl\u00e9s.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Aller plus loin<\/h3>\n\n\n\n<p>Ansible peut aussi g\u00e9rer le provisionnement de conteneurs Docker (via le module <code>community.docker<\/code>), orchestrer des mises \u00e0 jour rolling sur plusieurs serveurs, ou encore g\u00e9n\u00e9rer dynamiquement des fichiers de configuration Nginx \u00e0 partir de templates Jinja2. Combin\u00e9 \u00e0 un inventaire dynamique qui interroge votre hyperviseur ou votre cloud provider, il devient le point d&rsquo;entr\u00e9e unique pour toute op\u00e9ration sur l&rsquo;infrastructure.<\/p>\n\n\n\n<p>Pour une infrastructure comme celle d&rsquo;askem.eu, le passage \u00e0 Ansible repr\u00e9sente un investissement initial de quelques jours qui se rentabilise d\u00e8s la premi\u00e8re reconstruction de serveur ou le premier audit de s\u00e9curit\u00e9. L&rsquo;infrastructure cesse d&rsquo;\u00eatre un savoir tacite dans la t\u00eate de l&rsquo;administrateur pour devenir un artefact versionn\u00e9, testable et partageable.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Automatiser la gestion d&rsquo;infrastructure avec Ansible&nbsp;: de la configuration manuelle \u00e0 l&rsquo;Infrastructure as Code Quand on administre une infrastructure auto-h\u00e9berg\u00e9e compos\u00e9e de multiples services \u2014 CKAN, Nextcloud, Keycloak, Gitea, Superset \u2014 la tentation est grande de tout configurer \u00e0 la main, serveur par serveur. \u00c7a fonctionne au d\u00e9but, mais d\u00e8s que l&rsquo;environnement grandit ou qu&rsquo;il [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2095,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","osh_disable_topbar_sticky":"default","osh_disable_header_sticky":"default","osh_sticky_header_style":"default","osh_sticky_header_effect":"","osh_custom_sticky_logo":0,"osh_custom_retina_sticky_logo":0,"osh_custom_sticky_logo_height":0,"osh_background_color":"","osh_links_color":"","osh_links_hover_color":"","osh_links_active_color":"","osh_links_bg_color":"","osh_links_hover_bg_color":"","osh_links_active_bg_color":"","osh_menu_social_links_color":"","osh_menu_social_hover_links_color":"","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"on","ocean_gallery_id":[],"footnotes":""},"categories":[18],"tags":[],"class_list":["post-2094","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","entry","has-media"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Automatiser la gestion d&#039;infrastructure avec Ansible : de la configuration manuelle \u00e0 l&#039;Infrastructure as Code - askem<\/title>\n<meta name=\"description\" content=\"ASKEM BUREAU D&#039;\u00c9TUDES ET DE FORMATION NUM\u00c9RIQUE. Nous vous assistons dans la transformation num\u00e9rique de vos outils, services et organisations tout en pla\u00e7ant l\u2019humain au c\u0153ur de notre d\u00e9marche d\u2019accompagnement.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/askem.eu\/en\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatiser la gestion d&#039;infrastructure avec Ansible : de la configuration manuelle \u00e0 l&#039;Infrastructure as Code - askem\" \/>\n<meta property=\"og:description\" content=\"ASKEM BUREAU D&#039;\u00c9TUDES ET DE FORMATION NUM\u00c9RIQUE. Nous vous assistons dans la transformation num\u00e9rique de vos outils, services et organisations tout en pla\u00e7ant l\u2019humain au c\u0153ur de notre d\u00e9marche d\u2019accompagnement.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/askem.eu\/en\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/\" \/>\n<meta property=\"og:site_name\" content=\"askem\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/fb.me\/askem.eu\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-18T09:50:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-18T09:50:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2026\/03\/sujet-askem-2026-03-18.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"askemadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"askemadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/18\\\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/18\\\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\\\/\"},\"author\":{\"name\":\"askemadmin\",\"@id\":\"https:\\\/\\\/askem.eu\\\/#\\\/schema\\\/person\\\/8bbee74ab9a977d56bf4826662e9d2e9\"},\"headline\":\"Automatiser la gestion d&rsquo;infrastructure avec Ansible : de la configuration manuelle \u00e0 l&rsquo;Infrastructure as Code\",\"datePublished\":\"2026-03-18T09:50:25+00:00\",\"dateModified\":\"2026-03-18T09:50:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/18\\\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\\\/\"},\"wordCount\":885,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/18\\\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/askem.eu\\/wp-content\\/uploads\\/2026\\/03\\/sujet-askem-2026-03-18.png\",\"articleSection\":[\"devops\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/18\\\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/18\\\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\\\/\",\"url\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/18\\\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\\\/\",\"name\":\"Automatiser la gestion d'infrastructure avec Ansible : de la configuration manuelle \u00e0 l'Infrastructure as Code - askem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/18\\\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/18\\\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/askem.eu\\/wp-content\\/uploads\\/2026\\/03\\/sujet-askem-2026-03-18.png\",\"datePublished\":\"2026-03-18T09:50:25+00:00\",\"dateModified\":\"2026-03-18T09:50:28+00:00\",\"description\":\"ASKEM BUREAU D'\u00c9TUDES ET DE FORMATION NUM\u00c9RIQUE. Nous vous assistons dans la transformation num\u00e9rique de vos outils, services et organisations tout en pla\u00e7ant l\u2019humain au c\u0153ur de notre d\u00e9marche d\u2019accompagnement.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/18\\\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/18\\\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/18\\\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\\\/#primaryimage\",\"url\":\"https:\\/\\/askem.eu\\/wp-content\\/uploads\\/2026\\/03\\/sujet-askem-2026-03-18.png\",\"contentUrl\":\"https:\\/\\/askem.eu\\/wp-content\\/uploads\\/2026\\/03\\/sujet-askem-2026-03-18.png\",\"width\":1200,\"height\":800},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/18\\\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/askem.eu\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automatiser la gestion d&rsquo;infrastructure avec Ansible : de la configuration manuelle \u00e0 l&rsquo;Infrastructure as Code\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/askem.eu\\\/#website\",\"url\":\"https:\\\/\\\/askem.eu\\\/\",\"name\":\"askem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/askem.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/askem.eu\\\/#organization\",\"name\":\"Askem\",\"url\":\"https:\\\/\\\/askem.eu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/askem.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\/\\/mlpi0fxo3sth.i.optimole.com\\/cb:3obA.c61\\/w:760\\/h:480\\/q:mauto\\/f:best\\/https:\\/\\/askem.eu\\/wp-content\\/uploads\\/2020\\/10\\/logoGalaxieAskem3.png\",\"contentUrl\":\"https:\\/\\/mlpi0fxo3sth.i.optimole.com\\/cb:3obA.c61\\/w:760\\/h:480\\/q:mauto\\/f:best\\/https:\\/\\/askem.eu\\/wp-content\\/uploads\\/2020\\/10\\/logoGalaxieAskem3.png\",\"width\":760,\"height\":480,\"caption\":\"Askem\"},\"image\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/fb.me\\\/askem.eu\",\"https:\\\/\\\/linkedin.com\\\/company\\\/askem-eu\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/askem.eu\\\/#\\\/schema\\\/person\\\/8bbee74ab9a977d56bf4826662e9d2e9\",\"name\":\"askemadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a202f744ee3a4b6fdbe2ceb57fd84c72559337791a276662270d8d2fb7842e3f?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a202f744ee3a4b6fdbe2ceb57fd84c72559337791a276662270d8d2fb7842e3f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a202f744ee3a4b6fdbe2ceb57fd84c72559337791a276662270d8d2fb7842e3f?s=96&d=mm&r=g\",\"caption\":\"askemadmin\"},\"sameAs\":[\"https:\\\/\\\/askem.eu\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automatiser la gestion d'infrastructure avec Ansible : de la configuration manuelle \u00e0 l'Infrastructure as Code - askem","description":"ASKEM BUREAU D'\u00c9TUDES ET DE FORMATION NUM\u00c9RIQUE. Nous vous assistons dans la transformation num\u00e9rique de vos outils, services et organisations tout en pla\u00e7ant l\u2019humain au c\u0153ur de notre d\u00e9marche d\u2019accompagnement.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/askem.eu\/en\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/","og_locale":"en_US","og_type":"article","og_title":"Automatiser la gestion d'infrastructure avec Ansible : de la configuration manuelle \u00e0 l'Infrastructure as Code - askem","og_description":"ASKEM BUREAU D'\u00c9TUDES ET DE FORMATION NUM\u00c9RIQUE. Nous vous assistons dans la transformation num\u00e9rique de vos outils, services et organisations tout en pla\u00e7ant l\u2019humain au c\u0153ur de notre d\u00e9marche d\u2019accompagnement.","og_url":"https:\/\/askem.eu\/en\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/","og_site_name":"askem","article_publisher":"https:\/\/fb.me\/askem.eu","article_published_time":"2026-03-18T09:50:25+00:00","article_modified_time":"2026-03-18T09:50:28+00:00","og_image":[{"width":1200,"height":800,"url":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2026\/03\/sujet-askem-2026-03-18.png","type":"image\/png"}],"author":"askemadmin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"askemadmin","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/askem.eu\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/#article","isPartOf":{"@id":"https:\/\/askem.eu\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/"},"author":{"name":"askemadmin","@id":"https:\/\/askem.eu\/#\/schema\/person\/8bbee74ab9a977d56bf4826662e9d2e9"},"headline":"Automatiser la gestion d&rsquo;infrastructure avec Ansible : de la configuration manuelle \u00e0 l&rsquo;Infrastructure as Code","datePublished":"2026-03-18T09:50:25+00:00","dateModified":"2026-03-18T09:50:28+00:00","mainEntityOfPage":{"@id":"https:\/\/askem.eu\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/"},"wordCount":885,"commentCount":0,"publisher":{"@id":"https:\/\/askem.eu\/#organization"},"image":{"@id":"https:\/\/askem.eu\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/#primaryimage"},"thumbnailUrl":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2026\/03\/sujet-askem-2026-03-18.png","articleSection":["devops"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/askem.eu\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/askem.eu\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/","url":"https:\/\/askem.eu\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/","name":"Automatiser la gestion d'infrastructure avec Ansible : de la configuration manuelle \u00e0 l'Infrastructure as Code - askem","isPartOf":{"@id":"https:\/\/askem.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/askem.eu\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/#primaryimage"},"image":{"@id":"https:\/\/askem.eu\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/#primaryimage"},"thumbnailUrl":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2026\/03\/sujet-askem-2026-03-18.png","datePublished":"2026-03-18T09:50:25+00:00","dateModified":"2026-03-18T09:50:28+00:00","description":"ASKEM BUREAU D'\u00c9TUDES ET DE FORMATION NUM\u00c9RIQUE. Nous vous assistons dans la transformation num\u00e9rique de vos outils, services et organisations tout en pla\u00e7ant l\u2019humain au c\u0153ur de notre d\u00e9marche d\u2019accompagnement.","breadcrumb":{"@id":"https:\/\/askem.eu\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/askem.eu\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/askem.eu\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/#primaryimage","url":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2026\/03\/sujet-askem-2026-03-18.png","contentUrl":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2026\/03\/sujet-askem-2026-03-18.png","width":1200,"height":800},{"@type":"BreadcrumbList","@id":"https:\/\/askem.eu\/2026\/03\/18\/automatiser-la-gestion-dinfrastructure-avec-ansible-de-la-configuration-manuelle-a-linfrastructure-as-code\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/askem.eu\/"},{"@type":"ListItem","position":2,"name":"Automatiser la gestion d&rsquo;infrastructure avec Ansible : de la configuration manuelle \u00e0 l&rsquo;Infrastructure as Code"}]},{"@type":"WebSite","@id":"https:\/\/askem.eu\/#website","url":"https:\/\/askem.eu\/","name":"askem","description":"","publisher":{"@id":"https:\/\/askem.eu\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/askem.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/askem.eu\/#organization","name":"Askem","url":"https:\/\/askem.eu\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/askem.eu\/#\/schema\/logo\/image\/","url":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:760\/h:480\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2020\/10\/logoGalaxieAskem3.png","contentUrl":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:760\/h:480\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2020\/10\/logoGalaxieAskem3.png","width":760,"height":480,"caption":"Askem"},"image":{"@id":"https:\/\/askem.eu\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/fb.me\/askem.eu","https:\/\/linkedin.com\/company\/askem-eu"]},{"@type":"Person","@id":"https:\/\/askem.eu\/#\/schema\/person\/8bbee74ab9a977d56bf4826662e9d2e9","name":"askemadmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a202f744ee3a4b6fdbe2ceb57fd84c72559337791a276662270d8d2fb7842e3f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a202f744ee3a4b6fdbe2ceb57fd84c72559337791a276662270d8d2fb7842e3f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a202f744ee3a4b6fdbe2ceb57fd84c72559337791a276662270d8d2fb7842e3f?s=96&d=mm&r=g","caption":"askemadmin"},"sameAs":["https:\/\/askem.eu"]}]}},"_links":{"self":[{"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/posts\/2094","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/comments?post=2094"}],"version-history":[{"count":1,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/posts\/2094\/revisions"}],"predecessor-version":[{"id":2096,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/posts\/2094\/revisions\/2096"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/media\/2095"}],"wp:attachment":[{"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/media?parent=2094"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/categories?post=2094"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/tags?post=2094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}