Plan. Unix et Programmation Web. Cours 4. Bref historique d'internet (1/2) Bref historique d'internet (2/2)

Documents pareils
Programmation Internet Cours 4

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Les outils de création de sites web

Conduite et présentation des activités professionnelles. Prénom NOM BTS Assurance. Session 20XX

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Le réseau Internet.

Les services usuels de l Internet

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Présentation Internet

Serveurs de noms Protocoles HTTP et FTP

Module BD et sites WEB

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

Programmation Web. Introduction

Caruso33 : une association à votre service

e-commerce+ Solution globale e-commerce Trafic web E-commerce BtoB Travailler les contenus d'un site e-commerce : un critère de qualité

INTERNET, C'EST QUOI?

Services Réseaux - Couche Application. TODARO Cédric

Internet et Programmation!

L3 informatique Réseaux : Configuration d une interface réseau

Application Web et J2EE

Cours CCNA 1. Exercices

Introduction aux Technologies de l Internet

L3 informatique TP n o 2 : Les applications réseau

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Petite définition : Présentation :

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Formation Site Web. Menu du jour. Le web comment ça marche? Créer un site web Une solution proposée pour débuter La suite?

Architectures web/bases de données

Qu est ce qu Internet. Qu est-ce qu un réseau? Internet : à quoi ça sert? présentation des services. Exemple de configuration. Rôles des éléments

PLATEFORME GRAPHIQUE INSTITUT DU NOUVEAU MONDE

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

1 ère Université WEB. Courbevoie Samedi 21 octobre Votre site interactif sur internet.

Les origines du réseau Internet.

Théorie : internet, comment ça marche?

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Hébergement de site web Damien Nouvel

C r é a t i o n D e S i t e s. P o l C R O V A T T O

18 TCP Les protocoles de domaines d applications

Programmation Web. Madalina Croitoru IUT Montpellier

Développement des Systèmes d Information

HTML. Notions générales

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Réseaux et protocoles Damien Nouvel

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

4. SERVICES WEB REST 46

Adresse directe fichier : Adresse url spécifique sur laquelle le lien hypertext du Client doit être

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

Dans l'épisode précédent

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Culture informatique. Cours n 9 : Les réseaux informatiques (suite)

Introduction. Adresses

Formation HTML / CSS. ar dionoea

1. La plate-forme LAMP

Mr. B. Benaissa. Centre universitaire Nâama LOGO

GENERALITES. COURS TCP/IP Niveau 1

< Atelier 1 /> Démarrer une application web

Sana Sellami. Licence Professionnelle SIL

Dévéloppement de Sites Web

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Cisco Certified Network Associate

Les sites web avec NVU

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Internet. Glossaire. NOTE Au format PDF, en cliquant sur l image vous obtiendrez une séquence vidéo (QuickTime 3.0) de plus moins de une Minute.

Les applications Internet

Présentation du modèle OSI(Open Systems Interconnection)

Tour d horizon des CMS. Content Management System

Transfert de fichiers (ftp) avec dreamweaver cs5 hébergement et nom de domaine. MC Benveniste

Fonctionnement d Internet

LAB-Multimedia CMS. Guide d'auto-formation. Copyright by LAB-Multimedia 1/22

Bases de données et Interfaçage Web

Cours d'informatique «Internet» Session 1

Table des matières Hakim Benameurlaine 1

Le Web et Internet. A. Historique : B. Définitions : reliés entre eux via un système d interconnexion.

Formation Webmaster : Création de site Web Initiation + Approfondissement

Plan Général Prévisionnel (1/2) Internet et Outils L1/IO François Armand. Plan Général Prévisionnel (2/2) Unix, Réseau: Plan

Mise en œuvre des serveurs d application

Programme ASI Développeur

GroupWise. Novell. Démarrage rapide.

«Cachez-moi cette page!»

Atelier Internet de base ( Internet I ) ... JB 14 septembre 2008 (Canevas original : Marcel Pouliot)

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : et un masque

Manuel d intégration API FTP SMS ALLMYSMS.COM

Vulnérabilités et sécurisation des applications Web

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Initiation à html et à la création d'un site web

SII Stage d informatique pour l ingénieur

INSTALLATION APACHE POUR WINDOWS (XP OU 2000)

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Sommaire. -1-Computer en bref. Web en bref. Le web 3.0,...la mobilité. Evolution du Web web1.0, web2.0, web2.b, web3.0...

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Architecture Multi-Niveaux

Transcription:

Plan Unix et Programmation Web Cours 4 kn@lri.fr http://www.lri.fr/~kn 4.1 Internet et ses services 4.2 Fonctionnement du Web 4.3 Adressage des documents Web 4.4 Le protocole HTTP Bref historique d'internet (1/2) Bref historique d'internet (2/2) 2/36 1959-1968 : ARPA (Advanced Research Project Agency) crée un réseau de quelques machines capable de résister à une attaque. 1969 : ARPANET. Interconnexion des ordinateurs centraux des grandes universités et institutions américaines. Première utilisation du concept de paquet d'information. 1970-1982 : Interconnexion avec la Norvège et le Royaume-Uni. 1982 : Passage au protocole TCP/IP. Naissance de l'internet actuel. 1986 : «Autoroutes de l'information». Des super-ordinateurs et les premières connexions à fibres optiques sont utilisées pour accélérer le débit d'internet. 1987-1992 : Apparition des premiers fournisseurs d'accès. Les entreprises se connectent. 1993-2000 : Avènement du Web. Démocratisation du haut débit (vers 2000 pour la France). 2000-présent : Explosion des services en ligne, arrivée des réseaux sociaux, internet mobile, Cloud (stockage et calcul mutualisés accessible depuis internet). 3/36 4/36

Internet Ensemble de logiciels et protocoles basés sur TCP/IP Modèle Client/Serveur Un serveur fournit un service: courriel transfert de fichier (ftp) connexion à distance (ssh) Web (http) Plusieurs services peuvent être actifs sur la même machine (serveur). Un port (identifiant numérique) est associé à chaque service. Sur Internet, un service est identifié par: L'adresse IP de la machine sur laquelle il fonctionne Le numéro de port sur lequel le programme attend les connexions Exemples de services Service Protocole Port Description ftp File Transfer Protocol 20,21 Transfert de fichiers telnet Network Virtual 23 Shell à distance Terminal ssh Secure Shell 22 Shell à distance crypté mail Simple Mail Transfer 25 Envoi de mail Protocol pop Post Office Protocol 110 Récupération de mail imap Internet Message 143 Synchronisation de mails Access Protocol nslookup Domain Name System 42 Serveur de noms http Hyper Text Transfer Protocole 80 Web World Wide Web (1/2) 5/36 World Wide Web (2/2) 6/36 Service de distribution de page hypertexte Une page hypertexte contient des références immédiatement accessibles à d'autres pages (pointeurs ou liens hypertextes) Les pages sont décrites dans le langage HTML (HyperText Markup Language) Architecture client/serveur: Les pages sont stockées sur le serveur Les pages sont envoyées au client (navigateur Web) qui en assure le rendu Utilise le protocole HTTP pour les échanges entre le client et le serveur Concepts clé: URL : localisation d'une page Web («adresse de la page») HTTP : protocole de communication entre un client et un serveur Web HTML : langage de description des pages Web Évolutions récentes (Web 2.0, internet mobile, Cloud, ) Standardisation du contenu multimédia (images, vidéos et sons en streaming) Contenu interactif avancé (stockage de fichier coté client, rendu 3D, ) Uniformisation de nombreuses extensions ad-hoc: HTML5 7/36 8/36

Plan Fonctionnement du Web Requêtes Client (Navigateur Web) Internet Serveur (programme) 4.1 Internet et ses services 4.2 Fonctionnement du Web 4.3 Adressage des documents Web 4.4 Le protocole HTTP Client (Machine) HTML CSS Javascript Réponses (pages, images, vidéos, scripts, ) Documents Serveur (machine) PHP Java 9/36 10/36 Côté client Côté serveur Le navigateur : Analyse l'url demandée Obtient l'adresse IP auprès du serveur DNS Établit une connexion (potentiellement sécurisée) avec le serveur Envoie une requête HTTP au serveur Récupère la page envoyée par le serveur dans sa réponse Analyse la page et récupère les éléments référencés : images, sons, Effectue le traitement du code client Met en forme le contenu et l'affiche dans la fenêtre Un listener (thread particulier) attend les connexions sur un port par défaut (80 dans le cas de HTTP) À chaque nouvelle connexion, le listener crée un thread de traitement et se remet en attente Le thread de traitement vérifie la validité de la requête : le document demandé existe? le client est autorisé à accéder au document? Le thread de traitement répond à la requête : Exécution de code côté serveur, récupération de données dans une BD, Envoi de la page au client 11/36 12/36

Plan Adressage des documents Web (1/3) URL : Uniform Resource Locator identifie un document sur internet Une URL se décompose en 3 parties 4.1 Internet et ses services 4.2 Fonctionnement du Web 4.3 Adressage des documents Web 4.4 Le protocole HTTP protocole (comment?) adresse (où?) document (quoi?) Syntaxe (simplifiée) : Exemple : protocole://adresse/document http://www.lri.fr/~kn/teach_fr.html Adressage des documents Web (2/3) 13/36 Adressage des documents Web (3/3) 14/36 On peut aussi préciser un numéro de port, des paramètres et un emplacement : Exemple : protocole://adresse:port/document?p1=v1&p2=v2#empl http://www.youtube.com:80/results?search_query=tbbt#search-results Le serveur utilise les paramètres passés par le client dans l'url pour calculer le contenu de la page (changer la chaîne «tbbt» ci-dessus et essayer) La racine d'un site Web (ex: http://www.lri.fr/) correspond à un répertoire sur le disque du serveur (ex: /var/www). Le fichier http://www.lri.fr/index.html se trouve à l'emplacement /var/www/index.html Le serveur Web peut aussi effectuer des réécritures d'adresses : http://www.lri.fr/~kn/index.html devient /home/kn/public_html/index.html 15/36 16/36

Permissions Le serveur Web (dans le cas du 336 le programme apache) est un daemon. Il est normalement lancé par un utilisateur fictif (nommé httpd ou www-data dans les distributions Unix standard). Le répertoire de cet utilisateur est par défaut /var/www. Question : quelles permissions, au minimum, doivent avoir les fichiers de ce répertoire pour que le serveur Web puisse les afficher. Et les sous-répertoires? Réponse : lecture pour les fichiers, exécution pour les répertoires si les fichiers contenu sont accessibles uniquement via des liens, lecture et exécution si les fichiers des répertoires pour que les répertoires soit affichables. Question : même question pour les fichiers du répertoire /home/kim/public_html, sachant que les utilisateurs et le serveur Web ne sont pas dans le même groupe Réponse : les même permissions que précédemment doivent êtres accordées à tous Plan 4.1 Internet et ses services 4.2 Fonctionnement du Web 4.3 Adressage des documents Web 4.4 Le protocole HTTP Caractéristiques du protocole HTTP 17/36 Format des messages HTTP 18/36 Sans connexion permanente: Le client se connecte au serveur, envoie sa requête, se déconnecte Le serveur se connecte au client, envoie sa réponse, se déconnecte Indépendant du contenu : permet d'envoyer des documents (hyper) texte, du son, des images, Sans état: chaque paire requête/réponse est indépendante (le serveur ne maintient pas d'information sur le client entre les requêtes) Protocole en mode texte Les messages ont la forme suivante Ligne initiale CR LF zéro ou plusieurs lignes d'option CR LF CR LF Corp du message (document envoyé, paramètres de la requête, ) Requête la première ligne contient un nom de méthode (GET, POST, HEAD, ), le paramètre de la méthode et la version du protocole Réponse la version du protocole, le code de la réponse (200, 404, 403, ) et un message informatif 19/36 20/36

Démo Plan 4.1 Internet et ses services 4.2 Fonctionnement du Web 4.3 Adressage des documents Web 4.4 Le protocole HTTP HTML 21/36 Document HTML 22/36 HyperText Markup Language : langage de mise en forme de documents hypertextes (texte + liens vers d'autres documents). Développé au CERN en 1989. 1991 : premier navigateur en mode texte 1993 : premier navigateur graphique (mosaic) développé au NCSA (National Center for Supercomputing Applications) est un document semi-structuré dont la structure est donnée par des balises Exemple Rendu par défaut Un texte <b>en gras</b> Un texte en gras <a href="http://www.u-psud.fr">un lien</a> Un lien <ul > <li>premièrement</li> <li>deuxièmement</li> </ul> Premièrement Deuxièmement On dit que <toto> est une balise ouvrante et </toto> une balise fermante. On peut écrire <toto/> comme raccourci pour <toto></toto>. 23/36 24/36

Historique du langage HTML 1973 : GML, Generalised Markup Language développé chez IBM. Introduction de la notion de balise. 1980 : SGML, Standardised GML, adopté par l'iso 1989 : HTML, basé sur SGML. Plusieurs entreprises (microsoft, netscape,... ) interprètent le standard de manière différente 1996 : XML, extensible Markup Language norme pour les documents semistructurés (SGML simplifié) 2000 : XHTML, version de HTML suivant les conventions XML 2008 : Première proposition pour le nouveau standard, HTML5 2014 : Standardisation de HTML5 XHTML vs HTML On utilise XHTML dans le cours. Différences avec HTML: Les balises sont bien parenthésées (<a> <c> </c> </b> est interdit) Les balises sont en minuscules Les avantages sont les suivants HTML autorise les mélanges majuscule/minuscule, de ne pas fermer certaines balise Les navigateurs corrigent ces erreurs de manières différentes Le document est structuré comme un programme informatique (les balises ouvrantes/fermantes correspondent à { et }). Plus simple à débugger. Rôle d'(x)html 25/36 Exemple de document 26/36 Séparer la structure du document de son rendu. La structure donne une sémantique au document : ceci est un titre ceci est un paragraphe ceci est un ensemble de caractères importants Cela permet au navigateur d'assurer un rendu en fonction de la sémantique. Il existe différents types de rendus: graphique interactif (Chrome, Firefox, Internet Explorer, ) texte interactif (Lynx, navigateur en mode texte) graphique statique (par ex: sur livre électronique) rendu sur papier graphique pour petit écran (terminal mobile) (liste des balises données sur la feuille de TD 4!) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>un titre</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> </head> <body> <h1>titre de section</h1> <p> premier paragraphe de texte. On met un <a href="http://www.lri.fr">lien</a> ici. </p> <!-- on peut aussi mettre des commentaires --> </body> </html> 27/36 28/36

Structure d'un document XHTML Pour être valide un document XHTML contient au moins les balises suivantes : Une balise html qui est la racine (elle englobe toutes les autres balises). La balise html contient deux balises filles: head et body La balise head représente l'en-tête du document. Elle peut contenir diverses informations (feuilles de styles, titre, encodage de caractères, ). La seule balise obligatoire dans head est le titre (title). C'est le texte qui est affiché dans la barre de fenêtre du navigateur ou dans l'onglet. la balise body représente le contenu de la page. On y trouve diverses balises (div, p, table, ) qui formatent le contenu de la page Titres Les balises <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, permettent de créer des titres de section, sous-section, sous-sous-section, Titre de niveau 1 Titre de niveau 2 Titre de niveau 3 Titre de niveau 4 Titre de niveau 5 Titre de niveau 6 Paragraphes 29/36 Mise en forme du texte 30/36 Des paragraphes de textes sont introduits avec les balises <p>. Par défaut chaque paragraphe implique un retour à la ligne: Les balises <b> (bold, gras), <i> (italic, italique), <u> (underlined, souligné) <em> (emphasis, important) et beaucoup d'autres permettent de décorer le texte. <p>lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud <p><b>lorem ipsum dolor</b> sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. <u>ut enim ad minim veniam</u>, <em>quis</em> nostrud exercitation ullamc</p> exercitation ullamc</p> <p>nouveau paragraphe</p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamc Nouveau paragraphe <p><i>nouveau</i> paragraphe</p> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamc Nouveau paragraphe Remarque : par défaut, les espaces, retour à la ligne, sont ignorés et le texte est reformaté pour remplir la largeur de la page. 31/36 32/36

Tableaux On peut formater des tables en utilisant : La balise <table> pour délimiter la table La balise <tr> pour délimiter une ligne de la table La balise <th> pour délimiter une tête de colonne La balise <td> pour délimiter une case L'attribut colspan permet de fusionner des colones Listes On peut créer des listes énumérées (avec <ol>, ordered list) ou non énumérées (avec <ul>, unordered list). Chaque ligne est limitée par une balise <li> ( list item) <ul> <li> Un élément </li> <li> <ol> <li> Un autre élément </li> <li> <ol> <li> Un sous-élément</li> <table> <tr> <th>nom</th> <th>prénom</th> <th>note 1</th> <th>note 2</th></tr> <tr> <td>foo</td> <td>bar</td> <td> 15</td> <td>12</td> </tr> <tr> <td>doe </td> <td>jonh</td> <td colspan="2">absent</td></tr> </table> </ol> </li> </ol> <li>le dernier</li> </ul> <li> Un autre sous-élément</li> Nom Prénom Note 1 Note 2 Foo Bar 15 12 Doe Jonh Absent Les espaces et retours à la ligne ne sont là que pour rendre le code lisible! Un élément 1. Un autre élément 2. 1. Un sous élément 2. Un autre sous élément Le dernier Liens hyper-texte 33/36 Remarques générales 34/36 On peut faire référence à une autre ressource en utilisant un lien hyper-texte (balise <a/> et son attribut href). La cible du lien peut être absolue (une URL complète avec le protocole, par exemple https://www.lri.fr) ou relative (par exemple foo.html). Si l'url est relative, le chemin est substitué à la dernière composante de l'url de la page courante. Si l'url commence par un # elle référence, l'attribut id d'un élément de la page: <a href="https://www.lri.fr">le LRI</a> <a href="../../../index.html">un lien</a> <a href="#foo">on va vers le titre</a> <h1 id="foo">le titre</h1> On n'a normalement pas le droit de mettre n'importe quel élément n'importe où (i.e. pas de <li> tout seul) Il existe une spécification précise de HTML 5 (plusieurs dizaines de pages uniquement pour les balises) Il existe aussi des validateurs, il faut les utiliser le plus possible De manière générale, les espaces sont ignorés, on prendra donc bien soit de les utiliser judicieusement pour rendre le code de la page lisible Tous les éléments ont un style (moche) par défaut. On verra comment modifier ce style grâce à des propriétés CSS. Le LRI Un lien On va vers le titre 35/36 36/36