Amener à la compréhension des concepts fondamentaux des technologies reliées aux principaux réseaux informatiques (ex. TCP/IP) par la programmation de protocoles et services dans un environnement client-serveur.
Historique, justification et architecture des réseaux de type WAN, MAN et LAN. Structure d'un réseau selon ISO et applications sur TCP/IP. Définitions et exemples de fonctions, protocoles et interfaces. Survol des topologies de sous-réseaux physiques et virtuels. Principaux réseaux actuels. Base théorique de la transmission, le système téléphonique, les convertisseurs (modem, codecs) et les terminaux physiques et virtuels (émulateur et protocole telnet). Transmission analogique et numérique; les multiplexeurs et les concentrateurs. Les différents types de commutation (circuits, paquets, messages). Détection d'erreurs et les protocoles de support. Survol des algorithmes de routage; les problèmes de congestion; les réseaux de type diffusion (radio, satellite), point à point (circuit virtuel, datagramme) et locaux (CSMA-CD et CSMA-CA), les répéteurs, ponts, passerelles, routeurs, commutateurs éthernet et les normes de cablage. Programmation des commutateurs et des routeurs. Environnement client-serveur TCP/IP. Classes d'adresses IP et stratégie de segmentation pour le sous-réseautage. Support des technologies NAT et PAT. L'établissement d'une communication TCP et UDP par l'utilisation de sockets et la programmation de protocoles (ex. ftp, echo, http, smtp, ...). Lecture d'une route dans une connection et calcul des délais client-serveur. Utilisation du DNS et la structure logicielle d'une adresse internet. Programmation de base d'un CGI comme interface de page html. Stratégies de programmation de logiciels serveurs itératifs et concourants avec ou sans connection. Capture et analyse de paquets IP. Notions sur la sécurité des tests de logiciel client et serveur sur l'internet.
Préalable(s): 8SIF104 et 8SIF109
Ce cours n'est dans aucun programme ouvert aux admissions.