Interopérabilité (Episode I)

Notes de l'orateur

Interopérabilité

Bonjour !

  • Bruno Bord
  • 37 ¾ ans
  • Développeur web depuis 2001
  • Dev 1.0 (Izarbel)
  • remplace Nadine Couture au pied levé, merci d'être indulgent

Notes de l'orateur

Objectifs

Notes de l'orateur

1. Comprendre

Notes de l'orateur

2. Faire

Notes de l'orateur

Interopérabilité

(une) définition

Capacité d’échange de données et de services entre systèmes en dépit de leurs différences (hétérogénéité)

Notes de l'orateur

Interopérabilité

Autrement dit...

Les systèmes parlent la même langue

Notes de l'orateur

Internet ?

Internet Map

Notes de l'orateur

Internet ?

Internet Map

Notes de l'orateur

Des réseaux, pourquoi ?

Notes de l'orateur

Des réseaux, pourquoi ?

  • Faire communiquer des "entités" (gens / matériels)
  • Échanger des données
  • Partager des services

Notes de l'orateur

Exemple : Partage d'imprimante

Notes de l'orateur

Exemple : Jouer à Starcraft2

Notes de l'orateur

Un réseau, comment ?

Notes de l'orateur

Qui parle ?

Notes de l'orateur

Un serveur

C'est un programme qui attend (on dit aussi "écoute") des instructions et qui rend des services.

(par extension, on désigne aussi la machine physique sur laquelle tourne le programme)

Notes de l'orateur

Daemon

Notes de l'orateur

Quels services ?

  • Afficher une page web (serveur HTTP Apache, Nginx)
  • Partager des fichiers (Samba, FTP, Netware)
  • Proposer des données (Bases de données MySQL, Postgresql, Oracle,...)
  • Envoyer des emails (SMTP)
  • Recevoir des emails (POP / IMAP)
  • ...

Notes de l'orateur

Qui (d'autre) parle ?

Notes de l'orateur

Le client

C'est un programme qui adresse des requêtes au serveur et en réceptionne les réponses.

(par extension, on désigne aussi la machine sur laquelle tourne le programme)

Notes de l'orateur

Quels programmes ?

  • Outlook, Thunderbird (emails)
  • Chrome, Firefox, Internet Explorer (web)
  • Skype
  • ...

Notes de l'orateur

Quelle langue ça parle ?

Notes de l'orateur

Protocoles

C-3PO

Notes de l'orateur

Protocoles

  • UDP
  • TCP
  • IP
  • SSH
  • SMTP
  • (S)FTP
  • POP
  • IMAP
  • HTTP(S)

Notes de l'orateur

Protocoles

  • Discutés et Approuvés (W3C, IETF,...)
  • Normés et documentés (RFCs)
  • Distincts (chaque outil sa tâche)

Notes de l'orateur

Qu'est-ce qu'un protocole ?

  • Règles de formatage
  • Ordre d'envoi / réception (qui parle en premier et ce qu'il dit)
  • Gestion des succès / échecs (pourquoi ça a pas marché)
  • (éventuellement) gestion de la sécurité (cf. SSH, HTTPS...)

Notes de l'orateur

Pause, respiration, questions

Notes de l'orateur

Topologie des réseaux

Notes de l'orateur

Connexions

Interconnexion 3

Notes de l'orateur

Connexions

Interconnexion 4

Notes de l'orateur

Connexions

Interconnexion 12

Notes de l'orateur

Autres modes

Anneau

Ring

(inconvénient majeur : collisions)

Notes de l'orateur

Autres modes

Arbre

Tree

(inconvénient majeur : si un noeud casse, les "branches" sont coupées)

Notes de l'orateur

Autres modes

Bus

Bus

(inconvénient majeur : repose sur un seul canal)

Notes de l'orateur

Autres modes

Étoile

Star

(inconvénient majeur : coût en liaisons)

Notes de l'orateur

Connexions

Maillage

Maillage

Notes de l'orateur

Terminologie

  • LAN : Local Area Network
  • WAN : Wide Area Network
  • TCP : Transmission Control Protocol
  • IP : Internet Protocol
  • ADSL: Asymmetric Digital Subscriber Line
  • WWW: World Wide Web

Notes de l'orateur

Web

Internet + Web

Notes de l'orateur

Web ?

Vous en faites tous les jours

  • Facebook
  • Twitter
  • Wikipedia
  • Google (search, maps, mail,...)

Notes de l'orateur

Pas web

Internet, mais pas web

  • MSN
  • MMS
  • VoIP
  • Télé par l'ADSL (streaming)
  • Bittorrent
  • Mail (spam)

Notes de l'orateur

Merci à lui !

Tim Berners-Lee

Sir Tim Berners-Lee

Notes de l'orateur

6 août 1991

Notes de l'orateur

1992: 26 sites internet

Notes de l'orateur

1992: 26 sites internet “fiables”

Notes de l'orateur

HTTP

Dialogue HTTP

Notes de l'orateur

Dialogue

Client: Hey, serveur? Tu as pas la page d'accueil de estia.fr ?
Serveur: Ouaip, bouge pas, je te l'envoie.
Client: Super. Oh dis-moi, je vois au moins trois images et des feuilles de style, tu peux pas me les envoyer aussi ?
Serveur: Allez, zou. C'est du jpeg, du png et du css hein ?
Client: Cool, merci. Bon, je peux afficher ça sur l'écran, merci.

< EOT >

Notes de l'orateur

Dialogue

Client: GET /
Serveur: 200 OK. (index.html) text/html
Client: GET /image1.jpg
Client: GET /image2.jpg
Client: GET /image3.png
Client: GET /joli.css
Serveur: 200 OK. (joli.css) text/css
Serveur: 200 OK. (image2.jpg) image/jpeg
Serveur: 200 OK. (image3.png) image/png
Serveur: 200 OK. (image1.jpg) image/jpeg
Client: ...

< EOT >

Notes de l'orateur

Les verbes HTTP

Notes de l'orateur

GET

Notes de l'orateur

POST

Notes de l'orateur

HEAD

Notes de l'orateur

(delete, patch, connect, trace, put, options)

Notes de l'orateur

Codes retours

Notes de l'orateur

200: OK

Notes de l'orateur

404: NOT FOUND

Notes de l'orateur

403: FORBIDDEN

Notes de l'orateur

500: SERVER ERROR

Notes de l'orateur

301 ou 302: REDIRECT

Notes de l'orateur

Retours HTTP

  • 20x: tout va bien
  • 30x: bien, mais c'est la porte à côté
  • 40x: erreur du client
  • 50x: oooops, l'erreur est chez nous

Notes de l'orateur

WWW ?

Notes de l'orateur

Hypermedia

Notes de l'orateur

Hypertexte

  • Texte (presque) brut
  • des liens
  • vous connaissez : navigation sur Wikipedia, par ex.

Notes de l'orateur

Hypermedia

Extension de la notion d'hypertexte à toutes les formes de media

  • images,
  • sons,
  • animations,
  • meta-informations,
  • styles,
  • scripts...

Notes de l'orateur

Réseaux

Notes de l'orateur

Hypermedia + Réseaux == WWW

Notes de l'orateur

Hypermedia

  • Décentralisation des ressources (une page composée à partir de media éparpillés)
  • Texte enrichi (vs. texte "brut")
  • Accessible via les réseaux

Notes de l'orateur

W3C

  • World
  • Wide
  • Web
  • Consortium

Notes de l'orateur

W3C

W3C's primary activity is to developing protocols and guidelines that ensure long-term growth for the Web. W3C's standards define key parts of what makes the World Wide Web work.

(source: http://www.w3.org/Help/)

Notes de l'orateur

W3C

  • groupement des acteurs du web
  • normes et recommendations
  • groupes de travail
  • le présent et...
  • le futur !

Notes de l'orateur

URL

Notes de l'orateur

Uniform Resource Locator

Notes de l'orateur

URL

http://www.estia.fr/web-pratique/a-venir.html

Notes de l'orateur

URL

Protocole

http://www.estia.fr/web-pratique/a-venir.html

  • En anglais, "scheme"
  • ftp://ftp.inria.fr/pub
  • file:///home/tui/public_html/index.html
  • https://mail.google.com/

Notes de l'orateur

URL

TLD

http://www.estia.fr/web-pratique/a-venir.html

  • TLD == Top-Level Domain
  • pays : .fr, .uk, .ie, .it...
  • autres : .com / .net / .gov / .edu / .biz...

Notes de l'orateur

URL

Domaine

http://www.estia.fr/web-pratique/a-venir.html

Autres exemples :

  • mozilla.org
  • nasa.gov
  • perdu.com

Notes de l'orateur

URL

Serveur

http://www.estia.fr/web-pratique/a-venir.html

  • Généralement le nom de la machine physique
  • le "www" peut souvent être ignoré
  • cas : http://fr.yahoo.com/
  • autre cas : http://ceci.est.toutafait.possible.com/

Notes de l'orateur

Quiz

news.bbc.co.uk

  • le TLD ?
  • le domaine ?
  • c'est quoi "news" ?

Notes de l'orateur

URL

Chemin

http://www.estia.fr/web-pratique/a-venir.html

  • peut être "/" (racine)
  • ne représente pas forcément un chemin physique

Notes de l'orateur

URL

Arguments

http://www.example.com/this/is/?argument=1&other=abcd

  • utilisé pour le passage de variables (langages de script)
  • inconvénient : un peu laid, mal-lisible

Notes de l'orateur

URL

Ancres

http://www.example.com/#p1
http://en.wikipedia.org/wiki/Anchor#Overview

  • références au sein d'une page (paragraphe, section...)
  • ne recharge pas la page si on reste avec la même URL "racine"

Notes de l'orateur

Hypermedia => URL

Notes de l'orateur

HTML

Lego

Notes de l'orateur

Fin du premier épisode

Notes de l'orateur

Pause, respiration, questions

Notes de l'orateur

Colophon

Notes de l'orateur