Un fil conducteur simple. Automatiser, versionner, intégrer avec des APIs, puis appliquer sur des cas concrets.
Jour 1 Python réseau
Connexion SSH, collecte, parsing, structuration de données. Bases solides pour automatiser proprement.
from netmiko import ConnectHandler
device = {
"device_type": "cisco_ios",
"host": "192.168.1.1",
"username": "admin",
"password": "admin123"
}
net_connect = ConnectHandler(**device)
output = net_connect.send_command("show ip interface brief")
print(output)
Jour 2 Ansible et Git
Playbooks, templates Jinja2, variables. Versioning Git pour une gestion de config structurée et auditable.
- name: Déployer la config BGP
hosts: routers
connection: network_cli
tasks:
- name: Push config template
ios_config:
src: templates/bgp.j2
git clone https://gitlab.com/infra/network-ansible.git
cd network-ansible
git checkout -b ajout-bgp-config
git add templates/bgp.j2
git commit -m "Ajout du template BGP pour backbone"
git push origin ajout-bgp-config
Jour 3 APIs et atelier entreprise
REST, inventaire, reporting. Atelier final pour connecter l’automatisation à vos usages réels.
GET /api/dcim/devices/42/ HTTP/1.1
Host: netbox.local
Authorization: Token xxxxxxxxxxxxxxxxxx
HTTP/1.1 200 OK
{
"name": "router-paris",
"status": "active",
"site": "DC-PARIS"
}