Blog ENI : Toute la veille numérique !
En raison d'une opération de maintenance, aucune commande de spiralé personnalisé ne pourra être expédiée le 12/12. Nous vous invitons à anticiper vos achats.
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. Python 3 - Traitement de données et techniques de programmation (2e édition)

Python 3 Traitement de données et techniques de programmation (2e édition)

Informations

Livraison possible dès le 09 décembre 2024
  • Version en ligne offerte pendant 1 an
  • 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-04446-5
  • EAN : 9782409044465
  • Ref. ENI : EIM23PYT

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-04447-2
  • EAN : 9782409044472
  • Ref. ENI : LNEIM23PYT
Ce support sur le langage Python 3 s'adresse à tout professionnel de l'informatique, ingénieur, étudiant, enseignant ou même autodidacte qui souhaite maîtriser ce langage très abouti. L'objectif de ce support est de montrer au lecteur ce que l'on peut faire avec le langage, du traitement de données à la création d'un site web, en passant par la gestion du système et du réseau. Pour bien appréhender son contenu, la lecture du livre dont il est la suite, Python 3 - Les fondamentaux du...
Aperçu du livre papier
  • Niveau Confirmé à Expert
  • Nombre de pages 436 pages
  • Parution juin 2024
  • Niveau Confirmé à Expert
  • Parution juin 2024
Ce support sur le langage Python 3 s'adresse à tout professionnel de l'informatique, ingénieur, étudiant, enseignant ou même autodidacte qui souhaite maîtriser ce langage très abouti. L'objectif de ce support est de montrer au lecteur ce que l'on peut faire avec le langage, du traitement de données à la création d'un site web, en passant par la gestion du système et du réseau. Pour bien appréhender son contenu, la lecture du livre dont il est la suite, Python 3 - Les fondamentaux du langage chez le même éditeur, est recommandée.

La première partie couvre le traitement de données avec la manipulation de fichiers, les fichiers de configuration, les formats d'import/export, la gestion de la compression ou encore les flux XML ou la génération de documents.

La seconde partie présente la programmation système, la programmation réseau, la programmation web et la programmation scientifique, qui sont autant de niches dans lesquelles le langage Python excelle par sa simplicité d'utilisation autant que par sa couverture fonctionnelle exceptionnelle.

La troisième partie présente tous les outils de programmation concurrente, qu'il s'agisse de programmation asynchrone, parallèle ou distribuée. On notera que l'accent est mis sur de nombreuses techniques asynchrones, car il s'agit de l'un des points majeurs de l'évolution récente du langage Python.

Le code source des exemples du livre est intégralement téléchargeable sur www.editions-eni.fr pour permettre au lecteur de tester le programme et de le modifier à sa guise de manière à faire ses propres expériences.

Téléchargements

Motifs de conception
  1. 1. Définition
    1. 1.1 Positionnement par rapport à la notion d’objet
    2. 1.2 Organisation du chapitre
    3. 1.3 Positionnement par rapport à d’autres concepts
  2. 2. Motifs de création
    1. 2.1 Singleton
    2. 2.2 Fabrique
    3. 2.3 Fabrique abstraite
    4. 2.4 Monteur
    5. 2.5 Prototype
  3. 3. Motifs de structuration
    1. 3.1 Adaptateur
    2. 3.2 Pont
    3. 3.3 Composite
    4. 3.4 Décorateur
    5. 3.5 Façade
    6. 3.6 Poids-mouche
    7. 3.7 Proxy
  4. 4. Motifs de comportement
    1. 4.1 Chaîne de responsabilité
    2. 4.2 Commande
    3. 4.3 Itérateur
    4. 4.4 Mémento
    5. 4.5 Visiteur
    6. 4.6 Observateur
    7. 4.7 Stratégie
    8. 4.8 Fonction de rappel
  5. 5. ZCA
    1. 5.1 Rappels
    2. 5.2 Adaptateur
    3. 5.3 Utilitaire
    4. 5.4 Fabrique
    5. 5.5 Pour aller plus loin
XML
  1. 1. XML et les technologies qui gravitent autour
    1. 1.1 Définition de XML, terminologie associée
    2. 1.2 Notion de schéma
    3. 1.3 Avantages et inconvénients de XML
    4. 1.4 Différentes manières de parcourir un fichier XML
    5. 1.5 Modules Python dédiés au XML
  2. 2. Valider un document XML
    1. 2.1 Document XML
    2. 2.2 Schéma DTD
    3. 2.3 Schéma XSD
    4. 2.4 Schéma RNG (RelaxNG)
    5. 2.5 Schematron
  3. 3. DOM
    1. 3.1 Lecture
    2. 3.2 Écriture
  4. 4. SAX
    1. 4.1 Support de SAX dans lxml
    2. 4.2 API SAX Allégée
  5. 5. XPath
  6. 6. XSLT
  7. 7. Cas spécifique des fichiers HTML
    1. 7.1 Problématique
    2. 7.2 Parser un fichier HTML à la façon DOM
    3. 7.3 Parser un fichier HTML à la façon SAX
Génération de contenu
  1. 1. PDF
    1. 1.1 Présentation
      1. 1.1.1 Format PDF
      2. 1.1.2 Avantages
      3. 1.1.3 Inconvénients
      4. 1.1.4 Présentation de la bibliothèque libre
    2. 1.2 Bas niveau
      1. 1.2.1 Bibliothèque de données
      2. 1.2.2 Canvas
    3. 1.3 Haut niveau
      1. 1.3.1 Styles
      2. 1.3.2 Flux de données
      3. 1.3.3 Création d’un visuel
      4. 1.3.4 Template de page
      5. 1.3.5 Page contenant plusieurs zones
  2. 2. Générer un document PDF depuis une page HTML
    1. 2.1 Présentation
    2. 2.2 Installation
    3. 2.3 Utilisation
  3. 3. OpenDocument
    1. 3.1 Présentation
    2. 3.2 ezodf2
      1. 3.2.1 Installation
      2. 3.2.2 OpenDocument Texte
      3. 3.2.3 OpenDocument Tableur
      4. 3.2.4 Aller plus loin
    3. 3.3 Alternatives
  4. 4. Travailler avec des images
    1. 4.1 Représentation informatique d’une image
    2. 4.2 Présentation de Pillow
    3. 4.3 Formats d’images matricielles
    4. 4.4 Récupérer des informations d’une image
    5. 4.5 Opérations d’ensemble sur une image
    6. 4.6 Travailler avec les calques ou les pixels
  5. 5. Fichiers de configuration
    1. 5.1 Format YAML
    2. 5.2 Format TOML
Qualité
  1. 1. Programmation dirigée par les tests
    1. 1.1 Tests unitaires
      1. 1.1.1 Principes
      2. 1.1.2 Interprétation
      3. 1.1.3 Couverture
      4. 1.1.4 Outils
      5. 1.1.5 Autres outils
    2. 1.2 Tests de non-régression
      1. 1.2.1 Actions de développement
      2. 1.2.2 Gestion de la découverte d’une anomalie par une MOA
    3. 1.3 Tests fonctionnels
    4. 1.4 Tests de performance
    5. 1.5 Tests syntaxiques
    6. 1.6 Intégration continue
  2. 2. Programmation dirigée par la documentation
    1. 2.1 Documentation interne
      1. 2.1.1 À destination des développeurs
      2. 2.1.2 À destination des utilisateurs
    2. 2.2 Documentation externe
      1. 2.2.1 Présentation
      2. 2.2.2 Démarrage rapide
      3. 2.2.3 Résultat
  3. 3. Optimisation
    1. 3.1 Qualimétrie
    2. 3.2 Outils de débogage
    3. 3.3 Outils de profilage
    4. 3.4 Règles d’optimisation
      1. 3.4.1 Pourquoi optimiser ?
      2. 3.4.2 Règles générales
      3. 3.4.3 Profiler un algorithme
      4. 3.4.4 Optimiser l'utilisation de la mémoire
Programmation système
  1. 1. Présentation
    1. 1.1 Définition
    2. 1.2 Objectifs du chapitre
  2. 2. Appréhender son système d’exploitation
    1. 2.1 Avertissement
    2. 2.2 Système d’exploitation
    3. 2.3 Processus courant
    4. 2.4 Utilisateurs et groupes
    5. 2.5 Mots de passe et authentification
    6. 2.6 Constantes pour le système de fichiers
    7. 2.7 Gérer les chemins
    8. 2.8 Utilitaires
      1. 2.8.1 Comparer deux fichiers
      2. 2.8.2 Utilitaire de sauvegarde
      3. 2.8.3 Lire un fichier de configuration
      4. 2.8.4 Pickle
    9. 2.9 Compresser et décompresser un fichier
      1. 2.9.1 Tarfile
      2. 2.9.2 Gzip
      3. 2.9.3 Bz2
      4. 2.9.4 LZMA
      5. 2.9.5 Zipfile
      6. 2.9.6 Interface de haut niveau
  3. 3. Gestion d’un fichier
    1. 3.1 Changer les droits d’un fichier
    2. 3.2 Changer de propriétaire ou de groupe
    3. 3.3 Récupérer des informations sur un fichier
    4. 3.4 Supprimer un fichier
  4. 4. Alternatives simples à des commandes bash usuelles
    1. 4.1 Répertoires
    2. 4.2 Fichiers
    3. 4.3 Module de haut niveau
    4. 4.4 Recherche d’un fichier
  5. 5. Exécuter des commandes externes
    1. 5.1 Exécuter et afficher le résultat
    2. 5.2 Exécuter et récupérer le résultat
    3. 5.3 Pour Python 3.5 et supérieur
  6. 6. IHM système
    1. 6.1 Présentation
    2. 6.2 Travailler avec des arguments
    3. 6.3 Fermeture du programme
    4. 6.4 Entrée standard
    5. 6.5 Sortie standard
    6. 6.6 Sortie d’erreur
    7. 6.7 Taille du terminal
  7. 7. Curses
    1. 7.1 Présentation
    2. 7.2 Gérer le démarrage et l'arrêt
    3. 7.3 Affichage de texte
    4. 7.4 Gestion des attributs
    5. 7.5 Gestion des couleurs
    6. 7.6 Gestion des événements
  8. 8. Accès aux périphériques
    1. 8.1 Introduction
    2. 8.2 Voir les partitions
    3. 8.3 Voir les clés USB
    4. 8.4 Liste des informations disponibles
    5. 8.5 Détecter le branchement d'une clé USB
    6. 8.6 Communiquer via un port série
    7. 8.7 Communiquer via un port USB
Programmation réseau
  1. 1. Écrire un serveur et un client
    1. 1.1 Utilisation d’une socket TCP
    2. 1.2 Utilisation d’une socket UDP
    3. 1.3 Création d’un serveur TCP
    4. 1.4 Création d’un serveur UDP
    5. 1.5 Un peu plus loin sur le sujet
  2. 2. Utiliser un protocole standard
    1. 2.1 Client HTTP
    2. 2.2 Serveur HTTP
    3. 2.3 Proxy
    4. 2.4 Cookies
    5. 2.5 FTP et SFTP
    6. 2.6 SSH
    7. 2.7 POP et POPS
    8. 2.8 IMAP et IMAPS
    9. 2.9 SMTP et SMPTS
    10. 2.10 NNTP
    11. 2.11 IRC
  3. 3. Wake-on-LAN
    1. 3.1 Prérequis
    2. 3.2 Mise en œuvre
Programmation web
  1. 1. Services web
    1. 1.1 REST
    2. 1.2 SOAP
    3. 1.3 Pyro
  2. 2. Client web
  3. 3. Web scrapping
Programmation scientifique
  1. 1. Calcul scientifique
    1. 1.1 Présentation
    2. 1.2 Python, une alternative libre et crédible
    3. 1.3 Vue d'ensemble de quelques bibliothèques
  2. 2. Tableaux multidimensionnels
    1. 2.1 Création
    2. 2.2 Déterminer la composition d'un tableau
    3. 2.3 Générateurs de tableaux
    4. 2.4 Opérations basiques
    5. 2.5 Opérateur crochet
  3. 3. Matrices
  4. 4. Génération de graphiques
    1. 4.1 Syntaxe MATLAB
    2. 4.2 Syntaxe objet
    3. 4.3 Mise en forme
    4. 4.4 Graphiques 3D
  5. 5. Introduction à Pandas
    1. 5.1 Présentation
    2. 5.2 Séries
    3. 5.3 Dataframes
Initiation à la programmation concurrente
  1. 1. Notion de performance
    1. 1.1 Programmation bloquante
    2. 1.2 Utilisation de ressources CPU
    3. 1.3 Organisation de l’application
  2. 2. Terminologie
    1. 2.1 Processus
    2. 2.2 Fil d’exécution
    3. 2.3 Programmation non bloquante
    4. 2.4 Notion de GIL
  3. 3. Présentation des paradigmes
    1. 3.1 Programmation asynchrone
    2. 3.2 Programmation parallèle
    3. 3.3 Programmation distribuée
    4. 3.4 Programmation concurrente
Programmation asynchrone : initiation
  1. 1. Utilité de la programmation asynchrone
  2. 2. Introduction à l’asynchrone
    1. 2.1 Notion de coroutine
    2. 2.2 Exécution d’une coroutine
    3. 2.3 Précisions sur le mot-clé await
    4. 2.4 Exécuter plusieurs coroutines en séries
    5. 2.5 Tâches asynchrones
    6. 2.6 Exécuter les tâches asynchrones de manière concurrente
    7. 2.7 Notion d’awaitable
    8. 2.8 Précisions sur asyncio.sleep
  3. 3. Éléments de grammaire
    1. 3.1 Gestionnaire de contexte asynchrone
    2. 3.2 Générateurs asynchrones
    3. 3.3 Compréhensions asynchrones
    4. 3.4 Itération asynchrone
  4. 4. Notions avancées
    1. 4.1 Introspection
    2. 4.2 Gestion du résultat ou de l’exception
    3. 4.3 Annuler une tâche
    4. 4.4 Se prémunir d’une annulation
    5. 4.5 Timeouts
    6. 4.6 Gestion globale fine de l’attente
    7. 4.7 Module contextvars
  5. 5. Boucle événementielle asynchrone
    1. 5.1 Gestion de la boucle
    2. 5.2 Débogage
    3. 5.3 Notion de future
    4. 5.4 Annulation
    5. 5.5 Gestion des exceptions
  6. 6. Utiliser la boucle événementielle
    1. 6.1 Utilisation des fonctions de retour (callbacks)
    2. 6.2 Planifier des appels à des fonctions classiques
    3. 6.3 Utiliser des signaux
    4. 6.4 Synchronisation
    5. 6.5 Communication entre coroutines
    6. 6.6 Exemple : lecture de l’entrée standard
    7. 6.7 Programmation parallèle et asynchrone
    8. 6.8 Exécuter du code bloquant
  7. 7. L’asynchrone suivant les versions de Python
    1. 7.1 Python 3.7
    2. 7.2 Python 3.6
    3. 7.3 Python 3.5
    4. 7.4 Python 3.4
    5. 7.5 Python 3.3 et inférieur
    6. 7.6 Python 2.7
  8. 8. Cas concret
    1. 8.1 Exemple de travail
  9. 9. Exemple retravaillé en utilisant des générateurs
    1. 9.1 Télécharger en asynchrone
    2. 9.2 Parser en asynchrone
    3. 9.3 Faire plusieurs traitements en asynchrone
    4. 9.4 Utiliser un exécuteur
    5. 9.5 Pour aller plus loin
Programmation asynchrone : avancée
  1. 1. Transports et protocoles
    1. 1.1 Introduction
    2. 1.2 Transports
    3. 1.3 Protocoles
    4. 1.4 Mise en œuvre
    5. 1.5 Exemple pour le protocole TCP
    6. 1.6 Exemple pour le protocole SSL
    7. 1.7 Exemple pour le protocole UDP
    8. 1.8 Traiter d’autres types de protocoles réseau
    9. 1.9 Exemple pour Subprocess
  2. 2. Flux
    1. 2.1 Introduction
    2. 2.2 Exemple avec le protocole TCP
Programmation asynchrone : alternatives
  1. 1. Gevent
    1. 1.1 Introduction
    2. 1.2 DNS
    3. 1.3 Appels système
    4. 1.4 Programmation asynchrone
  2. 2. Twisted
    1. 2.1 Introduction
    2. 2.2 Client/serveur TCP
    3. 2.3 Serveur/client UDP
    4. 2.4 AMP
    5. 2.5 Autres protocoles
  3. 3. Trollius
  4. 4. HTTP asynchrone avec aiohttp
    1. 4.1 Côté serveur
    2. 4.2 Côté client
Programmation parallèle
  1. 1. Utilisation d’un fil d’exécution
    1. 1.1 Gestion d’un fil d’exécution
      1. 1.1.1 Présentation
      2. 1.1.2 Création
    2. 1.2 Gestion de plusieurs fils d’exécution
      1. 1.2.1 Lancement et contrôle
      2. 1.2.2 Opportunité d’utiliser un fil d’exécution
    3. 1.3 Résolution des problématiques liées
      1. 1.3.1 Synchronisation
      2. 1.3.2 Synchronisation conditionnelle
      3. 1.3.3 Sémaphore
  2. 2. Utilisation de processus
    1. 2.1 Gestion d’un processus
      1. 2.1.1 Présentation
      2. 2.1.2 Création
    2. 2.2 Gestion de plusieurs processus
      1. 2.2.1 Synchronisation
      2. 2.2.2 Paralléliser un travail
    3. 2.3 Résolution des problématiques liées
      1. 2.3.1 Communication interprocessus
      2. 2.3.2 Partage de données entre processus
    4. 2.4 Opportunité d’utiliser les processus
    5. 2.5 Démon
  3. 3. Exécution asynchrone
    1. 3.1 Introduction
    2. 3.2 Présentation
Programmation distribuée
  1. 1. Définitions
  2. 2. ØMQ
    1. 2.1 Présentation générale
    2. 2.2 Pair
    3. 2.3 Client/serveur
    4. 2.4 Publish/subscribe
    5. 2.5 PUSH/PULL
    6. 2.6 Patron pipeline
  3. 3. AMQP avec RabbitMQ
    1. 3.1 Installation
    2. 3.2 Configuration
    3. 3.3 Introduction
    4. 3.4 Notions importantes
    5. 3.5 Publish/subscribe
    6. 3.6 Routage et sujets
  4. 4. Kafka
    1. 4.1 Présentation
    2. 4.2 Principes généraux
    3. 4.3 Client Kafka
    4. 4.4 Faust
  5. 5. Celery
    1. 5.1 Présentation
    2. 5.2 Dans quel cas utiliser Celery ?
    3. 5.3 Installation
    4. 5.4 Configuration
    5. 5.5 Utilisation
    6. 5.6 Monitorer
  6. 6. Crossbar
    1. 6.1 Présentation
    2. 6.2 WebSocket
    3. 6.3 Publish/subscribe
    4.  
    5.  
    6.  
    7. Index
Auteur : Sébastien CHAZALLET

Sébastien CHAZALLET

Expert technique Python / Django et Web Backend / Frontend, Sébastien Chazallet intervient en tant qu’indépendant sur de longues missions de développement, d'audit, d'expertise et de formation (www.formation-python.fr, www.inspyration.fr). Ses réalisations portent sur des développements autour de Python sur des projets de grande envergure, essentiellement des applications intranet sur mesure avec Django, mais également sur des applications de bureau, des scripts systèmes, la création de sites web ou de e-commerce.

En savoir plus

Découvrir tous ses livres

  • Python 3 Les fondamentaux du langage (4e édition)
  • Python 3 Les fondamentaux du langage (4e édition)
  • Python Les fondamentaux du langage [Nouvelle édition] - 2 Tomes

Nos nouveautés

voir plus