Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : INF4533  Gr. 01
Titre : Technologies Internet
Session : Hiver 2017  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.). Étude 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 environnements 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 :
Initier l'étudiant aux techniques de base à l'élaboration de pages Web, de sites Internet, et des applications Web collaboratives.
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 de travaux dirigés 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 : vendredi : 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    Travaux dirigés : 9 janvier 2017
  • Initiation à CLI
  • Manipulation d'un fichier texte : création et modification (atom.io)
  • Création d'un compte 'github'
  • Introduction à 'git'

Cours : 13 janvier 2017

  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
13 jan. 2017 
2    Travaux dirigés : 16 janvier 2017
  • Comprendre DNS
  • Connections et travail à distance
  • Aspect pratique : ssh, rdesktop, vnc

Cours : 20 janvier 2017

  1. World Wide Web :
    • Historique
    • Navigateurs
    • Langages HTML et CSS
    • Outils de validation et qualité de pages Web
  2. HTML vs XML vs JSON
  3. Devoir 1
20 jan. 2017 
3    Travaux dirigés : 23 janvier 2017
  • Création d'un document 'markdown'
  • Création d'un document HTML
  • Partager les fichiers sur 'github'

Cours : 27 janvier 2017

  1. Maîtriser HTML et CSS
  2. JavaScript
    • Introduction
    • Navigateurs parlent JavaScript
    • Exercices
27 jan. 2017 
4    Travaux dirigés : 30 janvier 2017
  • Exercices sur JavaScript

Cours : 3 février 2017

  1. DOM
  2. JavaScript dans un navigateur
    • Manipuler DOM et CSS
    • Bibliothèque jQuery
03 fév. 2017 
5    Travaux dirigés : 6 février 2017
  • Exercices sur JavaScript

Cours : 10 février 2017

  1. Programmation avancée coté 'navigateur' (client)
    • Ajax
    • Local storage
  2. Limitations de la programmation coté 'navigateur'
    • Rôle d'un serveur
  3. Communication client/serveur
    • JSON (JavaScript Object Notation)
    • XML
10 fév. 2017 
6    Travaux dirigés : 13 février 2017
  • Exercices sur XML et JSON

Cours : 17 février 2017

  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
17 fév. 2017 
7    Travaux dirigés : 20 février 2017
  • Exercices sur HTML forms et HTTP

Cours : 24 février 2017

  1. Révision pour l'examen de mi-session
    • Exercices
    • Questions
24 fév. 2017 
8    Semaine d'études 03 mars 2017 
9    Travaux dirigés : 6 mars 2017
  • Exercices de révision pour l'examen

Examen de mi-session : 10 mars 2017

10 mars 2017 
10    Travaux dirigés : 13 mars 2017
  • Exercices pratiques sur SSH-* : création de clés
  • Créer et exécuter des programmes avec nodejs

Cours : 17 mars 2017

  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 TO`R et autres exemples d'utilisation de cryptographie
  2. Énoncé du Devoir 2
17 mars 2017 
11    Travaux dirigés : 20 mars 2017
  • Présentations du Devoir 1

Cours : 24 mars 2017

  1. Programmation côté serveur
    • Un serveur Web en nodejs
    • Introduction à l'express et jade
24 mars 2017 
12    Travaux dirigés : 27 mars 2017
  • Utilisation de librairie crypto avec nodejs

Cours : 31 mars 2017

  1. Coopération et protocoles «peer-to-peer»
    • Bittorrent
    • Bitcoin
  2. Session QA pour le Devoir 2
31 mars 2017 
13    Travaux dirigés : 3 avril 2017
  • Exercices sur l'express et jade

Cours : 7 avril 2017

  1. Révision pour l'examen final
    • Exercices
    • Questions
07 avr. 2017 
14    Travaux dirigés : 10 avril 2017
  • Exercices sur l'express et jade (suite)

Cours : 14 avril 2017 Vendredi Saint

14 avr. 2017 
15    Travaux dirigés : 17 avril 2017 Lundi de Pâques

Cours : 21 avril 2017

Examen final
21 avr. 2017 
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. Marty Stepp, Jessica Miller, and Victoria Kirst, Web Programming Step by Step.
  3. Marijn Haverbeke, JavaScript Éloquent. Une introduction moderne à la programmation. (http://fr.eloquentjavascript.net/contents.html)
  4. Internet technologies. Wikibooks. (https://wikibooks.org/wiki/Internet_Technologies)
  5. 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