Contenu du cours

Ce module-projet enseigne la conception d’un serveur web en Python, en demandant un minimum de connaissances préalables. Par ce projet, l’objectif pédagogique est de faire une première expérience de plusieurs domaines de l’informatique, notamment le génie logiciel, les systèmes d’exploitation et le réseau. Tout cela en implémentant les bonnes pratiques du développement Python.

  • Acquérir les principes du développement logiciel.
  • Manipuler le système d’exploitation Linux.
  • Acquérir les concepts fondamentaux du réseau.
  • Travailler en groupe, répartir et prioriser le travail.
  • Gérer son apprentissage en autonomie.
Télécharger

Un cours théorique complet

Les connaissances théoriques pour comprendre le fonctionnement d’un réseau, interagir entre processus ou machines, en utilisant le langage de programmation Python comme support.

Des travaux pratiques concrets

Mettez en pratique les leçons théoriques au moyen d’exercices accessibles et progressifs, pour aller jusqu’à l’implémentation d’un serveur web basique mais complet, permettant de servir une page web avec tous ses artefacts.

Des ressources pour aller plus loin

Des liens et ressources pour mieux approfondir les sujets qui vous intéressent, et des exercices bonus optionnels pour aller plus loin dans vos développements.

Chapitres

Chapitre 1 : Mise en place d’un projet Python.

Où l’on apprend à utiliser le système GNU/Linux, les bases du développement et du génie logiciel, et les premières lignes de Python.
Voir le répertoire intro_python pour les exercices.

Chapitre 2 : Initiation au réseau.

Où l’on découvre le fonctionnement d’un réseau informatique, les sockets, et les outils systèmes associés. Développer en Python un canal de communication entre machines.
Voir le répertoire sockets pour les exercices.

Chapter 3 : Réalisation d’un serveur web.

Où l’on s’attaque à un vrai serveur web : ouvrir un canal de communication, analyser une requête, puis retourner le contenu adéquat. S’assurer que l’on peut servir une page web complète, avec images et feuilles CSS.
Voir le répertoire serveur_web pour les exercices.

Téléchargez le cours et les exercices !

Le cours est composé d’un fichier PDF et de différents modules à implémenter en Python, en suivant les instructions fournies.

PDF du cours

Toute la théorie nécessaire à la compréhension de la programmation réseau en Python, avec des exemples, et un chemin pédagogique pour implémenter un serveur web complet, fonction par fonction.

Télécharger le cours
Fichiers d’exercices

Chaque module Python contient des fichiers de test, ainsi que de code source à compléter au fur et à mesure des exercices. En progressant dans le cours, vous ferez passer les tests successivement jusqu’à obtenir 100% de succès – et un programme fonctionnel !

Télécharger le code

Ressources

Pour mieux comprendre ou approfondir certains points, nous vous recommendons ces références bibliographiques. N’hésitez pas à les feuilleter plus en profondeur pour mieux maîtriser le sujet !