1. Livres et vidéos
  2. Scripting Python sous Linux - Développez vos outils système

Scripting Python sous Linux Développez vos outils système

  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7
  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne

Présentation

Ce livre s'adresse aux ingénieurs système qui souhaitent écrire leurs propres outils d'administration d'un système Linux à l'aide du langage Python. Articulé en trois parties, ce livre donne les explications nécessaires au lecteur, suivies d'exemples concrets de difficulté croissante, pour ainsi étendre les possibilités du shell. La connaissance d'un autre langage de programmation, d'un système Linux (quelle que soit la distribution) et des principes de base d'Unix est un plus pour la lecture de ce livre.

Débutée par quelques chapitres pour présenter l'environnement de travail et rappeler les bases du langage Python, la première partie présente ensuite les principes de la Programmation Orientée Objet en Python ainsi que la librairie standard de Python.

Dans la deuxième partie, le lecteur apprend grâce à des exemples concrets à concevoir des outils pour récupérer des informations sur le système, accéder aux bases de données, utiliser différents formats de fichiers (.odt, .csv, .ini, .tar, .zip…), générer des documents au format texte, CSV ou HTML, ou encore générer des données aléatoires… À la fin de cette partie, la simulation de l'activité d'une petite entreprise de gestion permet au lecteur de tester des scripts facilitant la prise de commandes, leurs livraisons et la gestion de stock.

La dernière partie propose au lecteur une série d'astuces et d'exemples concrets lui permettant de mettre en oeuvre des techniques plus avancées. L'auteur donne également un aperçu d'outils et d'applications écrites en Python qui font la différence pour aller plus loin dans l'écriture de scripts avec ce langage.

Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.



Quizinclus dans
la version en ligne !
  • Testez vos connaissances à l'issue de chaque chapitre
  • Validez vos acquis

Table des matières

  • L’environnement de travail
    • 1. Python2 ou Python3 ?
    • 2. L’environnement de travail
    • 3. Un terminal et l’interpréteur Python
    • 4. La configuration de l’environnement Python
      • 4.1 Étape 1 : repérez le binaire Python qui vous intéresse
      • 4.2 Étape 2 : vérifiez la présence de la commande pip qui va avec
      • 4.3 Étape 3 : vérifiez le module virtualenv
      • 4.4 Étape 4 : installez virtualenv wrapper
    • 5. Les autres outils nécessaires
  • Le côté fonctionnel classique de Python
    • 1. Introduction
    • 2. Premiers pas
      • 2.1 La commande python
      • 2.2 L’indentation comme syntaxe
  • Quelques instructions de base
    • 1. Introduction
    • 2. Les opérateurs
    • 3. Les variables
    • 4. Quelques instructions de base
    • 5. Résumé
  • Les types de données en Python
    • 1. Introduction
    • 2. Les booléens
      • 2.1 Les opérateurs booléens
      • 2.2 Les comparaisons logiques
    • 3. Les numériques
      • 3.1 Les entiers
      • 3.2 Les flottants
      • 3.3 Les opérations
    • 4. Les alphanumériques
      • 4.1 Les opérations applicables aux chaînes de caractères
      • 4.2 Les méthodes applicables aux chaînes de caractères
      • 4.3 Les modificateurs de chaînes ou "string modifiers"
    • 5. Les conteneurs ou séquentiels
      • 5.1 Les listes
      • 5.2 Les dictionnaires
      • 5.3 Les tuples
      • 5.4 Les sets
      • 5.5 Les frozensets
    • 6. Autres types de données
    • 7. Résumé
  • Le langage Python
    • 1. Introduction
    • 2. La fonction print()
      • 2.1 Print() formatage C-STYLE
      • 2.2 Print() formatage chaîne.format()
      • 2.3 Print() les autres options
    • 3. Les structures conditionnelles
    • 4. Les boucles
      • 4.1 Quelques exemples simples
      • 4.2 La fonction range()
      • 4.3 Un "else" dans les boucles
      • 4.4 sorted() et sort()
      • 4.5 enumerate()
      • 4.6 L'affectation parallèle dans les boucles
      • 4.7 Les dictionnaires et la fonction items()
      • 4.8 Les listes en compréhension
    • 5. Les fonctions
      • 5.1 Les arguments de fonctions avec Python
      • 5.2 Les fonctions et la portée des variables
      • 5.3 La notion de passage de paramètres par référence
    • 6. Les modules et les paquets
      • 6.1 Les espaces de noms
      • 6.2 Les paquets ou packages
      • 6.3 La recherche des modules et paquets
      • 6.4 Le fichier __main__.py
      • 6.5 Exemple avec la gestion d'un restaurant
    • 7. Les exceptions et la gestion des erreurs
      • 7.1 Les instructions try ... except ... finally
      • 7.2 L'instruction assert
      • 7.3 Déclencher des exceptions
    • 8. Les entrées/sorties (fichier et autres)
    • 9. L’instruction With
    • 10. Exemple de script : hdump
    • 11. Résumé
  • Le côté Objet de Python
    • 1. Introduction
    • 2. La POO
    • 3. L’objet
    • 4. La classe
    • 5. Une classe simple
    • 6. Ajoutons des attributs
    • 7. Un premier script « objet »
    • 8. La surcharge de fonction
    • 9. L’héritage
    • 10. Exemples de scripts
      • 10.1 Ajoutons le format HTML
      • 10.2 Ajoutons la balise <table>
      • 10.3 Ajoutons le format CSV
    • 11. Résumé
  • Librairie standard et quelques autres
    • 1. Introduction
    • 2. La commande pip
    • 3. Les modules sys et os
      • 3.1 Le module sys
      • 3.2 Le module os
    • 4. Les options de la ligne de commandes
    • 5. L'interception des signaux
    • 6. Les fichiers temporaires
    • 7. Les modules pour les opérations sur les fichiers et les répertoires
      • 7.1 os.path
      • 7.2 shutil
        • 7.2.1 filecmp
      • 7.3 path.py
      • 7.4 pathlib
    • 8. La gestion des processus et sous-processus
      • 8.1 Subprocess.run()
      • 8.2 subprocess.popen()
      • 8.3 Envoyer une commande plus complexe et récupérer la sortie
      • 8.4 Multiprocessing - Le parallélisme par processus
    • 9. Mathplotlib
    • 10. Les expressions régulières (it's a kind of magic)
      • 10.1 Exemple : récupérer des informations sur l'état du système avec sar (system activity report)
      • 10.2 Exemple : récupérer des informations sur la mémoire des processus
    • 11. Les dates et le temps (back to the future)
      • 11.1 stdlib : calendar, datetime, dateutil, time
      • 11.2 Arrow
    • 12. Le module logging
    • 13. L'accès aux fichiers en mode binaire et le module struct
    • 14. La génération de données aléatoires
    • 15. L’accès aux bases de données
      • 15.1 Les bases de données "SQL"
      • 15.2 Les bases de données "NoSQL"
    • 16. Les ORM ou Object Relationnal Mapping
      • 16.1 SQLAlchemy
      • 16.2 Les autres ORM
    • 17. Réseau
      • 17.1 Un serveur web en une ligne de commande
      • 17.2 Envoyer des mails
      • 17.3 Python et ssh
      • 17.4 Le transfert de fichier avec ftplib
      • 17.5 telnet lib
    • 18. Python et le réseau des réseaux : Internet
      • 18.1 Urllib : requests
      • 18.2 Beautiful soup
    • 19. Outils
      • 19.1 Pexpect
      • 19.2 Cmd
      • 19.3 shlex - Analyse lexicale simple
      • 19.4 Le module humanfriendly
    • 20. Résumé
  • Aller plus loin avec le langage Python et la POO
    • 1. Introduction
    • 2. Quelques concepts objet essentiels
      • 2.1 Le polymorphisme
      • 2.2 L'héritage multiple
      • 2.3 Le singleton
      • 2.4 La fabrique d'objets
      • 2.5 La fermeture, ou closure en anglais
    • 3. Les méthodes spéciales d'instances
      • 3.1 Les fonctions spéciales classiques
      • 3.2 La surcharge des opérateurs
    • 4. Le gestionnaire de contexte (with) __enter__, __exit__
    • 5. Les objets mutables et non mutables
      • 5.1 Les mutables
      • 5.2 Les non mutables
    • 6. Quelques informations supplémentaires sur les classes en Python
      • 6.1 Les attributs implicites
      • 6.2 Les fonctions et classes incluses
      • 6.3 Les attributs statiques et méthodes statiques
      • 6.4 Les __slots__ pour les performances
    • 7. Les docstrings - chaînes de documentation
      • 7.1 Définition
      • 7.2 Usage
      • 7.3 Génération de documentation
      • 7.4 Tests
    • 8. Les décorateurs
    • 9. Les itérateurs, générateurs et autres expressions génératrices
      • 9.1 Les itérateurs
      • 9.2 Les générateurs
    • 10. Gérer ses propres exceptions
    • 11. Les fonctions natives
      • 11.1 Les fonctions natives inclassables
      • 11.2 Les fonctions natives binaires
      • 11.3 Les fonctions natives de conversion ou de création de type
      • 11.4 Les fonctions natives sur les itérables
      • 11.5 Les fonctions natives sur les numériques
      • 11.6 Les fonctions natives sur les objets
    • 12. Résumé
  • Récupérer des infos sur le système
    • 1. Introduction
    • 2. psutil : récupérer des informations sur le système
    • 3. Des informations sur les composants
      • 3.1 Les processeurs
      • 3.2 La mémoire
      • 3.3 Les périphériques de stockage
      • 3.4 Le réseau
    • 4. Capteurs et autres informations
      • 4.1 Les capteurs
      • 4.2 Autres informations
        • 4.2.1 Boot time
        • 4.2.2 Les utilisateurs
    • 5. Des informations sur les processus
      • 5.1 Classe Objet et méthodes fournies par psutil
      • 5.2 Principes d’utilisation
      • 5.3 Exemples d’utilisation
    • 6. Résumé
  • Les formats de fichiers populaires
    • 1. Introduction
    • 2. Le format de fichier "INI"
    • 3. Comma Separated Values : CSV
    • 4. MS Office
    • 5. Le module odfpy
      • 5.1 Document Texte
      • 5.2 Document Feuille de calcul
    • 6. Le module multi-format pyexcel
    • 7. Le format de fichier JSON
    • 8. Le format de fichier XML
    • 9. Le module tarfile pour archives tar
    • 10. Le format zip
    • 11. Résumé
  • Manipulation de données
    • 1. Introduction
    • 2. SQLite en mémoire
      • 2.1 La mission
      • 2.2 La récupération des données
      • 2.3 La définition de la base de données
      • 2.4 Le script principal
    • 3. SMS vers HTML (ou autre)
      • 3.1 Extraction des SMS
      • 3.2 Transformation des SMS
      • 3.3 Conversion
      • 3.4 Script
    • 4. D'une base à l'autre
      • 4.1 Le contexte
      • 4.2 Les schémas
      • 4.3 Le script principal
    • 5. Résumé
  • La génération de rapports
    • 1. Introduction
    • 2. La génération de PDF : Reportlab
      • 2.1 Hello World en PDF et Reportlab
      • 2.2 Une table avec Reportlab
      • 2.3 Encore une table, mais en mieux
    • 3. Le moteur de patrons Jinja2
      • 3.1 Jinja et le HTML
      • 3.2 Ajoutons un peu de CSS (Cascading Style Sheet)
      • 3.3 Autre cas d'utilisation
    • 4. Un autre moteur de patron : Pug/Jade
      • 4.1 Prérequis : installation de Pug
      • 4.2 Le début du projet
      • 4.3 Bootstrap, c'est bien
      • 4.4 Make, c'est bien
    • 5. Résumé
  • Simulation d'activité
    • 1. Introduction
    • 2. Description
    • 3. La structure des données
    • 4. L'initialisation de la base de données
      • 4.1 definitions.py
      • 4.2 populate.py
    • 5. La connexion à la base de données
    • 6. Les compteurs
    • 7. Les commandes clients
    • 8. La livraison des commandes clients
    • 9. La facturation des commandes livrées
    • 10. Le réapprovisionnement du stock
    • 11. La réception des commandes fournisseurs
    • 12. Utilisation
    • 13. Résumé
  • Trucs et astuces
    • 1. Introduction
    • 2. Adapter le copier/coller d'un tableur pour un wiki
    • 3. Déballage avec Python (unpacking)
    • 4. L'underscore et Python
      • 4.1 Dans l’interpréteur
      • 4.2 Pour ignorer des valeurs
      • 4.3 Dans les boucles
      • 4.4 Pour la séparation des milliers
      • 4.5 Pour le nommage des variables
    • 5. Agacer les CPU et mesurer le temps de son code
    • 6. Créer un décorateur (logger interne)
    • 7. Bien écrire du code Python (PEP8)
      • 7.1 Espaces
      • 7.2 Lignes
      • 7.3 Tabs et encoding
      • 7.4 Encoding : UTF8
      • 7.5 Docstring
      • 7.6 Nom de variables
    • 8. Résumé
  • Exemples
    • 1. Introduction
    • 2. Python Bataille
    • 3. Python, vérification d'une main au poker
    • 4. Génération de fichiers et répertoires aléatoire
    • 5. Graphique d'utilisation d'un serveur sur un mois
    • 6. psutil analyse des informations des processus
    • 7. Améliorer Apache Index Of
      • 7.1 WSGI
      • 7.2 Analyse des besoins
      • 7.3 Bottle
      • 7.4 Uwsgi - Comment se faire un environnement de test & dev ?
      • 7.5 Le script startup.py
      • 7.6 Le script page_html.py
      • 7.7 Les templates
      • 7.8 Les fichiers de paramètres
      • 7.9 La mise en exploitation
      • 7.10 Le résultat
    • 8. Résumé
  • Aller plus loin avec Python
    • 1. Introduction
    • 2. Bottle & Flask
      • 2.1 Bottle
      • 2.2 Flask
    • 3. Outils
      • 3.1 Watchdog
      • 3.2 paramiko
      • 3.3 Supervisor
    • 4. Interfaces utilisateurs
      • 4.1 Interface graphique : Tkinter
      • 4.2 Autres interfaces graphiques
      • 4.3 Interface console: curses
      • 4.4 Interface console : Urwid
    • 5. Résumé
  • Pour aller encore plus loin
    • 1. Introduction
    • 2. Twisted
    • 3. Brython
    • 4. Fuse
    • 5. Ipython et Jupyter
    • 6. Sphynx
    • 7. Ansible
    • 8. Le framework Django
    • 9. Réseau SCAPY
    • 10. Apache Airflow
    • 11. Résumé
  • Annexes
    • 1. Ressources Python
    • 2. Memento GIT
    • 3. Déboguer en Python
    • 4. Compiler Python depuis les sources
    • 5. Pourquoi être fan des expressions régulières ?
    • 6. Les outils utilisés pour cet ouvrage
    • 7. Création d'une machine virtuelle Debian
    • 8. Quelques conseils et petites choses à méditer
    • 9. La dernière section
    • Index

Auteur

Christophe BONNETEn savoir plus

Caractéristiques

  • Niveau Confirmé à Expert
  • Nombre de pages 763 pages
  • Parution juin 2020
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-02567-9
    • EAN : 9782409025679
    • Ref. ENI : EISCRYPT
  • Niveau Confirmé à Expert
  • Parution juin 2020
    • HTML
    • ISBN : 978-2-409-02568-6
    • EAN : 9782409025686
    • Ref. ENI : LNEISCRYPT

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (108 Ko)