{"id":739,"date":"2025-03-13T14:05:50","date_gmt":"2025-03-13T13:05:50","guid":{"rendered":"https:\/\/lcendamo.aristeecampus.org\/?page_id=739"},"modified":"2025-03-13T14:06:30","modified_gmt":"2025-03-13T13:06:30","slug":"ansible","status":"publish","type":"page","link":"https:\/\/lcendamo.aristeecampus.org\/index.php\/ansible\/","title":{"rendered":"Ansible"},"content":{"rendered":"<h1>Pr\u00e9sentation, installation, utilisation de Ansible<\/h1>\n<h2>Pr\u00e9sentation du contexte\u00a0:<\/h2>\n<p>GSB (Galaxy Swiss Bourdin) est cr\u00e9\u00e9 en 2009 par la fusion de Galaxy, expert en maladies virales, et Swiss Bourdin, sp\u00e9cialis\u00e9 dans les m\u00e9dicaments classiques. Le si\u00e8ge administratif est a Paris, le social \u00e0 Philadelphie. L\u2019objectif est d\u2019optimiser co\u00fbts et production en combinant leurs forces. L\u2019entreprise compte 480 visiteurs m\u00e9dicaux en m\u00e9tropole et 60 en outre-mer, r\u00e9partis en 6 zones.<\/p>\n<h2>Le besoin\u00a0:<\/h2>\n<p>La DSI a d\u00e9cid\u00e9 de mettre en place dans son infrastructure un service permettant l\u2019automatisation de taches, la simplification de la gestion des serveurs, et l\u2019optimisation d\u2019op\u00e9rations.<\/p>\n<h2>Solutions envisageables et retenues\u00a0:<\/h2>\n<p>Differents solutions sont possible\u00a0: Puppet, Chef, SaltStack, Ansible.<\/p>\n<p>La solution retenue est Ansible, car il poss\u00e8de une grande communaut\u00e9, est open source et il utilise le langague yaml qui est facile \u00e0 lire.<\/p>\n<h2>Principe de fonctionnement\u00a0:<\/h2>\n<p>Ansible est un outil permettant d\u2019automatiser des taches. Il est capable d\u2019ex\u00e9cuter des actions complexes ou r\u00e9p\u00e9titives, sur un grand nombre de machines en m\u00eame temps.<\/p>\n<p>Il est \u00ab\u00a0agentless\u00a0\u00bb ce qui signifie qu\u2019il ne n\u00e9cessite pas d\u2019agents sur les machines clientes pour fonctionner. Il utilise le protocole SSH pour pousser les diff\u00e9rentes taches sur les clients.<\/p>\n<p>Il a \u00e9t\u00e9 cr\u00e9\u00e9 en 2012 par Michael DeHaan, un ing\u00e9nieur logiciel.<\/p>\n<p>Il dispose d\u2019une large communaut\u00e9 qui cr\u00e9\u00e9, et partage des playbooks, modules et roles. Le site internet Ansible Galaxy en regroupe un grand nombre et les propose gratuitement.<\/p>\n<p>Red Hat commercialise \u00e9galement en version commerciale sous le nom de Ansible Automation Platform, offrant des outils suppl\u00e9mentaires pour les grandes entreprises.<\/p>\n<p>L\u2019utilisation de Ansible se base sur trois notions principales\u00a0:<\/p>\n<ul>\n<li>L\u2019inventory\u00a0: C\u2019est l\u2019inventaire des diff\u00e9rents h\u00f4tes. Il est possible de cr\u00e9er des groupes d\u2019hotes, sous-groupes, et de les nommer afin de pouvoir facilement les appeler dans des playbooks. Il peut \u00eatre au format ini ou Yaml.<\/li>\n<li>Les roles\u00a0: C\u2019est une suite d\u2019actions coordonn\u00e9es permettant de r\u00e9aliser un suite de tache dans un but pr\u00e9cis ( exemple\u00a0: installer Apache et le configurer )<\/li>\n<li>Les playbooks\u00a0: Permet d\u2019orchestrer l\u2019utilisation des roles en indiquant lesquels utiliser sur quel host ou groupe d\u2019host de l\u2019inventory. Il fait le lien entre roles et inventory. Le format utilis\u00e9 pour les playbook et YAML.<\/li>\n<\/ul>\n<h2>Sch\u00e9ma r\u00e9seau actuel\u00a0:<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1598\" height=\"711\" class=\"wp-image-741\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-1.png\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-1.png 1598w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-1-300x133.png 300w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-1-1024x456.png 1024w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-1-768x342.png 768w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-1-1536x683.png 1536w\" sizes=\"(max-width: 1598px) 100vw, 1598px\" \/><\/p>\n<h2>Sch\u00e9ma r\u00e9seau attendu\u00a0:<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1110\" height=\"575\" class=\"wp-image-742\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-2.png\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-2.png 1110w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-2-300x155.png 300w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-2-1024x530.png 1024w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-2-768x398.png 768w\" sizes=\"(max-width: 1110px) 100vw, 1110px\" \/><\/p>\n<h2>Installation\u00a0:<\/h2>\n<p>Pour installer ansible, il suffit d\u2019ex\u00e9cuter la commande suivante\u00a0:<\/p>\n<p>apt install ansible<\/p>\n<p>Puis, pour v\u00e9rifier la version install\u00e9e, taper\u00a0:<\/p>\n<p>Ansible &#8211;version<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"859\" height=\"141\" class=\"wp-image-743\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-3.png\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-3.png 859w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-3-300x49.png 300w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-3-768x126.png 768w\" sizes=\"(max-width: 859px) 100vw, 859px\" \/><\/p>\n<p>Nous allons maintenant g\u00e9n\u00e9rer et faire l\u2019\u00e9change de clefs SSH entre notre machine node manager ( la machine sur laquelle Ansible et install\u00e9) et un de nos managed node ( machine cliente).<\/p>\n<p>Pour cela, executer les commandes suivantes\u00a0:<\/p>\n<p>ssh-keygen -t ed25519 (generation des cl\u00e9fs)<\/p>\n<p>ssh-copy-id ansible-\u00abutilisateur\u00bb@ip_de_votre_machine<\/p>\n<p>Puis tenter de se connecter sans password, si l\u2019\u00e9change de clefs a r\u00e9ussie, la manipulation devrait fonctionner et aucun mot de passe ne devrait \u00eatre demand\u00e9 pour la connexion SSH.<\/p>\n<p>Cette manipulation est \u00e0 faire pour tous les managed nodes.<\/p>\n<p>Il faut ensuite modifier le fichier inventaire et y inclure les IP, noms d\u2019hotes de nos machines clientes.<\/p>\n<p>Voici un exemple de fichier inventaire, nous avons deux groupes d\u2019hotes, un nomm\u00e9 \u00ab\u00a0linux\u00a0\u00bb, l\u2019autre \u00ab\u00a0webserveurs\u00a0\u00bb<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"120\" height=\"145\" class=\"wp-image-744\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/une-image-contenant-capture-decran-texte-police-1.png\" alt=\"Une image contenant capture d\u2019\u00e9cran, texte, Police, conception\n\nDescription g\u00e9n\u00e9r\u00e9e automatiquement\" \/><\/p>\n<p>Pour finaliser la v\u00e9rification et \u00eatre s\u00fbr que les Playbooks seront correctement ex\u00e9cut\u00e9s, nous pouvons effectuer la commande de v\u00e9rification suivantes\u00a0:<\/p>\n<p>ansible all -i \/etc\/ansible\/hosts -m ping<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"543\" height=\"211\" class=\"wp-image-745\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/une-image-contenant-texte-capture-decran-police-3.png\" alt=\"Une image contenant texte, capture d\u2019\u00e9cran, Police\n\nDescription g\u00e9n\u00e9r\u00e9e automatiquement\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/une-image-contenant-texte-capture-decran-police-3.png 543w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/une-image-contenant-texte-capture-decran-police-3-300x117.png 300w\" sizes=\"(max-width: 543px) 100vw, 543px\" \/><\/p>\n<p>\u201cSUCCESS\u201d nous allons pouvoir ex\u00e9cuter des playbooks vers ses machines distantes.<\/p>\n<h2>Ex\u00e9cution d\u2019un playbook<\/h2>\n<p>Voici un playbook, il permet l\u2019installation d\u2019Apache.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"367\" height=\"220\" class=\"wp-image-746\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-6.png\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-6.png 367w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-6-300x180.png 300w\" sizes=\"(max-width: 367px) 100vw, 367px\" \/><\/p>\n<p>Pour l\u2019ex\u00e9cuter, il faut taper la commande suivante\u00a0:<\/p>\n<p>ansible-playbook install-apache2.yaml -i hosts<\/p>\n<p>&#8211; ansible-playbook permet d\u2019indiquer que l\u2019on veut ex\u00e9cuter un playbook<\/p>\n<p>&#8211; Puis on indique le nom du playbook\u00a0: install-apache2.yaml<\/p>\n<p>&#8211; Puis le fichier inventaire que l\u2019on veut utiliser avec -i<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1001\" height=\"273\" class=\"wp-image-747\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/une-image-contenant-texte-capture-decran-police-4.png\" alt=\"Une image contenant texte, capture d\u2019\u00e9cran, Police\n\nDescription g\u00e9n\u00e9r\u00e9e automatiquement\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/une-image-contenant-texte-capture-decran-police-4.png 1001w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/une-image-contenant-texte-capture-decran-police-4-300x82.png 300w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/une-image-contenant-texte-capture-decran-police-4-768x209.png 768w\" sizes=\"(max-width: 1001px) 100vw, 1001px\" \/><\/p>\n<p>Lors de l\u2019ex\u00e9cution d\u2019un playbook, Ansible nous fait un retour d\u2019\u00e9tat. Il nous indique si le playbook a correctement effectu\u00e9 les actions demand\u00e9es ou pas. On peut voir sur l\u2019image ci-dessus qu\u2019Ansible n\u2019a pas r\u00e9ussi \u00e0 ex\u00e9cuter le playbook sur deux h\u00f4tes.<\/p>\n<p>Il nous indique le pourquoi\u00a0: \u00ab\u00a0Failed to connect to the host via ssh: ssh: connect to host 192.168.110.64 port 22: No route to host\u00a0\u00bb, \u00ab\u00a0unreachable\u00a0\u00bb: true<\/p>\n<p>Il n\u2019a pas pu atteindre l\u2019h\u00f4te via le port 22. Le probl\u00e8me \u00e9tait que les machines \u00e9taient \u00e9teintes.<\/p>\n<p>Voil\u00e0 le compte rendu final que nous donne Ansible apr\u00e8s une bonne ex\u00e9cution\u00a0:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"821\" height=\"260\" class=\"wp-image-748\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/une-image-contenant-texte-capture-decran-police-5.png\" alt=\"Une image contenant texte, capture d\u2019\u00e9cran, Police, logiciel\n\nDescription g\u00e9n\u00e9r\u00e9e automatiquement\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/une-image-contenant-texte-capture-decran-police-5.png 821w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/une-image-contenant-texte-capture-decran-police-5-300x95.png 300w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/une-image-contenant-texte-capture-decran-police-5-768x243.png 768w\" sizes=\"(max-width: 821px) 100vw, 821px\" \/><\/p>\n<p>Notre serveur ansible est fonctionnel, nous allons pouvoir l\u2019utiliser pour d\u2019autres projets.<\/p>\n<h1>Playbook pour d\u00e9ployer un serveur Squid fonctionnel\u00a0:<\/h1>\n<p>Je vais vous pr\u00e9senter un Playbook qui permet de mettre en place un serveur Squid avec SquidGuard\u00a0, et qui installe les services et configure le serveur pour faire fonctionner l\u2019authentification active directory pour les comptes utilisateurs, le tout en un seul play.<\/p>\n<p>Voici le playbook complet, le playbook avec les explications se trouve plus bas :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"439\" height=\"914\" class=\"wp-image-749\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-9.png\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-9.png 439w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-9-144x300.png 144w\" sizes=\"(max-width: 439px) 100vw, 439px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"392\" height=\"391\" class=\"wp-image-750\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-10.png\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-10.png 392w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-10-300x300.png 300w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-10-150x150.png 150w\" sizes=\"(max-width: 392px) 100vw, 392px\" \/><\/p>\n<h2>Explication du Playbook\u00a0:<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1186\" height=\"830\" class=\"wp-image-751\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-11.png\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-11.png 1186w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-11-300x210.png 300w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-11-1024x717.png 1024w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-11-768x537.png 768w\" sizes=\"(max-width: 1186px) 100vw, 1186px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1186\" height=\"548\" class=\"wp-image-752\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-12.png\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-12.png 1186w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-12-300x139.png 300w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-12-1024x473.png 1024w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-12-768x355.png 768w\" sizes=\"(max-width: 1186px) 100vw, 1186px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1165\" height=\"810\" class=\"wp-image-753\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-13.png\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-13.png 1165w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-13-300x209.png 300w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-13-1024x712.png 1024w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-13-768x534.png 768w\" sizes=\"(max-width: 1165px) 100vw, 1165px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1186\" height=\"686\" class=\"wp-image-754\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-14.png\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-14.png 1186w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-14-300x174.png 300w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-14-1024x592.png 1024w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-14-768x444.png 768w\" sizes=\"(max-width: 1186px) 100vw, 1186px\" \/><\/p>\n<h2>Voici le Tree du r\u00e9pertoire Ansible\u00a0:<\/h2>\n<p>\u251c\u2500\u2500 ansible.cfg<\/p>\n<p>\u251c\u2500\u2500 ansible.cfg.old<\/p>\n<p>\u251c\u2500\u2500 backupcisco.yaml<\/p>\n<p>\u251c\u2500\u2500 enablenetconf.yaml<\/p>\n<p>\u251c\u2500\u2500 fileserver.yaml<\/p>\n<p>\u251c\u2500\u2500 install-apache2.yaml<\/p>\n<p>\u251c\u2500\u2500 install-squid.yaml<\/p>\n<p>\u251c\u2500\u2500 inventory<\/p>\n<p>\u2502\u00a0\u00a0 \u251c\u2500\u2500 hosts<\/p>\n<p>\u2502\u00a0\u00a0 \u2514\u2500\u2500 hosts.save<\/p>\n<p>\u251c\u2500\u2500 remove-apache2.yaml<\/p>\n<p>\u251c\u2500\u2500 roles<\/p>\n<p>\u2502\u00a0\u00a0 \u251c\u2500\u2500 chrony<\/p>\n<p>\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 chrony.conf<\/p>\n<p>\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 install-chrony.yaml<\/p>\n<p>\u2502\u00a0\u00a0 \u251c\u2500\u2500 services<\/p>\n<p>\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 install-rsync.yaml<\/p>\n<p>\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 install-smb.yaml<\/p>\n<p>\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 install-winbind.yaml<\/p>\n<p>\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 smb.conf<\/p>\n<p>\u2502\u00a0\u00a0 \u251c\u2500\u2500 squid<\/p>\n<p>\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 copyconfsquid.yaml<\/p>\n<p>\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 squid.conf<\/p>\n<p>\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 squid.conf.save<\/p>\n<p>\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 squidGuard.conf<\/p>\n<p>\u2502\u00a0\u00a0 \u251c\u2500\u2500 update-upgrade.yaml<\/p>\n<p>\u2502\u00a0\u00a0 \u2514\u2500\u2500 utility<\/p>\n<p>\u2502\u00a0\u00a0 \u00a0 \u00a0 \u2514\u2500\u2500 blacklist.yaml<\/p>\n<p>\u251c\u2500\u2500 ssh-copy.yaml<\/p>\n<h1>Les roles utilis\u00e9s\u00a0:<\/h1>\n<h2>Install Rsync\u00a0: Install smb\u00a0: Install chrony\u00a0:<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"227\" height=\"250\" class=\"wp-image-755\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-15.png\" \/><br \/>\n<img loading=\"lazy\" decoding=\"async\" width=\"271\" height=\"613\" class=\"wp-image-756\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-16.png\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-16.png 271w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-16-133x300.png 133w\" sizes=\"(max-width: 271px) 100vw, 271px\" \/><br \/>\n<img loading=\"lazy\" decoding=\"async\" width=\"277\" height=\"401\" class=\"wp-image-757\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-17.png\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-17.png 277w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-17-207x300.png 207w\" sizes=\"(max-width: 277px) 100vw, 277px\" \/><\/p>\n<h2>Download blacklitsts\u00a0:<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"585\" height=\"394\" class=\"wp-image-758\" src=\"http:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-18.png\" srcset=\"https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-18.png 585w, https:\/\/lcendamo.aristeecampus.org\/wp-content\/uploads\/2025\/03\/word-image-739-18-300x202.png 300w\" sizes=\"(max-width: 585px) 100vw, 585px\" \/><\/p>\n<h2>Conclusion + Evolution possible\u00a0:<\/h2>\n<p>Le serveur est fonctionnel, il va permettre l\u2019automatisation de t\u00e2ches, l\u2019envoie en parall\u00e8le d\u2019actions sur un grand nombre de machines Linux ou m\u00eame le d\u00e9ploiement de machines fonctionnelles comme vu avec le playbook Squid.<\/p>\n<p>L\u2019\u00e9volution possible et l\u2019utilisation d\u2019Ansible pour la gestion de switch Cisco.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pr\u00e9sentation, installation, utilisation de Ansible Pr\u00e9sentation du contexte\u00a0: GSB (Galaxy Swiss Bourdin) est cr\u00e9\u00e9 en 2009 par la fusion de Galaxy, expert en maladies virales, et Swiss Bourdin, sp\u00e9cialis\u00e9 dans les m\u00e9dicaments classiques. Le si\u00e8ge administratif est a Paris, le social \u00e0 Philadelphie. L\u2019objectif est d\u2019optimiser co\u00fbts et production en combinant leurs forces. L\u2019entreprise compte [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"saved_in_kubio":true,"footnotes":""},"class_list":["post-739","page","type-page","status-publish","hentry"],"kubio_ai_page_context":{"short_desc":"","purpose":"general"},"_links":{"self":[{"href":"https:\/\/lcendamo.aristeecampus.org\/index.php\/wp-json\/wp\/v2\/pages\/739","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lcendamo.aristeecampus.org\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lcendamo.aristeecampus.org\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lcendamo.aristeecampus.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lcendamo.aristeecampus.org\/index.php\/wp-json\/wp\/v2\/comments?post=739"}],"version-history":[{"count":2,"href":"https:\/\/lcendamo.aristeecampus.org\/index.php\/wp-json\/wp\/v2\/pages\/739\/revisions"}],"predecessor-version":[{"id":762,"href":"https:\/\/lcendamo.aristeecampus.org\/index.php\/wp-json\/wp\/v2\/pages\/739\/revisions\/762"}],"wp:attachment":[{"href":"https:\/\/lcendamo.aristeecampus.org\/index.php\/wp-json\/wp\/v2\/media?parent=739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}