
Onzième fiche de la pile, onzième clic sur « Nouvel utilisateur ». Le service RH d'un client du quartier Colombier, à Rennes, m'avait envoyé la liste d'une vague d'arrivées à traiter avant la fin de la semaine, et chaque compte Active Directory à créer demandait les mêmes clics, dans le même ordre, avec le même risque d'oublier un groupe de sécurité au douzième. C'est exactement le genre de tâche répétitive où un script Python bien pensé change tout pour un technicien support — à condition de comprendre ce qu'on automatise, et pas seulement copier une ligne de code trouvée quelque part.
Le clic qui se répète dans Active Directory, le script qui tourne seul
Deux façons existent pour vider ce genre de liste. La première, c'est celle que je viens de décrire : ouvrir la console, remplir les champs, cocher les groupes, recommencer. Ça marche très bien pour trois ou quatre comptes isolés. Passé la dizaine, la fatigue s'installe et les erreurs aussi : un groupe de sécurité oublié, un nom mal orthographié parce qu'on va trop vite. La seconde façon, c'est de laisser un script gérer la création en série, à partir d'un simple fichier listant les arrivants. Les comptes AD ne sont d'ailleurs pas la seule corvée répétitive qu'un technicien support peut déléguer à un script — les rapports, les extractions, les relances, tout y passe une fois qu'on a compris le principe.
J'avais déjà testé Python un soir ou deux sur un cours qui servait surtout à générer des rapports de tickets plus vite, et réutiliser ce même langage pour l'annuaire m'a paru plus logique que d'apprendre un outil de plus — ou que de partir sur JavaScript, une question que je laisse à un autre comparatif.

Un script pour remplacer le clic droit dans l'AD
Pas sans un minimum de bagage, non. Le clic droit dans la console, n'importe quel débutant sait le faire au bout d'une matinée. Écrire un script qui parle à l'annuaire suppose de connaître au moins les briques de base d'un langage — une variable, une fonction, une condition qui dit au programme quoi faire selon le cas — avant même de toucher à Active Directory. Ça suppose aussi de ne pas être complètement perdu dès qu'on parle d'adressage IP, de routage ou de protocole réseau, parce que le contrôleur de domaine qu'on interroge est une machine sur le réseau comme une autre, pas une boîte magique.
Le script s'appuie sur un protocole que l'annuaire comprend nativement — le lien vers LDAP explique le principe mieux que je ne le ferais, et je ne vais pas rejouer ici le cours réseau que d'autres formations couvrent en détail. Ce qu'il faut retenir, c'est que le script pose des questions et donne des ordres dans ce langage-là, et que l'annuaire répond ou obéit.
Comprendre avant de copier un script
Ma première tentative n'est pas passée par un cours du tout. Un ingénieur réseau croisé sur un projet m'avait filé ses propres fiches, prises pendant sa formation à lui, en me disant que ça suffirait pour comprendre la logique. Résultat : des abréviations sans légende, des bouts de script sans contexte, et moi qui essayais de deviner ce qu'un paramètre faisait au lieu de le savoir. Ça m'a pris plus de temps de déchiffrer ses notes que d'apprendre les bases proprement, ailleurs.
Ce qui a vraiment fait la différence, c'est un exercice de labo repris un soir depuis mon bureau de fortune à Cesson-Sévigné, deux écrans posés sur une table stratifiée dont les coins ont pris des coups, un vieux Raspberry Pi qui tourne en serveur dans un coin, un carnet plein de schémas de sous-réseaux griffonnés à la main quand les mots ne suffisent pas. Le temps que la commande ping vers 8.8.8.8 réponde, le curseur clignotait tout seul dans le terminal, le genre de silence qui teste la patience plus que la compétence. La panne simulée dans l'exercice ressemblait trait pour trait à un incident réel géré quelques mois plus tôt chez un client, et la logique du script est devenue évidente d'un coup, pas abstraite, juste familière. (L'exercice suivant, lui, a planté sans explication pendant près d'une soirée, avant que je retrouve une indentation foireuse, un classique.)
C'est à peu près à cette période que Taoufik, un copain croisé sur la section Python d'un serveur Discord d'entraide, m'a envoyé un exercice à corriger avec, en commentaire, le numéro de la PEP qui justifiait sa façon d'écrire une boucle, il fait ça pour presque tout, comme d'autres citent un article de loi. Comparer nos scripts par messages vocaux le soir m'a forcé à expliquer pourquoi une ligne fonctionnait, pas juste à constater qu'elle fonctionnait, un peu la même méthode qu'on applique face à une panne réseau : isoler le problème, tester une hypothèse, vérifier avant de conclure.

Ce que ça libère, une fois que le script tourne
Une fois le principe compris, créer quarante comptes en une passe au lieu de quarante allers-retours à la console devient presque anodin. Le vrai gain n'est pas seulement le temps gagné sur la création elle-même : c'est tout ce que ça libère pour le reste. Si vous gérez déjà le WiFi en entreprise ou d'autres équipements réseau, automatiser la partie comptes utilisateurs vous rend du temps pour les pannes qui demandent vraiment votre attention plutôt que pour de la saisie répétée. L'annuaire n'est pas la seule porte d'entrée non plus : pas mal d'outils de support exposent aujourd'hui leur propre API, qu'on peut interroger avec les mêmes bases de script, un autre chantier, mais la logique reste proche.
Ce qu'un script bien fait ne doit jamais faire seul
Tout n'est pas à automatiser d'un bloc, et c'est là que beaucoup de débutants — moi y compris au début — se plantent. L'envie est grande d'écrire un seul script qui fait tout, de la création du compte à l'envoi du message de bienvenue. Le risque, c'est qu'une erreur dans un script trop large se propage à l'ensemble de l'annuaire avant qu'on ait eu le temps de réagir. Mieux vaut des scripts granulaires, chacun avec sa tâche précise, et un œil sur les journaux quand quelque chose se passe mal plutôt que de deviner à l'aveugle. Ça vaut aussi pour les identifiants que le script utilise pour se connecter à l'annuaire : un script qui porte des accès larges mérite autant d'attention côté sécurité qu'un compte administrateur humain — pas le sujet ici, mais ça ne s'improvise pas non plus.

Clic ou script : ce qui doit trancher
Pour deux ou trois comptes ponctuels, ouvrez la console et cliquez : un script ne se rembourse jamais pour si peu. Inutile. Passé une dizaine de comptes, surtout si ça se reproduit à chaque vague d'arrivées, le script devient rentable — à condition d'accepter d'apprendre un minimum de Python avant, plutôt que de copier un script trouvé ailleurs sans le comprendre.
C'est à peu près ce que j'ai répondu à Vanessa Kergoat, une lectrice arrivée ici via un avis sur une formation Cisco débutant, qui hésitait entre se former d'abord au réseau ou directement à Python : ça dépend moins du langage que du problème concret qu'on a sous la main au quotidien. Une formation ne remplace pas ce choix, mais elle donne des critères plus solides pour le faire — ce qui compte n'est pas la certification visée au bout, c'est si le contenu colle à ce que vous voulez automatiser demain matin.
Le clic manuel n'est pas ringard, il a juste ses limites. Le script ne remplace pas la compréhension de ce qu'on automatise — il ne fait qu'accélérer ce qu'on a déjà compris.