Compétence Technique
Automatisation & Scripting
Rendre l'infrastructure scalable : remplacer les interventions manuelles répétitives par des scripts fiables, traçables et reproductibles.
Ma Définition
Dans un réseau d'entreprise qui couvre plusieurs dizaines de sites mondiaux, l'automatisation n'est plus un luxe, c'est ce qui rend l'opérationnel scalable. Le NetDevOps consiste à remplacer les interventions manuelles répétitives par des scripts, des appels API et des pipelines qui s'exécutent de façon fiable et traçable. Ce n'est pas uniquement une question de gain de temps : c'est aussi une question de cohérence, une configuration générée par un script est reproductible, auditable, et ne dépend pas de la disponibilité d'un ingénieur spécifique.
Chez Criteo, cette approche s'impose naturellement : l'infrastructure réseau couvre ~50 réseaux mondiaux, ce qui rend l'intervention manuelle site par site inenvisageable à l'échelle. L'API REST Meraki, qui expose l'ensemble de la configuration réseau en JSON, est devenue mon principal levier d'automatisation.
Scalabilité opérationnelle
Sur ~50 réseaux mondiaux, l'intervention manuelle site par site n'est pas envisageable. L'automatisation est ce qui rend l'opérationnel scalable.
Cohérence & traçabilité
Une configuration générée par script est reproductible et auditable, elle ne dépend pas de la disponibilité d'un ingénieur.
API-first
L'API REST Meraki expose l'ensemble de la configuration réseau en JSON, la base de tout ce que j'ai construit.
Mes Éléments de Preuve
Sauvegarde automatisée des configurations Meraki (Python + API REST)
J'ai développé un script Python exploitant l'API REST Meraki pour extraire et sauvegarder automatiquement les configurations de l'ensemble des réseaux Criteo sous forme de fichiers JSON versionnés. Le script parcourt l'arborescence organisations › réseaux › équipements et exporte pour chaque appareil sa configuration courante. Le déclenchement est planifié, garantissant une sauvegarde fraîche sans intervention humaine. Cette automatisation élimine le risque de perte de configuration lors d'un remplacement d'équipement non planifié, une situation qui, sans cette solution, aurait nécessité une reconstruction manuelle depuis zéro.
Audit de dérives et reporting proactif
En complément des sauvegardes, j'ai automatisé la collecte des alertes réseau depuis le dashboard Meraki pour les consolider dans des rapports périodiques. L'objectif : passer du mode réactif, où on découvre les problèmes quand les utilisateurs appellent, à un mode proactif où les anomalies de configuration sont détectées avant d'impacter la production. La comparaison de snapshots successifs permet de détecter toute modification non planifiée sur le parc.
Sauvegarde automatisée
~50 réseaux mondiaux exportés en JSON à intervalles réguliers, aucune intervention humaine, aucun risque de perte.
Audit de dérives
Comparaison des snapshots successifs pour détecter toute modification non planifiée de configuration.
Reporting proactif
Consolidation des alertes réseau Meraki en rapports périodiques pour passer du mode réactif au mode proactif.
Autocritique
Mes scripts sont fonctionnels mais manquent de robustesse pour une mise en production formelle : absence de tests unitaires, gestion des erreurs API basique, secrets gérés par variable d'environnement sans solution de vault structurée. Ce sont des lacunes que je connais et que je travaille à combler, dans cet ordre de priorité.
L'autre point de vigilance : je code efficacement en Python pour des cas d'usage réseau, mais je ne me considère pas développeur. Mon code est pragmatique, pas élégant. Pour aller plus loin dans le NetDevOps, Ansible, Terraform, pipelines CI/CD, il me faudra monter en compétences sur les pratiques DevOps et pas seulement sur le scripting ad hoc. Ce que je conseillerais à quelqu'un dans la même position : commencer par tester le code avant de le déployer, même sur des scripts "simples".
Robustesse à améliorer
Pas de tests unitaires, gestion des erreurs API basique, secrets par variable d'environnement sans vault structuré, des lacunes connues et en cours de correction.
Profil scripting, pas développeur
Mon code est pragmatique et fonctionnel. Pour aller vers Ansible ou Terraform, il me faudra monter sur les pratiques DevOps formelles.
Mon Évolution
Je travaille à la structuration des scripts existants : tests unitaires avec pytest, gestion des secrets via un vault, et logging structuré pour faciliter le debugging en production. La prochaine étape est l'intégration dans un pipeline CI/CD via GitHub Actions, pour que les sauvegardes et audits de configuration se déclenchent automatiquement sur événements réseau et pas seulement en planifié.
À plus long terme, je souhaite monter sur Ansible pour la configuration as code, et Terraform pour l'infrastructure cloud. Cette trajectoire correspond à l'évolution naturelle du métier d'ingénieur réseau vers le profil Network Automation Engineer, un axe que je veux avoir consolidé avant la fin de mon cycle ingénieur.
Structuration des scripts
Tests unitaires (pytest), gestion des secrets via vault, logging structuré, mise à niveau des scripts existants.
Pipeline CI/CD
Intégration dans GitHub Actions pour déclencher sauvegardes et audits sur événements réseau, pas uniquement en planifié.
Ansible & Terraform
Prochaine étape : configuration as code et infrastructure cloud, trajectoire vers le profil Network Automation Engineer.
Réalisations Rattachées
Cette compétence s'est exprimée principalement au travers des projets suivants :
Automatisation API Meraki
Scripts Python pour la sauvegarde automatisée et l'audit des configurations de ~50 réseaux mondiaux.
Lab de Staging
Environnement de test utilisé pour valider les scripts avant déploiement sur le parc de production.