Les technologies du Web, en condensé Georges Gouriten georges.gouriten@telecom-paristech.fr Master COMASIC, 8 février 2012
8h30 10h et 10h15 11h45 Les technologies fondatrices du Web 13h30 15h et 15h15 16h45 Les technologies modernes du Web
côté client côté serveur considérations pratiques
Que sont les clients Web? côté client Le javascript Perspectives côté serveur considérations pratiques
Que sont les clients Web? côté client Le javascript Perspectives côté serveur considérations pratiques
Un client Web gère les intéractions HTTP et le contenu échangé
http://pierre.senellart.com/index.html text/html client serveur <html> <head>.. <link rel="stylesheet" type="text/css" href="/style/style.css">.. <script type="application/javascript" src="/style/style.js"></script> </head>.. client http://pierre.senellart.com/style/style.css text/css serveur client http://pierre.senellart.com/style/style.js application/javascript serveur.........
démonstration http://pierre.senellart.com
La faune des clients Web navigateurs graphiques clients dédiés détails à venir applications iphone, androïd industrie autres robots, navigateurs textuels, auditifs le tout avec ou sans plugins Flash Applets java Silverlight...
Il est plus facile de privilégier des technologies supportées par de nombreux clients Attention aux versions http://en.wikipedia.org/wiki/internet_media_type#list_of_common_media_types
Que sont les clients Web? côté client Le javascript Perspectives côté serveur considérations pratiques
TD de javascript
client page.html + javascript.js text/html + application/js serveur click client ajax_data.txt text/html serveur requête via Javascript mise à jour de la page dynamique
http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first
Que sont les clients Web? côté client Le javascript Perspectives côté serveur considérations pratiques
Les clients évoluent Evolution des standards Le javascript s'enrichit http://www.html5rocks.com/ http://jquery.com/ http://css3.mikeplate.com/ http://javascriptlibraries.com/ Vers plus de polyvalence des clients requêtes, mémoire, affichage, calcul, compression..
côté client les architectures côté serveur les systèmes de publication Web les systèmes de gestion des données les autres systèmes considérations pratiques
côté client les architectures côté serveur les systèmes de publication Web les systèmes de gestion des données les autres systèmes considérations pratiques
Diversité des architectures, exemples (1) client serveur
Diversité des architectures, exemples (2) serveur 1 client répartiteur serveur 2 serveur 3
Diversité des architectures, exemples (3) serveur 1 client répartiteur serveur 2 serveur 3 Serveur de données
L'ingénierie des service Web est un métier d'avenir e.g. http://engineering.twitter.com/
L'architecture REST (1) Identification of resources Manipulation of resources through their representations Self-descriptive messages Hypermedia as the engine of application state
L'architecture REST (2) Source : http://en.wikipedia.org/wiki/representational_state_transfer
côté client les architectures côté serveur les systèmes de publication Web les systèmes de gestion des données les autres systèmes considérations pratiques
TD de PHP
côté client les architectures côté serveur les systèmes de publication Web les systèmes de gestion des données les autres systèmes considérations pratiques
Le NoSQL (1) not only SQL orienté récupération et ajouts larges volumes, pas dans une logique relationnelle moins de garantie que SQL (non ACID) exemples d'utilisation : tweets, logs, graphe
Le NoSQL (2) Document Clé-valeur CouchDB Cassandra MongoDB.. Redis (RAM) Graph Neo4J FlockDB Tabulaire Hbase Objet... Openlink Virtuoso
côté client les architectures côté serveur les systèmes de publication Web les systèmes de gestion des données les autres systèmes considérations pratiques
Les middlewares (intergiciels) Les middlewares assurent la communication entre différentes applications, indépendament des ordinateurs, des systèmes ou des langages.
Python 2.7, tourne sous Debian, machine A Java 7, tourne sous windows, machine B explorateur de page Web page Web analyse Middleware page Web analyse analyseur de page Web
Interface locale Windows e.g. programme Java ou socket Interface réseau Windows e.g. client/serveur HTTP Interface réseau Debian e.g. client/serveur HTTP Interface locale Debian e.g. programme python ou socket
Quelques middlewares http://thrift.apache.org/ http://www.rabbitmq.com/ http://www.corba.org/
Les autres systèmes analyse nettoyage profils utilisateurs, recommendation, statistiques antispam, filtrage, contenu périmé gestion des pannes suivi réplication, transfert performances, localisation
côté client côté serveur considérations pratiques
Gestion de la conception agilité aller à l'essentiel commencer par le plus simple être itératif, tester rapidement penser aux implications long termes des choix technologiques mais, différentes technologies pour différentes étapes ouverture dynamisme du monde de l'open source évolution rapide des technologies écosystèmes d'innovation
Sécurité Le Web est un endroit exposé ingénierie sociale techniques d'injections (SQL/shell, XSS) DoS
Nom de domaine Registraire (accrédité) Gestion des sous-domaines
Hébergement VPS Serveurs dédiés Cloud (nuage)
Merci pour votre attention georges.gouriten@telecom-paristech.fr PS : dbweb recrute :-)
source des slides de Pierre Senellart : http://pierre.senellart.com/enseignement/2011-2012/mnt/
Contexte public avec modifications Par le téléchargement ou la consultation de ce document, l utilisateur accepte la licence d utilisation qui y est attachée, telle que détaillée dans les dispositions suivantes, et s engage à la respecter intégralement. La licence confère à l'utilisateur un droit d'usage sur le document consulté ou téléchargé, totalement ou en partie, dans les conditions définies ci-après et à l'exclusion expresse de toute utilisation commerciale. Le droit d'usage défini par la licence autorise un usage à destination de tout public qui comprend : le droit de reproduire tout ou partie du document sur support informatique ou papier le droit de diffuser tout ou partie du document au public sur support papier ou informatique, y compris mise à la disposition du public sur un réseau numérique le droit de modifier la forme ou la présentation du document le droit d'intégrer tout ou partie du document dans un document composite et de le diffuser dans ce nouveau document à condition que : L'auteur soit informé le nouveau document soit diffusé sous la même licence que le document source Les mentions relatives à la source du document et/ou à son auteur doivent être conservées dans leur intégralité. Le droit d'usage défini par la licence est personnel et non exclusif.tout autre usage que ceux prévus par la licence est soumis à autorisation préalable et expresse de l'auteur : georges.gouriten@telecom-paristech.fr