Des câbles RJ45
17-06
2014

Programmation Réseau

Informations générales

Dans cet unité d’enseignement nous nous emploierons à passer en revue les principales constructions nécessaires à la communication entre applications à travers le réseau. Il ne s’agit pas d’un cours de réseau, mais d’un cours de programmation réseau. La couche réseau la plus importante ici est la couche application, et donc le contenu des messages et l’ordonnancement de ceux-ci plus que les techniques d’acheminement de ces messages.

Ce cours intitulé « programmation réseau » est à destination d’étudiants en Licence troisième année d’informatique de l’Université Paris Diderot. Le suivre suppose la maîtrise des langages Java et C (donc de la programmation objet).

Sont fournis ici, différents supports pédagogiques : cours, vidéos, codes sources, travaux pratiques et examens.

logo Youtube

Une chaîne Youtube est associée à mes enseignements dont celui-ci, mais vous pouvez aussi vous reporter à la médiathèque de l’Université Paris Diderot.

Enseignement Horaire Lieu Enseignant
Cours Jeudi 9:00—11:00 Amphi 5C Jean-Baptiste Yunès
TP 1 Mercredi 14:00—16:00 SG 2032 Arnaud Sangnier
TP 2 Mardi 11:00—13:00 SG 2032 Irénée Briquel
TP 3 Vendredi 14:30—16:30 SG 2031 Marc Renault


Évaluation des connaissances

Les contrôles de connaissances consistent en :

  1. un examen qui aura lieu le 15 Mai 2014 à 8h30, lieu bientôt disponible.
  2. un projet dont les soutenances auront lieu le Mercredi 28 Mai 2014.

Chacun d’eux délivre une note /20 lesquelles sont mixées pour obtenir la note finale suivant la formule de calcul suivante :

notesession1 = (noteexamen+noteprojet)/2

Si l’évaluation se révèle négative (note < 10) et qu’aucune compensation n’est possible ou décidée, il sera nécessaire de concourir en seconde session, pour laquelle le contrôle consiste en un unique examen. La note finale est alors obtenue par :

notesession2 = (noteexamen2+noteprojet)/2)

Le cours de l’année 2014

Les supports de cours

  • 00 - Informations, quelques informations générales sur le cours
  • 01 - Introduction, généralités sur le réseau et les outils Unix d’exploration
  • 02 - API Java TCP, les classes et méthodes Java utiles pour communiquer à travers des flux TCP sur le réseau
  • 03 - La concurrence en Java, l’exécution concurrente en Java, processus et threads, problèmes et solutions
  • 04 - API Java UDP, les classes et méthodes Java utiles pour communiquer en mode paquet sur le réseau.
  • 05 - Sérialisation, les techniques de sérialisation en Java, sérialisation interne et sérialisation externe, XML, etc.
  • 06 - API C TCP, l’interface de programmation réseau en C (adresses Internet, adresses de sockets, résolution de nom, socket, TCP)
  • 07 - API C UDP, les socket de type SOCK_DGRAM
  • 08 - Diffusion, la diffusion intégrale (broadcast) et la multidiffusion (multicast)
  • 09 - E/S non-bloquantes en Java aka java.nio.channels
  • 10 - E/S non-bloquantes en C aka select, poll
  • 11 - Codage en direct d’un serveur HTTP élémentaire
  • 12 - RMI, Activation et Sécurité
  • 13 - RPC/XDR

Codes sources de démonstrations réalisées en cours

Les Travaux Pratiques

Arnaud Sangnier s’est jusqu’à présent chargé de centraliser les informations relatives aux travaux pratiques, je vous renvoie donc sur sa page dédiée au cours. Les travaux pratiques sont assurés cette année par Irenée Briquel, Marc Renault et Arnaud Sangnier.

Projet, Examens

Le sujet du projet est enfin disponible.

Si vous espérez voir ici le sujet de l’examen avant qu’il ne soit passé…

To be completed…

 Attention : certains des supports qui suivent ne sont encore que des ébauches parfois très vagues… 

Les tutoriels vidéos

Les montages à l’aide de captures vidéos (le tout est l’œuvre de Baptiste Fontaine) sur le site de l’association infop7.

Sinon vous pouvez regarder les productions « maison » via YouTube :

On notera qu’il existe aussi la médiathèque de Paris Diderot sur laquelle les diverses productions sont aussi disponibles.

Archives

Codes sources

Projets

Examens