Web client, web browser : client web, navigateur web.
Besoin
Afficher des pages/applications Web et naviguer entre elles.
Analyse
Un client Web est un composant logiciel installé sur la machine d'un utilisateur final.
Il dialogue avec un ou plusieurs serveurs Web à qui il demande des ressources telles que :
- des pages Web
- des feuilles de styles pour ces pages Web
- des images (contenues dans les pages Web ou non)
- des fichiers audio
- des fichiers video
- des archives (zip, etc.)
- du code d'applications (Javascript, jar, exe, etc.)
- d'autres types de documents (PDF, XML, etc.)
- etc.
Pour interpréter certains types de ressources (fichiers Flash, Shockwave, PDF, Java parfois, etc.), un client Web doit parfois disposer de plugins.
Conception
Le client Web dialogue avec un serveur Web via le protocole HTTP.
- une requête HTTP contient
- l'URL de la ressource recherchée
- divers autres paramètres liés à configuration du navigateur (langue préférée, etc.)
- une réponse contient
- des informations sur la ressource trouvée (son type MIME notamment, qui permetta au navigateur de l'interpréter)
- les données de la ressource trouvée, comme :
- le code HTML d'une page Web (incluant éventuellement du JavaScript)
- les octets d'une image
- etc
La réponse est ensuite interprétée :
- par le client web s'il sait comment traiter le type MIME de la ressource reçue
- par un plugin du client web
- par un autre logiciel (le client web peut demander de le sélectionner ou se souvenir de la dernière sélection, ou demander l'OS d'exécuter le logiciel adéquat pour ce type de fichier)
Support
Au fil du temps la diversité de support des clients web en terme de :
- technologies utilisées (HTML5, CSS3, Javascript)
- caractéristiques variables d'affichage (dimensions, fontes)
a abouti à concevoir les sites/webapps selon des principes de :
- conception web adaptative (responsive web design), stratégie de tolérance aux
défaillances (fault tolerance) via :
- mode dégradé (graceful degradation) donnant priorité à la présentation, au visuel
- mode réaussé (progressive enhancement) : donnant priorité au contenu/à la structure. Préférable, ne serait-ce que pour être correctement adapté aux plates-formes mobiles.
Automation
Utile pour tests.
Design
La conception d'un site web/d'une webapp en elle-même est l'activité de web design.
Exemples
Des exemples de clients Web sont :
- Navigateurs
- Chrome (Google)
- IE (Microsoft) — La version 6 pour Windows est plus conforme aux standards que ses prédecesseurs 5.0 et 5.5. Réclame cependant assez de mémoire pour ne pas faire grésiller votre disque dur sans discontinuer. Il est gratuit. La version 5 pour Mac fait un beau travail de conformance aux standards.
- JavaSoft HotJava — Navigateur en Java développé par Sun. Project abandonné aujourd'hui (voir d'autres projets de navigateurs Java comme Jazilla).
- Konqueror — Léger, anglophone, et conforme aux standards pour Linux.
- Lynx — Mode texte uniquement, pour plates-formes Unix et VMS.
- NCSA Mosaic — Le premier navigateur.
- Netscape Navigator — Gratuit, conforme à 5 standards importants, y compris XML et DOM. Si votre machine n'est pas assez puissante, vous riquez de le trouver lent. Disponible en français.
- Mozilla — OSS et gratuit respectant les standards. Il est la base sur laquelle sont construits d'autres navigateurs, par exemple Netscape 7. Il est rapide et doté de nombreuses fonctionalités (mail, chat, DOM Inspector).
- Opera — Léger et rapide respectant les standards. Disponible sur 5 OS, et en français.
- W3C Amaya — Développé par le W3C. A la fois navigateur et éditeur.
- Composants
- Android
- WebView
- iPhone
- Java
- Android
Notes
- La Same Origin Policy limite les requête d'un client web à son serveur, ce qui est peut être contourné via la CORS.
- Egalement désigné sous le terme plus général de "client Web" (rapport au "serveurs" Web auquels il se connecte)
- Peut constituer un client "universel", qui ne dépend plus d'une l'application installée sur tel ou tel serveur.
- supportent généralement l'exécution de code JavaScript (inclut dans les pages Web téléchargée ou placé dans des fichiers JavaScript séparés)
- constitue la partie cliente d'une architecture C/S Web.
-
Editeur Apple Google Mozilla Microsoft Produit Safari/iOS Chrome/Android Firefox/ IE Opera Version 1 6 7 Domaine Technologie Release 0 0 0 Navigation Onglets Oui Non Popups Blocage possible Oui Recherche Oui Protocole HTTP 1.1+ Langage HTML 4.01 XHTML 1.0 WML 2.0 CSS 2 JavaScript Interpréteur Oui 1.3/1.5 Debugger Non XML Affichage via XSL Feuilles de style Base XSLT Oui Xpath RDF MathML XML-RPC SOAP Namespaces Oui XLink DOM via XSL 2 Sécurité Certificats X.509 Téléchargement de CA Cookies SSL Oui 3.0 Java JRE 1.1.4 (SDK for Java 4.0) JNI Oui Oui Plate-forme Windows 95 Oui 98 Oui Oui NT 4 Oui Oui 2000 Oui Oui MacOS Oui Oui Linux Oui Oui Rendu Webkit Webkit Voir
- Browser Shots - voir le rendu d'un navigateur en ligne.
- Vincent, J.-P.: "Des tests fiables sous tous les navigateurs", Alsa Creations, 29 octobre 2012.