Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Supports de cours
  2. Scripting Python sous Linux - Développez vos outils système (2e édition)

Scripting Python sous Linux Développez vos outils système (2e édition)

Informations

Livraison possible dès le 27 juin 2024
  • Personnalisable
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Reliure spirale - 17 x 21 cm (Médian)
  • ISBN : 978-2-409-04078-8
  • EAN : 9782409040788
  • Ref. ENI : EIM2SCRPYT

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-04079-5
  • EAN : 9782409040795
  • Ref. ENI : LNEIM2SCRPYT
Ce support 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...
Aperçu du livre papier
  • Niveau Confirmé à Expert
  • Nombre de pages 676 pages
  • Parution août 2023
  • Niveau Confirmé à Expert
  • Parution août 2023
Ce support 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 support.

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, à générer une infrastructure sur le cloud AWS, à renifler le réseau pour récupérer des informations, à accéder aux bases de données, à utiliser différents formats de fichiers (.odt, .csv, .ini, .tar, .zip...), à générer des cartes,  à générer des documents au format texte, CSV ou HTML, ou encore à générer des données aléatoires cohérentes... À 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.

Téléchargements

L’environnement de travail
  1. 1. Le langage Python en 2023
  2. 2. L’environnement de travail
  3. 3. Un terminal et l’interpréteur Python
  4. 4. Un incontournable : Git
  5. 5. La configuration de l’environnement Python
    1. 5.1 Étape 1 : repérez le binaire Python qui vous intéresse
    2. 5.2 Étape 2 : vérifiez la présence de la commande pip qui va avec
    3. 5.3 Étape 3 : vérifiez le module virtualenv
  6. 6. Les autres outils nécessaires
  7. 7. Git un compte, des projets et des sauvegardes
  8. 8. Inscription sur un site et configuration de base
  9. 9. Astuce pour GitHub avec l’authentification SSH
  10. 10. Création d’un projet
Le côté fonctionnel classique de Python
  1. 1. Introduction
  2. 2. Premiers pas
    1. 2.1 La commande python
    2. 2.2 L’indentation comme syntaxe
Quelques instructions de base
  1. 1. Introduction
  2. 2. Les opérateurs
  3. 3. Les variables
  4. 4. Quelques instructions de base
  5. 5. Résumé
Les types de données en Python
  1. 1. Introduction
  2. 2. Les booléens
    1. 2.1 Les opérateurs booléens
    2. 2.2 Les comparaisons logiques
  3. 3. Les numériques
    1. 3.1 Les entiers
    2. 3.2 Les flottants
    3. 3.3 Les opérations
  4. 4. Les alphanumériques
    1. 4.1 Les opérations applicables aux chaînes de caractères
    2. 4.2 Les méthodes applicables aux chaînes de caractères
    3. 4.3 Les modificateurs de chaînes ou "string modifiers"
  5. 5. Les conteneurs ou séquentiels
    1. 5.1 Les listes
    2. 5.2 Les dictionnaires
    3. 5.3 Les tuples
    4. 5.4 Les sets
    5. 5.5 Les frozensets
  6. 6. Autres types de données
  7. 7. Résumé
Le langage Python
  1. 1. Introduction
  2. 2. La fonction print()
    1. 2.1 Print() formatage C-STYLE
    2. 2.2 Print() formatage chaîne.format()
    3. 2.3 Print() les autres options
  3. 3. Les structures conditionnelles
    1. 3.1 La structure conditionnelle if-elif-else
    2. 3.2 La structure conditionnelle match-case
  4. 4. Les boucles
    1. 4.1 Quelques exemples simples
    2. 4.2 La fonction range()
    3. 4.3 Un "else" dans les boucles
    4. 4.4 sorted() et sort()
    5. 4.5 enumerate()
    6. 4.6 L'affectation parallèle dans les boucles
    7. 4.7 Les dictionnaires et la fonction items()
    8. 4.8 Les listes en compréhension
  5. 5. Les fonctions
    1. 5.1 Les arguments de fonctions avec Python
    2. 5.2 Les fonctions et la portée des variables
    3. 5.3 La notion de passage de paramètres par référence
  6. 6. Les modules et les paquets
    1. 6.1 Les espaces de noms
    2. 6.2 Les paquets ou packages
    3. 6.3 La recherche des modules et paquets
    4. 6.4 Le fichier __main__.py
    5. 6.5 Exemple avec la gestion d'un restaurant
  7. 7. Les exceptions et la gestion des erreurs
    1. 7.1 Les instructions try ... except ... finally
    2. 7.2 L'instruction assert
    3. 7.3 Déclencher des exceptions
  8. 8. Les entrées/sorties (fichier et autres)
  9. 9. L’instruction With
  10. 10. Exemple de script : hdump
  11. 11. Résumé
Le côté Objet de Python
  1. 1. Introduction
  2. 2. La POO
  3. 3. L’objet
  4. 4. La classe
  5. 5. Une classe simple
  6. 6. Ajoutons des attributs
  7. 7. Un premier script « objet »
  8. 8. La surcharge de fonction
  9. 9. L’héritage
  10. 10. Exemples de scripts
    1. 10.1 Ajoutons le format HTML
    2. 10.2 Ajoutons la balise
Librairie standard et quelques autres
  1. 1. Introduction
  2. 2. La commande pip
  3. 3. Les modules sys et os
    1. 3.1 Le module sys
    2. 3.2 Le module os
  4. 4. Les options de la ligne de commandes
  5. 5. L'interception des signaux
  6. 6. Les fichiers temporaires
  7. 7. Les modules pour les opérations sur les fichiers et les répertoires
    1. 7.1 os.path
    2. 7.2 shutil
    3. 7.3 path.py
    4. 7.4 pathlib
  8. 8. La gestion des processus et sous-processus
    1. 8.1 Subprocess.run()
    2. 8.2 subprocess.popen()
    3. 8.3 Envoyer une commande plus complexe et récupérer la sortie
    4. 8.4 Multiprocessing - Le parallélisme par processus
  9. 9. Matplotlib
  10. 10. RRDtool
  11. 11. Les expressions régulières (it's a kind of magic)
    1. 11.1 Exemple : récupérer des informations sur l'état du système avec sar (system activity report)
    2. 11.2 Exemple : récupérer des informations sur la mémoire des processus
  12. 12. Les dates et le temps (back to the future)
    1. 12.1 stdlib : calendar, datetime, dateutil, time
    2. 12.2 Arrow
  13. 13. Le module logging
  14. 14. L'accès aux fichiers en mode binaire et le module struct
  15. 15. La génération de données aléatoires
  16. 16. L’accès aux bases de données
    1. 16.1 Les bases de données "SQL"
    2. 16.2 Les bases de données "NoSQL"
    3. 16.3 MongoDB
    4. 16.4 Redis
  17. 17. Les ORM ou Object Relationnal Mapping
    1. 17.1 SQLAlchemy
    2. 17.2 Les autres ORM
  18. 18. Réseau
    1. 18.1 Un serveur web en une ligne de commande
    2. 18.2 Envoyer des mails
    3. 18.3 La vérification des boîtes mails
    4. 18.4 Python et ssh
    5. 18.5 Le transfert de fichier avec ftplib
    6. 18.6 telnet lib
  19. 19. Python et Scapy : le couteau suisse du réseau
    1. 19.1 Analyse d’une connexion FTP
    2. 19.2 Dissection d’un paquet ICMP
  20. 20. Python et le réseau des réseaux : Internet
    1. 20.1 Urllib : requests
    2. 20.2 Beautiful soup
  21. 21. OpenStreetMap et Folium
  22. 22. Outils
    1. 22.1 Pexpect
    2. 22.2 Cmd
    3. 22.3 shlex - Analyse lexicale simple
    4. 22.4 Le module humanfriendly
  23. 23. Résumé
Aller plus loin avec le langage Python et la POO
  1. 1. Introduction
  2. 2. Quelques concepts objet essentiels
    1. 2.1 Le polymorphisme
    2. 2.2 L'héritage multiple
    3. 2.3 Le singleton
    4. 2.4 La fabrique d'objets
    5. 2.5 La fermeture, ou closure en anglais
  3. 3. Les méthodes spéciales d'instances
    1. 3.1 Les fonctions spéciales classiques
    2. 3.2 La surcharge des opérateurs
  4. 4. Le gestionnaire de contexte (with) __enter__, __exit__
  5. 5. Les objets mutables et non mutables
    1. 5.1 Les mutables
    2. 5.2 Les non mutables
  6. 6. Quelques informations supplémentaires sur les classes en Python
    1. 6.1 Les attributs implicites
    2. 6.2 Les fonctions et classes incluses
    3. 6.3 Les attributs statiques et méthodes statiques
    4. 6.4 Les __slots__ pour les performances
  7. 7. Les docstrings - chaînes de documentation
    1. 7.1 Définition
    2. 7.2 Usage
    3. 7.3 Génération de documentation
    4. 7.4 Tests
  8. 8. Les décorateurs
  9. 9. Les dataclasses
  10. 10. La structure conditionnelle match...case et les classes
  11. 11. Les itérateurs, générateurs et autres expressions génératrices
    1. 11.1 Les itérateurs
    2. 11.2 Les générateurs
  12. 12. Gérer ses propres exceptions
  13. 13. Les fonctions natives
    1. 13.1 Les fonctions natives inclassables
    2. 13.2 Les fonctions natives binaires
    3. 13.3 Les fonctions natives de conversion ou de création de type
    4. 13.4 Les fonctions natives sur les itérables
    5. 13.5 Les fonctions natives sur les numériques
    6. 13.6 Les fonctions natives sur les objets
  14. 14. Résumé
Python et le Cloud
  1. 1. Python et l’informatique en Nuage (« Cloud Computing »)
    1. 1.1 Introduction « Bonus » par ChatGPT
    2. 1.2 Introduction
  2. 2. AWS et Python
  3. 3. Les bonnes pratiques avec Amazon Web Services
    1. 3.1 Les prérequis
      1. 3.1.1 Un moyen de paiement
      2. 3.1.2 Git
      3. 3.1.3 De multiples adresses mail
    2. 3.2 Quelques notions et termes
    3. 3.3 Mise en place d’un environnement AWS
    4. 3.4 La console
    5. 3.5 Le VPC par défaut
    6. 3.6 Une première instance
  4. 4. AWS Lambda et Python
    1. 4.1 Définition des autorisations
    2. 4.2 AWS Lambda, premiers pas
    3. 4.3 Insertion de code personnalisé
    4. 4.4 Erreur : que se passe-t-il ?
    5. 4.5 Modification des autorisations
    6. 4.6 Tester à nouveau
    7. 4.7 Pour aller plus loin avec les fonctions Lambda
  5. 5. AWS et Python
    1. 5.1 AWS boto3 Ligne de commande, premiers pas
    2. 5.2 Utilisation des objets de la librairie boto3
    3. 5.3 Conclusion
Récupérer des infos sur le système
  1. 1. Introduction
  2. 2. psutil : récupérer des informations sur le système
  3. 3. Des informations sur les composants
    1. 3.1 Les processeurs
    2. 3.2 La mémoire
    3. 3.3 Les périphériques de stockage
    4. 3.4 Le réseau
  4. 4. Capteurs et autres informations
    1. 4.1 Les capteurs
    2. 4.2 Autres informations
      1. 4.2.1 Boot time
      2. 4.2.2 Les utilisateurs
  5. 5. Des informations sur les processus
    1. 5.1 Classe Objet et méthodes fournies par psutil
    2. 5.2 Principes d’utilisation
    3. 5.3 Exemples d’utilisation
  6. 6. Résumé
Les formats de fichiers populaires
  1. 1. Introduction
  2. 2. Le format de fichier "INI"
  3. 3. Comma Separated Values : CSV
  4. 4. MS Office
  5. 5. Le module odfpy
    1. 5.1 Document Texte
    2. 5.2 Document Feuille de calcul
  6. 6. Le module multi-format pyexcel
  7. 7. Le format de fichier JSON
  8. 8. Le format de fichier XML
  9. 9. Le module tarfile pour archives tar
  10. 10. Le format zip
  11. 11. Résumé
Manipulation de données
  1. 1. Introduction
  2. 2. SQLite en mémoire
    1. 2.1 La mission
    2. 2.2 La récupération des données
    3. 2.3 La définition de la base de données
    4. 2.4 Le script principal
  3. 3. SMS vers HTML (ou autre)
    1. 3.1 Extraction des SMS
    2. 3.2 Transformation des SMS
    3. 3.3 Conversion
    4. 3.4 Script
  4. 4. D'une base à l'autre
    1. 4.1 Le contexte
    2. 4.2 Les schémas
    3. 4.3 Le script principal
  5. 5. Résumé
La génération de rapports
  1. 1. Introduction
  2. 2. La génération de PDF : Reportlab
    1. 2.1 Hello World en PDF et Reportlab
    2. 2.2 Une table avec Reportlab
    3. 2.3 Encore une table, mais en mieux
  3. 3. Le moteur de patrons Jinja2
    1. 3.1 Jinja et le HTML
    2. 3.2 Ajoutons un peu de CSS (Cascading Style Sheet)
    3. 3.3 Autre cas d'utilisation
  4. 4. Un autre moteur de patron : Pug/Jade
    1. 4.1 Prérequis : installation de Pug
    2. 4.2 Le début du projet
    3. 4.3 Bootstrap, c'est bien
    4. 4.4 Make, c'est bien
  5. 5. Résumé
Simulation d'activité
  1. 1. Introduction
  2. 2. Description
  3. 3. La structure des données
  4. 4. L'initialisation de la base de données
    1. 4.1 definitions.py
    2. 4.2 populate.py
  5. 5. La connexion à la base de données
  6. 6. Les compteurs
  7. 7. Les commandes clients
  8. 8. La livraison des commandes clients
  9. 9. La facturation des commandes livrées
  10. 10. Le réapprovisionnement du stock
  11. 11. La réception des commandes fournisseurs
  12. 12. Utilisation
  13. 13. Résumé
Trucs et astuces
  1. 1. Introduction
  2. 2. Adapter le copier/coller d'un tableur pour un wiki
  3. 3. Déballage avec Python (unpacking)
  4. 4. L'underscore et Python
    1. 4.1 Dans l’interpréteur
    2. 4.2 Pour ignorer des valeurs
    3. 4.3 Dans les boucles
    4. 4.4 Pour la séparation des milliers
    5. 4.5 Pour le nommage des variables
  5. 5. Agacer les CPU et mesurer le temps de son code
  6. 6. Créer un décorateur (logger interne)
  7. 7. Bien écrire du code Python (PEP8)
    1. 7.1 Espaces
    2. 7.2 Lignes
    3. 7.3 Tabs et encoding
    4. 7.4 Encoding : UTF8
    5. 7.5 Docstring
    6. 7.6 Nom de variables
  8. 8. Résumé
Exemples
  1. 1. Introduction
  2. 2. Génération de fichiers et répertoires aléatoire
  3. 3. Graphique d'utilisation d'un serveur sur un mois
  4. 4. psutil analyse des informations des processus
  5. 5. Test continu de débit sur un accès Internet
  6. 6. Évolution de l’espace disque
  7. 7. Exécution de requête SQL sur un serveur distant
  8. 8. Améliorer Apache Index Of
    1. 8.1 WSGI
    2. 8.2 Analyse des besoins
    3. 8.3 Bottle
    4. 8.4 Uwsgi - Comment se faire un environnement de test & dev ?
    5. 8.5 Le script startup.py
    6. 8.6 Le script page_html.py
    7. 8.7 Les templates
    8. 8.8 Les fichiers de paramètres
    9. 8.9 La mise en exploitation
    10. 8.10 Le résultat
  9. 9. Résumé
Aller plus loin avec Python
  1. 1. Introduction
  2. 2. Bottle & Flask
    1. 2.1 Bottle
    2. 2.2 Flask
  3. 3. Outils
    1. 3.1 Watchdog
    2. 3.2 Paramiko
    3. 3.3 Supervisor
  4. 4. Interfaces utilisateurs
    1. 4.1 Interface graphique : Tkinter
    2. 4.2 Autres interfaces graphiques
    3. 4.3 Interface console: curses
    4. 4.4 Interface console : Urwid
  5. 5. Résumé
Pour aller encore plus loin
  1. 1. Introduction
  2. 2. Twisted
  3. 3. Brython
  4. 4. Fuse
  5. 5. Ipython et Jupyter
  6. 6. Sphynx
  7. 7. Ansible
  8. 8. Le framework Django
  9. 9. Apache Airflow
  10. 10. Résumé
Annexes
  1. 1. Ressources Python
  2. 2. Déboguer en Python
  3. 3. Compiler Python depuis les sources
  4. 4. Pourquoi être fan des expressions régulières ?
  5. 5. Les outils utilisés pour cet ouvrage
  6. 6. Création d'une machine virtuelle Debian
  7. 7. Quelques conseils et petites choses à méditer
  8. 8. La dernière section
  9.  
  10.  
  11.  
  12. Index
Auteur : Christophe BONNET

Christophe BONNET

Tour à tour ingénieur système et réseaux, administrateur de base de données, architecte système spécialisé en informatique de Gestion ou développeur, Christophe BONNET a su évoluer et se forger une expérience dans de nombreux domaines de l’informatique. Aujourd’hui ingénieur système et passionné par les langages de programmation et le monde open source à travers les systèmes d'exploitation Unix/Linux et les logiciels libres, il partage à travers ce livre son expérience dans la mise en œuvre du langage Python pour le développement d’outils système sous Linux.

En savoir plus

Nos nouveautés

voir plus