Fondamentaux de la programmation réseau en Python
376 pages
French
PDF
4.5

Fondamentaux de la programmation réseau en Python

Fondamentaux de la programmation réseau en Python

Auteur :

Année :

Résumé :

Introduction

Le livre « Fondamentaux de la programmation réseau en Python » (titre original Foundations of Python Network Programming) est un guide classique qui, depuis plus de dix ans, aide les développeurs à maîtriser les subtilités du travail avec les protocoles réseau en langage Python. Les auteurs, Brandon Rhodes et John Goerzen, experts reconnus dans le domaine de Python et des technologies réseau, ont créé un manuel pratique qui couvre à la fois les concepts de base (sockets, TCP/UDP) et les sujets avancés (HTTP, SMTP, SSH, SSL/TLS). Bien que le livre soit paru en 2014, son contenu reste pertinent pour Python 3 et les applications réseau modernes.

De quoi parle ce livre

Le livre est construit comme une immersion progressive dans le monde de la programmation réseau. Il commence par les bases : ce que sont les sockets, comment fonctionnent TCP et UDP, comment établir des connexions et transmettre des données. Ensuite, les auteurs passent aux protocoles et bibliothèques de plus haut niveau que Python propose pour travailler avec eux. Une attention particulière est accordée aux exemples pratiques : chaque section est accompagnée d'un code fonctionnel que vous pouvez immédiatement exécuter et modifier.

Principaux thèmes du livre

  • Sockets et couche transport : création de clients et serveurs TCP et UDP, gestion des erreurs, timeouts, entrées-sorties non bloquantes.
  • HTTP et services web : écriture de clients et serveurs HTTP, travail avec les bibliothèques http.client et urllib, analyse des en-têtes, cookies, authentification.
  • Courrier électronique : envoi et réception de courriels via SMTP, POP3, IMAP, travail avec les pièces jointes MIME.
  • SSH et sécurité : utilisation de la bibliothèque paramiko pour l'administration à distance de serveurs, configuration de tunnels SSH.
  • SSL/TLS : chiffrement des connexions, travail avec les certificats, création de sockets sécurisés.
  • Multithreading et asynchrone : utilisation des threads, processus et de la bibliothèque asyncio pour créer des serveurs évolutifs.
  • Protocoles de couche application : DNS, FTP, Telnet, ainsi que l'écriture de protocoles personnalisés sur TCP/UDP.

À qui s'adresse ce livre

Le livre est destiné aux développeurs qui connaissent déjà les bases de Python (syntaxe, fonctions, classes) et souhaitent approfondir la programmation réseau. Il sera utile :

  • Aux développeurs Backend, créant des services web, API et microservices.
  • Aux ingénieurs réseau, automatisant la configuration des équipements et la surveillance.
  • Aux spécialistes DevOps, écrivant des scripts pour la gestion et le déploiement de serveurs.
  • Aux étudiants et enseignants, étudiant les réseaux informatiques de manière pratique.

Ce que le lecteur apprendra

Après avoir lu ce livre, vous serez capable de :

  • Créer des clients et serveurs TCP et UDP à partir de zéro.
  • Travailler avec les requêtes et réponses HTTP, y compris les API REST.
  • Envoyer et recevoir des courriels par programmation.
  • Établir des connexions SSH et exécuter des commandes sur des machines distantes.
  • Assurer la sécurité des connexions réseau avec SSL/TLS.
  • Écrire des serveurs asynchrones traitant des milliers de connexions.
  • Comprendre le fonctionnement interne des protocoles et bibliothèques populaires.

Points forts du livre

  • Orientation pratique : chaque exemple peut être immédiatement exécuté et testé. Le code est écrit dans le style Python 3 et s'adapte facilement aux versions modernes.
  • Explication approfondie : les auteurs ne montrent pas seulement comment utiliser les bibliothèques, mais expliquent aussi comment les protocoles fonctionnent au niveau des paquets.
  • Structure : le livre est logiquement divisé en chapitres, du simple au complexe. Il peut être lu séquentiellement ou utilisé comme référence.
  • Pertinence : malgré l'année de publication, les principes fondamentaux du réseau

Recommendations