Python devient un choix naturel lorsqu'une tâche d'exploitation dépasse un court pipeline shell et exige des données structurées, une logique réutilisable ou une gestion fiable des erreurs. Ce cours pratique vous apprend à créer de petits outils d'automatisation Linux avec Python 3 et sa seule bibliothèque standard.
Vous exécuterez des commandes système, gérerez des arborescences, transformerez des configurations JSON et effectuerez des contrôles HTTP limités dans le temps sans paquet tiers. Le défi final rassemble ces compétences dans un script local qui enregistre l'espace disque et l'état d'un service web dans un rapport JSON exploitable par une machine.
Ce que vous apprendrez
- Utiliser le REPL Python 3 et écrire des scripts qui inspectent les informations de la plateforme Linux
- Exécuter des commandes avec
subprocess.run, capturer et décoder leur sortie, et traiter les codes de sortie non nuls - Créer répertoires et fichiers, déplacer ou copier des éléments avec
shutil, et parcourir les arborescences avecos.walk - Filtrer les fichiers par extension et sauvegarder une configuration avant de la modifier
- Charger du JSON dans un dictionnaire Python, modifier une valeur et écrire un JSON lisible avec
json.dump - Contrôler un statut HTTP avec
urllib.request, définir un délai et distinguer erreurs HTTP et échecs de connexion - Construire un script de santé tolérant aux erreurs qui écrit les résultats du disque et du service local dans
/tmp/health_report.json
À qui s’adresse ce cours
Ce cours s'adresse aux personnes apprenant le DevOps, aux administrateurs système et aux utilisateurs de Bash qui souhaitent ajouter une automatisation Python maintenable à leurs outils.
Prérequis : Connaissance élémentaire du terminal Linux et du système de fichiers ; aucune expérience préalable de Python n'est requise.
Environnement d’apprentissage : Un terminal Linux accessible dans le navigateur avec Python 3, Bash, nano, les commandes Linux standard, un service HTTP local pour les contrôles et la bibliothèque standard Python ; aucun paquet ni compte cloud supplémentaire n'est nécessaire.
Questions fréquentes
Le cours nécessite-t-il des paquets tiers comme Requests ?
Non. Tous les exercices utilisent la bibliothèque standard, notamment subprocess, os, shutil, json et urllib. Le lab réseau emploie volontairement urllib.request plutôt que Requests.
S'agit-il d'un cours général de programmation Python ?
Non. Il présente la syntaxe et le contrôle de flux nécessaires à des tâches d'exploitation ciblées. Les classes, le packaging, les frameworks web et de test et le développement applicatif général sont hors périmètre.
Les exercices de fichiers modifient-ils des fichiers système importants ?
Non. Vous créez une arborescence jetable test_env dans le dossier du projet, puis utilisez ses fichiers d'exemple pour renommer, déplacer, copier, parcourir et filtrer.
Que surveille réellement le contrôle de santé final ?
Il exécute df -h, vérifie si http://localhost renvoie HTTP 200, place la sortie disque et un état online ou offline dans un dictionnaire, puis écrit un JSON valide et indenté dans /tmp/health_report.json. C'est un script local, pas une plateforme de supervision déployée.


