Aller au contenu

Formation Python Automatisation

Référence : PYAUT

💰 Tarifs et Inscriptions

Nom formation : Formation Python Automatisation

Durée : 3 jours

Prix : 1540 € HT

Session garantie chaque 2ème semaine du mois Formation entièrement à distance

Contact

Situer cette formation

🧭 Votre parcours de formation

Vous pouvez accéder directement à cette formation si vous remplissez ses prérequis. Les étapes ci-dessous sont des recommandations, à adapter à votre expérience.

Étapes possibles avant

Vous êtes ici

Python Automatisation

Intermédiaire - 3 jours

Ensuite, selon votre objectif

Conseils pour adapter votre progression

Automatiser les tâches d'exploitation : Avec des bases en algorithmique, une pratique du terminal et des connaissances système, vous pouvez rejoindre directement Automatisation. Les tests viennent ensuite consolider des scripts que vous savez déjà lire et modifier.

🌟 Pourquoi choisir cette formation ?

Python constitue un outil polyvalent pour automatiser les tâches récurrentes des professionnels de l'informatique : gestion de fichiers, inventaire de ressources, analyse de journaux techniques, exécution de commandes et communication avec des services externes.

Cette formation permet d'acquérir les compétences nécessaires pour développer des scripts Python autonomes, fiables et réutilisables dans des environnements d'exploitation.

Les participants apprennent également à utiliser des outils modernes de gestion des environnements Python, à structurer leurs programmes, à contrôler leur exécution et à produire des rapports automatisés.

La formation privilégie les applications concrètes, la bibliothèque standard de Python et la réalisation progressive de scripts à partir de situations professionnelles.

🎯 Objectifs pédagogiques

À l'issue de la formation, le participant sera capable de :

  • Préparer un environnement Python 3.14 isolé et gérer ses dépendances avec uv.
  • Utiliser les structures de données Python pour organiser et traiter des informations techniques.
  • Développer des scripts de traitement de fichiers, d'inventaire et de gestion des adresses IP.
  • Analyser des journaux d'activité et exploiter des données CSV ou JSON.
  • Interagir avec le système d'exploitation et des services HTTP.
  • Concevoir des outils paramétrables en ligne de commande.
  • Fiabiliser une automatisation à l'aide de contrôles, de journaux et de tests.

👥 Public cible

Administrateurs systèmes, techniciens d'exploitation, professionnels DevOps, techniciens réseaux et développeurs souhaitant automatiser des opérations courantes avec Python.

📊 Niveau

Intermédiaire

📌 Prérequis

  • Connaître les notions fondamentales de l'algorithmique : variables, conditions et boucles.
  • Savoir utiliser un terminal et manipuler des fichiers.
  • Disposer de connaissances générales sur les systèmes informatiques.

Une expérience préalable en programmation Python est appréciée, mais non obligatoire.

🚀 Compétences acquises

  • Environnements Python 3.14 et uv
  • Inventaires IP et gestion de fichiers
  • Analyse de logs et rapports CSV ou JSON
  • Commandes système et services HTTP
  • Outils CLI, journalisation et tests

🔎 Périmètre

Automatisation par scripts Python, sans administration d'infrastructures complexes ni recours à des outils d'orchestration spécialisés.

⏱️ Durée

3 jours (21 heures).

📍 Modalités

  • Inter-entreprise : formation à distance. Session garantie chaque 2ème semaine du mois.
  • Intra-entreprise : à distance ou dans vos locaux, pour un groupe de 8 personnes maximum.

📅 Programme de la formation

Jour 1 - Environnement Python et automatisation des ressources (7 h)

1. Préparer un environnement de développement moderne (1 h 15)

  • Présentation de Python 3.14 et de ses usages en automatisation.
  • Comprendre le rôle des interpréteurs et des environnements virtuels.
  • Installer ou sélectionner une version de Python avec uv.
  • Créer un environnement virtuel isolé avec uv venv.
  • Initialiser un projet Python avec uv init.
  • Comprendre les fichiers .python-version, pyproject.toml et uv.lock.
  • Gérer les dépendances avec uv add et uv sync.
  • Exécuter les scripts dans leur environnement avec uv run.

Travaux pratiques : initialiser un projet Python 3.14, préparer son environnement virtuel et exécuter un premier script.

2. Manipuler les structures de données pour automatiser des inventaires IP (2 h 15)

  • Rappels sur les types de données : chaînes, entiers et booléens.
  • Manipuler les listes, tuples, dictionnaires et ensembles.
  • Parcourir et filtrer des collections.
  • Exploiter les conditions et les boucles.
  • Construire des fonctions de traitement réutilisables.
  • Introduire les annotations de types.
  • Découvrir le module standard ipaddress.
  • Valider des adresses IPv4 et IPv6.
  • Manipuler des sous-réseaux et des préfixes CIDR.

Travaux pratiques : créer un outil d'inventaire et de validation d'adresses IP.

À partir d'une liste de machines et de leurs adresses IP, développer un programme permettant de :

  • Organiser les machines dans une liste de dictionnaires.
  • Vérifier la validité des adresses IP.
  • Détecter les adresses dupliquées à l'aide d'ensembles.
  • Regrouper les machines selon leur rôle ou leur sous-réseau.
  • Identifier les adresses n'appartenant pas aux sous-réseaux autorisés.
  • Afficher un bilan des anomalies détectées.

Compétences mobilisées : listes, dictionnaires, ensembles, boucles, conditions, fonctions et module ipaddress.

3. Automatiser les opérations sur les fichiers et répertoires (2 h 30)

  • Manipuler les chemins avec pathlib.
  • Parcourir les répertoires et rechercher des fichiers.
  • Filtrer les fichiers par extension, taille ou date.
  • Créer, déplacer, copier et renommer des fichiers.
  • Organiser des répertoires selon des règles définies.
  • Utiliser shutil pour les opérations de copie et de déplacement.
  • Découvrir l'archivage avec zipfile.

Travaux pratiques : concevoir un script de classement et d'archivage automatique de fichiers, avec sélection des ressources selon plusieurs critères.

4. Sécuriser les opérations automatisées (1 h)

  • Comprendre les exceptions et gérer les erreurs prévisibles.
  • Vérifier les paramètres et les chemins avant traitement.
  • Distinguer les opérations de lecture et de modification.
  • Introduire un mode de simulation (dry-run).
  • Rendre les traitements répétables et limiter les effets indésirables.

Travaux pratiques : ajouter des vérifications et un mode de simulation au script de gestion des fichiers.

Jour 2 - Traitement des données et interaction avec les systèmes (7 h)

5. Analyser des fichiers de logs et des données structurées (3 h)

  • Lire et parcourir des fichiers texte.
  • Rechercher des informations à l'aide des expressions régulières avec re.
  • Identifier des événements et des messages d'erreur.
  • Exploiter des données aux formats CSV et JSON.
  • Filtrer, compter, regrouper et synthétiser des événements.
  • Produire des rapports structurés.
  • Gérer les encodages et les données malformées.

Travaux pratiques : réaliser un analyseur de journaux techniques permettant d'identifier des erreurs récurrentes, de compter les événements par catégorie et d'exporter un rapport CSV ou JSON.

6. Interagir avec le système d'exploitation (2 h 30)

  • Accéder aux variables d'environnement avec os.
  • Exploiter les informations de l'environnement avec sys et platform.
  • Consulter les caractéristiques de fichiers et l'utilisation du disque.
  • Exécuter des commandes externes avec subprocess.
  • Récupérer les sorties standard, les erreurs et les codes de retour.
  • Définir des délais d'exécution.
  • Sécuriser les appels aux commandes externes.
  • Tenir compte des différences entre Windows et Linux.

Travaux pratiques : développer un script de diagnostic capable d'exécuter plusieurs contrôles sur l'environnement, d'analyser leurs résultats et de produire un bilan automatisé.

7. Communiquer avec des services HTTP et exploiter leurs données (1 h 30)

  • Comprendre les principes des API HTTP et du format JSON.
  • Effectuer des requêtes simples depuis Python.
  • Découvrir l'utilisation d'une bibliothèque cliente HTTP.
  • Interpréter les codes de statut et gérer les erreurs de connexion.
  • Définir des délais d'attente.
  • Exploiter des données récupérées depuis un service.
  • Utiliser des variables d'environnement pour les paramètres sensibles.

Travaux pratiques : interroger une API de démonstration, récupérer des informations structurées et générer un rapport local.

Jour 3 - Conception d'automatisations fiables et réutilisables (7 h)

8. Développer des scripts configurables et exploitables (2 h)

  • Construire des interfaces en ligne de commande avec argparse.
  • Définir des arguments, options et valeurs par défaut.
  • Séparer la configuration du code Python.
  • Lire des fichiers de configuration JSON ou TOML.
  • Utiliser logging pour conserver une trace des opérations.
  • Organiser le code en fonctions et modules réutilisables.
  • Documenter les paramètres et les conditions d'exécution.

Travaux pratiques : transformer un script développé précédemment en outil en ligne de commande, avec configuration externe, journalisation et gestion des erreurs.

9. Tester et préparer l'exécution régulière des scripts (1 h 30)

  • Comprendre l'intérêt des tests automatisés.
  • Écrire des tests simples avec pytest.
  • Tester les fonctions de traitement de données.
  • Vérifier les situations normales et les cas d'erreur.
  • Utiliser des données de test indépendantes de l'environnement réel.
  • Découvrir les principes de la planification avec cron ou le Planificateur de tâches Windows.
  • Préparer un script à une exécution non interactive.

Travaux pratiques : tester les fonctions principales d'un script et préparer sa commande d'exécution périodique.

10. Projet de synthèse : créer un outil d'automatisation d'exploitation (3 h 30)

À partir d'un cahier des charges, les participants développent un outil Python réunissant plusieurs fonctionnalités étudiées pendant la formation.

Fonctionnalités attendues :

  • Charger un inventaire de ressources à partir d'un fichier.
  • Vérifier les données et identifier les anomalies.
  • Analyser des fichiers de logs.
  • Exécuter des contrôles simples sur l'environnement.
  • Générer un rapport au format JSON ou CSV.
  • Accepter des paramètres en ligne de commande.
  • Journaliser les opérations et gérer les erreurs.
  • Permettre une exécution répétée.

Le projet est réalisé progressivement, puis évalué selon la conformité fonctionnelle, la lisibilité du code, la gestion des erreurs et la qualité des résultats.

🧩 Méthodes pédagogiques

La formation repose sur une alternance d'apports théoriques, de démonstrations et de travaux pratiques.

Les exercices sont construits à partir d'énoncés fonctionnels. Les participants développent leurs propres solutions, puis analysent les différentes approches possibles.

Les scripts sont progressivement enrichis au cours des trois journées afin de favoriser la réutilisation des notions étudiées.

Les travaux pratiques utilisent des données et environnements de démonstration pour éviter toute modification involontaire des systèmes de production.

✅ Modalités d'évaluation

  • Questionnaire de positionnement initial.
  • Exercices individuels et mises en situation.
  • Vérifications régulières des acquis.
  • Projet pratique de synthèse.
  • Évaluation finale des compétences.

💻 Environnement technique

  • Python 3.14, avec correctifs de maintenance.
  • uv pour les environnements virtuels et les dépendances.
  • Bibliothèque standard Python : pathlib, shutil, ipaddress, re, csv, json, os, sys, platform, subprocess, argparse, logging, tomllib.
  • Bibliothèque cliente HTTP compatible avec l'environnement retenu.
  • pytest pour les tests automatisés.
  • Éditeur de code et terminal.
  • Jeux de données et journaux techniques de démonstration.

💰 Financement

En intra-entreprise comme en inter-entreprise, deux modalités de financement sont possibles : budget direct ou portage Qualiopi.