
Une odeur de gratin réchauffé traîne encore près de la cuisinière, mélangée à celle du thé qui refroidit à côté du clavier. Ma box internet clignote sur le meuble, avec une régularité presque moqueuse, et pour la première fois depuis que j'apprends Python en autodidacte, le soir, après le travail, je me demande si je pourrais comprendre ce qui se passe vraiment dans ses entrailles plutôt que de me contenter de la débrancher et la rebrancher, un peu d'automatisation réseau, peut-être, pour une débutante qui n'a jamais touché à un routeur de sa vie.
Avant d'aller plus loin, une précision qui me semble honnête : ce carnet contient quelques liens affiliés, dont un vers la formation au langage Python qui m'a servi de point de départ. Si un achat se fait par ce lien, je touche une petite commission, sans que le prix change pour vous. Je ne parle que des ressources qui ont vraiment occupé mes soirées, pas de tout ce qui existe sur le marché.
Le soir où j'ai voulu que mon code parle au routeur
Ça a commencé quelques mois après avoir fini mes premiers exercices, quand j'ai eu l'impression d'avoir appris l'alphabet sans encore avoir de livre à lire. Faire des listes de courses virtuelles ou calculer l'âge de mon chat en jours, c'était amusant, mais ça manquait de prise sur le réel. Un jour, j'ai réalisé que tout ce qui m'entoure, la box, l'imprimante, le téléphone, parle un langage de réseau, et que des gens en ont fait un métier : automatiser ce qui, autrement, se ferait à la main, machine après machine. C'est comme ça que j'ai entendu parler de la bibliothèque Netmiko, capable de dialoguer avec des dizaines de marques de routeurs différents, un peu comme un traducteur qui parlerait toutes les langues du matériel réseau à la fois.

Le modèle OSI, ou la notice trop savante que j'ai refermée
On m'a parlé du modèle OSI, cette façon d'empiler les couches de communication les unes sur les autres pour qu'un message parte d'un ordinateur et arrive intact à l'autre bout du monde. Sur les conseils glanés dans un forum, j'ai téléchargé un manuel en anglais qui détaillait tout ça dans le détail technique. J'ai refermé l'onglet au bout de quelques pages : trop de vocabulaire spécialisé pour mon niveau, et je passais plus de temps à chercher la traduction des mots qu'à comprendre l'idée derrière. J'ai fini par laisser cette histoire de côté et par avancer autrement, avec des exemples plus simples et beaucoup de patience.
Le protocole qui sert à se connecter à un équipement à distance s'appelle SSH ; je m'en suis servie sans jamais chercher à savoir comment il fonctionne vraiment, seulement à quoi il sert. Dans mes premiers essais, je me sentais comme si j'essayais de crocheter une serrure avec des moufles, et le message d'erreur qui s'affichait ne m'aidait pas beaucoup à comprendre pourquoi la connexion refusait de s'établir. Il a fallu revenir sur des bases toutes simples, comme les opérateurs logiques and or en python, pour structurer mes tests de connexion : si le routeur répond et que le mot de passe est bon, on continue, sinon on ne touche à rien.
Pourquoi j'ai fini par regarder du côté de la formation Cisco
Il y a quelques semaines, je me suis penchée sur la formation Cisco : réseaux et systèmes, une porte d'entrée vers un univers beaucoup plus concret que le pur code : des câbles, des ports, des adresses à écrire au bon endroit sous peine que la commande parte n'importe où. Je suis sortie marcher un peu, rue du Port, pour laisser reposer tout ce vocabulaire, et je pensais encore à cette histoire d'adresses en rentrant. Un ami qui travaille dans les infrastructures critiques m'a expliqué un jour que pour lui, un script lancé au hasard ne suffit jamais : tout passe par des environnements de test et des vérifications strictes avant de toucher au réseau réel. Chez moi, sur ma table, une erreur coupe Netflix. Chez lui, ça peut couper l'accès à tout un quartier. Ça remet les choses à leur place.

Une adresse sans guillemets ne dit rien à personne
Un soir, mon script a refusé de reconnaître l'adresse de mon routeur, et j'ai mis un moment à comprendre pourquoi : il manquait simplement les guillemets autour de l'adresse. Sans eux, Python ne voit qu'une suite de chiffres qui ne veut rien dire, pas un texte qu'il peut manipuler. Un détail bête, réglé en quelques minutes une fois repéré, mais qui m'a rappelé à quel point la rigueur compte dans ce domaine : automatiser, ce n'est pas juste écrire du code, c'est aussi savoir comment le réseau respire, avec ses règles précises et ses tolérances proches de zéro.
Ranger ses données comme on range les placards
Ce qui m'a aidée aussi, c'est d'apprendre à structurer mes données avec des formats comme JSON ou YAML, une manière de ranger les informations — noms d'appareils, adresses — pour que le script puisse les relire facilement, un peu comme on étiquette des bocaux plutôt que de tout laisser en vrac dans un tiroir. J'ai dû apprendre au passage à afficher la date et l'heure en python pour horodater mes rapports de connexion : savoir que mon routeur répondait bien à une heure précise du soir, c'est ma petite victoire personnelle.

Ce que la cinquième semaine a changé
Vers la cinquième semaine à m'accrocher à ces histoires de connexions et d'adresses, quelque chose a fini par se tasser dans ma tête. J'ai ouvert par curiosité un vieux fichier point-py que je ne reconnaissais pas, retrouvé je ne sais plus où sur mon disque, et j'ai compris ce qu'il faisait sans avoir besoin d'aide ni de dictionnaire à côté. Après deux ans à bricoler avec Python en soirée, ce genre de moment devrait sans doute me sembler ordinaire ; il ne l'est toujours pas tout à fait, et c'est peut-être tant mieux. Une amie à moi part faire du trail dans la Chaîne des Puys presque tous les week-ends ; moi, mon terrain d'aventure du soir tient dans un terminal noir et blanc, et ça me va très bien.
Je ne suis pas devenue une experte du réseau du jour au lendemain, loin de là, et je continue de ramer sur le routage un peu complexe. Mais voir mon code agir sur un objet physique, aller chercher une information à travers un câble, ça change quelque chose : Python cesse de parler seulement à un logiciel, il parle à l'infrastructure qui fait tenir le web debout. Si vous avez déjà les bases et que vous voulez voir ce que Python a dans le ventre au-delà des exercices, jetez un œil du côté des réseaux ; c'est aride au début, plein de sigles, mais gratifiant quand ça commence à tenir ensemble. De mon côté, je continue doucement avec la formation Cisco, une soirée à la fois. Et vous, est-ce que votre code a déjà réussi à faire bouger quelque chose de vraiment physique chez vous ?