Université Lyon 1
Arqus
Nombre de crédits de l'UE : 3
Code APOGEE : INF1014L
    Responsabilité de l'UE :
GLUCK OLIVIER
 olivier.gluckuniv-lyon1.fr
04.72.44.81.91
LADJAL HAMID
 hamid.ladjaluniv-lyon1.fr
04.72.43.16.36
    Contact scolarité :
GUIGNARD FRANCOISE
 francoise.guignarduniv-lyon1.fr
04.72.43.15.51
    Type d'enseignement
Nb heures *
Cours Magistraux (CM)
12 h
Travaux Pratiques (TP)
18 h

* Ces horaires sont donnés à titre indicatif.

    Pré-requis :
Aucun
    Compétences attestées (transversales, spécifiques) :
Compétences spécifiques principales :
Expliquer le fonctionnement d'Internet et ses principales applications
Concevoir une page web contenant un formulaire ainsi que sa mise en forme, y associer un traitement côté client et générer des contenus dynamiques côté serveur
Décrire ce qu'il se passe sur Internet quand un navigateur web demande une page à un serveur web
Décrire le fonctionnement d'Internet, ses principales applications et protocoles
Utiliser un système d’exploitation (ligne de commandes...) en mode utilisateur et administrateur
Travailler sur une machine distante
Gérer les droits d’accès standard des utilisateurs
Définir et mettre en œuvre l’architecture d’un réseau d’entreprise
Identifier et classifier les principaux protocoles et normes des réseaux
Identifier et utiliser les équipements d’interconnexion des réseaux
Administrer un ou plusieurs réseaux d'ordinateurs interconnectés
Envoyer des requêtes simples à un serveur Web ou DNS et interpréter leurs réponses
Configurer un commutateur/routeur
Configurer et dépanner un réseau
Connecter un réseau à Internet
Lire, comprendre, dépanner, optimiser une table de routage
Capturer et analyser les traces d’un réseau
Lire les fichiers de configuration des équipements réseaux

Compétences spécifiques complémentaires :
Identifier et manipuler les représentations des données en machine
Utiliser des composants logiciels existants et les intégrer dans un développement
Choisir de façon raisonnée la manière de stocker et d’exploiter les données persistantes d’un logiciel
Concevoir des algorithmes répondant à un cahier des charges, en choisissant les structures de données adéquates
Lire et analyser une spécification, en tirer une réalisation
Identifier et manipuler les représentations des données en machine
Concevoir un algorithme itératif ou récursif adapté à une structure de données
Dérouler un algorithme
Programmer un logiciel implémentant une spécification fonctionnelle et technique
Lire et analyser une spécification, en tirer une réalisation
Établir un jeu de tests répondant à une spécification et le mettre en œuvre
Résoudre un problème logiciel (erreur à la compilation, à l’exécution)
Présenter un ensemble d’informations à l’utilisateur à travers une interface (Web, client lourd)
Analyser et interpréter les résultats produits par l'exécution d’un programme
Interpréter (à la main et via un programme) un code écrit dans un langage

    Programme de l'UE / Thématiques abordées :
Lien vers les supports de cours : http://perso.univ-lyon1.fr/olivier.gluck/supports_enseig.html#LIFASR2

Objectifs :
Vous faire découvrir les réseaux informatiques et le fonctionnement d’Internet et ses applications 
Vous faire comprendre tout ce qui se passe quand un navigateur web demande une page web à un serveur web
Vous faire comprendre comment fonctionne votre connexion à Internet chez vous
Vous initier à la programmation web
Vous initier à la configuration d’un réseau informatique
Vous donner des éléments pour résoudre des pannes simples du type « Internet ne marche pas ! »

Les cours :
CM1 : Internet, les réseaux et le web
CM2 : Pages HTML et feuilles de styles CSS
CM3 : Web interactif, formulaires, pages dynamiques et PHP
CM4 : Protocole HTTP, méthodes GET et POST
CM5 : Les applications d’Internet : le web, le mail, la connexion à distance, la résolution de noms...
CM6 : La couche transport : les protocoles TCP et UDP 
CM7 : Le protocole IP
CM8 : Les protocoles Ethernet, ARP et ICMP. Synthèse des échanges entre un client et serveur Web

Les TP :
TP1 et TP2 : programmation du jeu 2048
TP1 : concevoir une page statique simple en HTML/CSS, comprendre les interactions avec le serveur Web via un formulaire et l’exécution d’un petit programme PHP
TP2 : programmation du jeu côté serveur en PHP, apprendre à debugger un programme PHP grâce à un fichier de logs
TP3 et TP4 : programmation d’un réseau social
TP3 : concevoir la partie cliente grâce à des formulaires, gestion d’un répertoire partagé, écriture dans des fichiers avec des métadonnées
TP4 : concevoir l’affichage du réseau social par un tri et une lecture des fichiers stockés dans le répertoire partagé, faire des feuilles de styles CSS pour personnaliser l’affichage
TP5 et TP6 : initiation aux réseaux informatiques
Mettre en place une architecture réseau permettant des échanges entre un navigateur web et un serveur web
Concevoir dans un émulateur de réseaux une architecture composée d’un PC client avec navigateur web, d’une box, de deux routeurs intermédiaires, d’un serveur web et d’un serveur DNS
Configurer les équipements : adressage des cartes réseaux, routage, NAT, DNS
Tester la configuration et le bon fonctionnement de l’architecture
Observer les échanges HTTP, DNS, TCP, IP, ARP, Ethernet et être capable de les analyser
Observer la différence entre HTTP et HTTPS

Compétences techniques acquises :
Savoir se connecter au serveur par ssh pour y stocker sa page web
Savoir faire une copie de fichiers à distance avec scp
Savoir gérer l'emplacement des fichiers sur le serveur web
Savoir utiliser les commandes Unix suivantes : ls, mv, mkdir, cp, echo, cat, touch, pwd, rm
Savoir écrire le code HTML d'une page web simple contenant un formulaire
Savoir inclure une feuille de styles dans une page web
Savoir ajouter quelques éléments de styles pour améliorer l'affichage
Savoir imbriquer des blocs div pour les positionner, leur appliquer un style
Savoir afficher les éléments reçus par le serveur après soumission d'un formulaire
Savoir inclure un fichier de fonctions PHP dans une page HTML
Savoir écrire du code PHP imbriqué dans du code HTML/CSS et vice-versa
Savoir définir et appeler une fonction en PHP avec ou sans passage de paramètres
Savoir écrire des conditions simples (avec if ou switch), des boucles simples (avec for, foreach, while)
Savoir utiliser/manipuler les tableaux et les chaines de caractères en PHP
Savoir écrire/lire dans un fichier texte côté serveur
Savoir utiliser les fonctions PHP suivantes : explode, file, date, file_put_contents, file_get_contents, empty, rand, array_fill
Savoir gérer un compteur stocké dans un fichier texte côté serveur
Savoir transmettre une variable d'une page à une autre soit avec un champ caché dans un formulaire, soit en stockant la variable dans un fichier côté serveur
Savoir observer les échanges entre le client et le serveur avec Firebug
Savoir visualiser les styles qui s'appliquent avec Firebug
Savoir ce qu'est une adresse IPv4, un sous-réseau, un masque de sous-réseau, une table de routage
Savoir écrire/convertir le masque en notation / ou décimale pointée (Exemple : /8 ou 255.0.0.0)
Savoir faire des conversions binaire/décimal/hexadécimal
Savoir calculer la première/dernière adresse IP pour une machine dans un sous-réseau donné (Exemple : 192.168.10.1 et 192.168.10.14 dans 192.168.10.0/28)
Savoir calculer l'adresse de diffusion dans un sous-réseau donné (Exemple : 192.168.10.15 dans 192.168.10.0/28)
Savoir calculer le nombre maximum de machines dans un sous-réseau donné (Exemple : 2^4-2=14 dans 192.168.10.0/28)
Savoir calculer l'adresse du sous-réseau d'une machine à partir de son adresse IP/masque (Exemple : 192.168.10.16/28 pour la machine 192.168.10.21/28)
Savoir calculer une liste de sous-réseaux dans un réseau donné (Exemple : 4 sous-réseaux dans 10.0.0.0/8 donne 10.0.0.0/10, 10.64.0.0/10, 10.128.0.0/10, 10.192.0.0/10)
Savoir décrire l'encapsulation d'une requête HTTP, DNS, ICMP c'est à dire donner le format de la trame Ethernet en indiquant dans l'ordre tous les protocoles encapsulés avec leur taille

    Liste des autres Parcours / Spécialité / Filière / Option utilisant cette UE :
Date de la dernière mise-à-jour : 21/06/2017
SELECT MEN_ID, `MEN_DIP_ABREVIATION`, `MEN_TITLE`, `PAR_TITLE`, `PAR_ID` FROM parcours INNER JOIN ue_parcours ON PAR_ID_FK=PAR_ID INNER JOIN mention ON MEN_ID = PAR_MENTION_FK WHERE PAR_ACTIVATE = 0 AND UE_ID_FK='16361' ORDER BY `MEN_DIP_ABREVIATION`, `MEN_TITLE`, `PAR_TITLE`