Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : INF6003  Gr. 01
Titre : Développement des applications client-serveur
Session : Automne 2013  Horaire et local
Professeur : El Guemhioui, Karim
1. Description du cours paraissant à l'annuaire :

Objectifs

Permettre à l'étudiant de maîtriser l'approche client-serveur et le familiariser avec la programmation des réseaux.

Contenu

Rappel sur les protocoles de transport pour la programmation: TCP/IP, UDP. Modèle Client-Serveur. Programmation des sockets. Appels de procédures à distance: modèle RPC. Présentation de données. Interfaces applicatives. Client-Serveur dans les bases de données SQL. Le transactionnel: protocoles 2PL, transactions réparties, standards de traitements de transactions. Interopérationalité. Autres types de serveur : serveurs de noms, serveurs d'informations (NIS).
2. Objectifs spécifiques du cours :
Maîtriser le modèle et l'architecture client-serveur. S'initier à la programmation des protocoles de transport TCP et UDP. Maîtriser la programmation des sockets. Introduction à un autre mécanisme de programmation IPC. S'initier aux serveurs transactionnels. Étudier l'organisation de serveurs publics (ex.: serveurs de noms, serveurs de fichiers).
3. Stratégies pédagogiques :
  • Cours magistraux
  • Discussion de concepts nouveaux et de lectures assignées par le professeur
  • Travaux pratiques non supervisés
  • Projet sur les sockets (conception et programmation). On utilisera un environnement Unix et le langage C.

Les travaux à terme devront être remis aux dates indiquées et en début de séance ; aucun retard ne sera toléré. Des informations et du matériel pédagogique pertinents seront disponibles sur la page Web du cours (moodle.uqo.ca)

L'ordre de traitement des différents sujets pourrait être légèrement remanié et des éléments additionnels introduits en fonction du profil et de l'intérêt des étudiants.

4. Heures de disponibilité ou modalités pour rendez-vous :
Sur rendez-vous.

Local B-0125, karim.elguemhioui@uqo.ca

5. Plan détaillé du cours sur 15 semaines :
Semaine Thèmes Dates
1    Introduction à l'informatique répartie - Le modèle client-serveur - les architectures multi-étagées 04 sept. 2013 
2    Interréseautage - Rappels sur le protocole IP et l'adressage - Les protocoles de transport TCP et UDP 11 sept. 2013 
3    Lecture d'articles lors de rencontre en classe 18 sept. 2013 
4    Ports de communication - Introduction aux sockets - Types de sockets et création - API des sockets 25 sept. 2013 
5    Étude de cas : le client - Algorithmes pour TCP et UDP - Schémas de conversion 02 oct. 2013 
6    Étude de cas : le serveur - algorithmes pour TCP et UDP - Nomenclatures de serveurs - Services itératifs 09 oct. 2013 
7    Semaine d'étude 16 oct. 2013 
8    Examen de mi-session 23 oct. 2013 
9    Les systèmes concurrentiels - Point de vue du serveur - Utilisation de plusieurs processus 30 oct. 2013 
10    Les systèmes concurrentiels (suite) - Utilisation de plusieurs fils de contrôle - Multiplexage des E/S 06 nov. 2013 
11    Serveurs multiprotocolaires, serveurs multiservices - Gestion de la concurrence 13 nov. 2013 
12    Les systèmes concurrentiels : point de vue du client - point de vue du client - Technique de l'effet tunnel - Passerelles applicatives 20 nov. 2013 
13    Introduction à RPC 27 nov. 2013 
14    Le client serveur et les bases de données - Serveurs de fichiers - Présentations orales 04 déc. 2013 
15    Examen final 11 déc. 2013 
6. Évaluation du cours :
  • Examen de mi-session : 30 %
  • Examen final : 30 %
  • Travaux : 20 %
  • Projet : 20 %
7. Politiques départementales et institutionnelles :
8. Principales références :
  • Internetworking with TCP/IP Vol. III : Client-Server Programming and Applications - Linux/Posix Sockets Version, Douglas E. Comer & David L. Stevens, Prentice Hall, 2001

Autre ressource :

  • Unix Network Programming - Networking APIs : Sockets and XTI Vol. 1, Second Edition, W. Richard Stevens, Prentice Hall, 1998

9. Page Web du cours :
https://moodle.uqo.ca