Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : INF4533  Gr. 01
Titre : Technologies Internet
Session : Hiver 2016  Horaire et local
Professeur : Fraczak, Wojciech
1. Description du cours paraissant à l'annuaire :

Objectifs

Présenter à l'étudiant les mécanismes de fonctionnement et d'évolution de l'Internet, les protocoles d'application les plus connus ainsi que les différents aspects du World-Wide Web. Différents logiciels "clients" seront développés dans le cadre des travaux pratiques. A la fin du cours, l'étudiant devrait être capable d'analyser en détail les protocoles d'applications Internet et de développer des logiciels qui se conformeront aux spécifications de ces protocoles.

Contenu

Les structures organisationnelles de l'Internet (IETF, ISOC). Documentation Internet (RFC, FYI, STD, BCP, etc.). Etude détaillée des protocoles d'application fondamentaux (smtp, imap. pop, rôle et tâches du Postmaster, ftp, telnet, nntp, ping). Différents aspects du World-Wide Web (URL, URN, URI, HTTP, HTML, formulaires, scripts CGI, feuilles de style, gestion d'un site, négociation de contenu, configuration d'un serveur WWW, protection des accès, proxy, XML). Différents types de données multimédia. Outils logiciels et environnments de travail pour le développement WEB. Sécurité sur Internet (risques liés à un serveur WWW, barrières d'accès, SSL, SHTTP, commerce électronique). Introduction à l'informatique mobile et aux réseaux sans fil. Aspects sociaux.
2. Objectifs spécifiques du cours :
 
3. Stratégies pédagogiques :
Au cours de cette activité, diverses formules pédagogiques seront utilisées, notamment:
  • cours magistraux
  • exercices théoriques et pratiques durant les travaux dirigés
  • devoirs
  • lectures personnelles

Les attentes sont que les étudiant(e)s investissent au moins 80 heures de travail personnel en plus des 54 heures de cours et de laboratoires.

La présence lors de ces séances est obligatoire.

La page WEB sera utilisée pour communiquer d'autres informations au cours de la session.

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

Consultations : jeudi : 11h30 à 12h30 ou sur rendez-vous

En dehors des heures de consultation, la foire aux questions de Moodle constitue la voie principale de communication entre les étudiants et le professeur.

5. Plan détaillé du cours sur 15 semaines :
Semaine Thèmes Dates
1    1. Présentation du cours
  • Objectifs
  • Mode d'évaluation

2. Introduction à Internet

  • Survol historique
  • Structures organisationnelles de l'Internet
  • Noms et adresses de machines
  • Architecture client/serveur
  • Routage
  • Protocoles

Travaux dirigés: 19 janvier 2016

  • Initiation à CLI
  • Manipulation d'un fichier texte : création et modification (atom.io)
  • Création d'un compte "github"
  • Introduction à "git"
  • Comprendre DNS
  • Connections et travail à distance
  • Aspect pratique : ssh, rdesktop, vnc
15 jan. 2016 
2    1. World Wide Web
  • Historique
  • Navigateur
  • Langages HTML et CSS
  • Outils de validation et qualité de pages Web

2. HTML vs XML vs JSON

3. Devoir 1

Travaux dirigés: 26 janvier 2016

  • Création d'un document "markdown"
  • Création d'un document HTML
  • Partager les fichiers sur github
22 jan. 2016 
3    1. Maîtriser HTML et CSS

2. Javascript :

  • Introduction
  • Navigateurs parlent javascript
  • Exercices

Travaux dirigés: 2 février 2016

  • Exercices sur javascript
29 jan. 2016 
4    1. DOM

2. Javascript dans un navigateur :

  • Manipuler DOM et CSS
  • Bibliothèque jQuery

Travaux dirigés: 9 février 2016

  • Exercices sur javascript
05 fév. 2016 
5    1. Programmation avancée côté "navigateur" (client)
  • Ajax
  • Local storage

2. Limitations de la programmation côté "navigateur"

  • Rôle d'un serveur

3. Communication client/serveur

  • JSON (Javascript Object Notation)
  • XML

Travaux dirigés: 16 février 2016

  • Exercices sur XML et JSON
12 fév. 2016 
6    1. Protocole HTTP
  • Concepts de base et évolution du protocole
  • HTML : formulaires
  • REST api et "single page applications"

2. Autres protocoles

  • Email
  • Usenet
  • IRC
  • Bitcoin

Travaux dirigés: 23 février 2016

  • Exercices sur HTML forms et HTTP
19 fév. 2016 
7    Révision pour l'examen de mi-session
  • Exercices
  • Questions

Travaux dirigés: 8 mars 2016

  • Exercices de révision pour l'examen
26 fév. 2016 
8    Semaine d'études 04 mars 2016 
9    Examen de mi-session

Travaux dirigés: 15 mars 2016

  • Exercices pratiques sur ssh-*: création de clés
  • Créer et exécuter des programmes avec nodejs
11 mars 2016 
10    1. La sécurité sur Internet
  • Importance de la sécurité informatique
  • Cryptographie et les modèles de sécurité
  • Utilité et utilisation des certificats
  • Réseau TOR et autres exemples d'utilisation de cryptographie

2. Énoncé du Devoir 2

Travaux dirigés: 22 mars 2016

  • Présentation du Devoir 1
18 mars 2016 
11    Congé férié (Vendredi Saint)

Travaux dirigés: 29 mars 2016

  • Utilisation de librairie crypto avec nodejs
25 mars 2016 
12    Programmation côté serveur
  • Un serveur Web en nodejs
  • Introduction à l'express et jade

Travaux dirigés: 15 avril 2016

  • Exercices sur l'express et jade
01 avr. 2016 
13    1. Coopération et protocoles "peer-to-peer"
  • Bitorrent
  • Bitcoin

2. Session QA pour le Devoir 2

Travaux dirigés: 12 avril 2016

  • Exercices sur l'express et jade (suite)
08 avr. 2016 
14    Révision pour l'examen final
  • Exercices
  • Questions
15 avr. 2016 
15    Examen final 22 avr. 2016 
6. Évaluation du cours :

L'évaluation est l'appréciation du niveau d'apprentissage atteint par l'étudiant par rapport aux objectifs des cours et des programmes.

Dans le cas spécifique du cours TECHNOLOGIES INTERNET l'attribution des notes se fera selon la répartition suivante:
  • Examen de mi-session 30 %
  • Examen de fin de session 30 %
  • Devoirs (2 travaux * 20%) 40 %
7. Politiques départementales et institutionnelles :
8. Principales références :
  1. Internet (la documentation vie sur l'Internet).
  2. Marijn Haverbeke, JavaScript Éloquent. Une introduction moderne à la programmation. (http://fr.eloquentjavascript.net/contents.html)
  3. Internet technologies. Wikibooks. (https://wikibooks.org/wiki/Internet_Technologies)
  4. Robert W. Sebesta, Programming the world Wide Web, 2009,5e, Addison-Wesley, ISBN 978-0-13-607663-6
9. Page Web du cours :
https://moodle.uqo.ca