01Le coût du « à la main »
Chaque switch configuré séparément finit par différer des autres, et personne ne sait plus quelle modification a été faite, quand, ni pourquoi. Le problème n’est pas la vitesse : c’est la cohérence et la traçabilité.
02Inventaire et modèles
L’inventaire range les équipements par site et par rôle (accès, distribution, cœur). Les modèles Jinja2 décrivent ce qu’un rôle doit avoir — VLAN, interfaces, NTP, syslog, AAA — une seule fois, pour tous.
- name: Configuration des switches d'accès
hosts: acces
gather_facts: false
tasks:
- name: Appliquer le modèle du rôle
cisco.ios.ios_config:
src: templates/acces.j203Toujours relire le diff
Avant toute application, le playbook tourne en mode check et diff : Ansible montre ligne par ligne ce qui changerait, sans rien modifier. On relit, puis on applique à tout le périmètre visé.
# Simulation : ce qui changerait, sans rien toucher
ansible-playbook site.yml --limit paris --check --diff
# Application, une fois le diff relu
ansible-playbook site.yml --limit paris04L’historique dans Git
Une sauvegarde quotidienne des configurations part dans un dépôt Git : chaque changement a sa date et son diff, et revenir en arrière devient une opération simple.
05D’abord sur maquette
Tout a été validé sur des switches Cisco IOS émulés dans EVE-NG avant d’approcher un équipement réel.
À retenir
- Un modèle par rôle, écrit une fois.
- check + diff avant chaque application.
- Configurations sauvegardées et versionnées chaque jour.
- Valider sur maquette avant la production.