text: Hewlett-Packard Company, officiellement abrégée en HP, est une entreprise multinationale américaine initialement d’électronique et d'instrumentation qui évolue au cours du temps vers l'informatique, les imprimantes, les serveurs et réseaux, le logiciel et le multimédia. Ses principaux produits sont les imprimantes et périphériques, les ordinateurs de toutes tailles (de poche, portables, de bureau ainsi que les serveurs) et les services aux entreprises. La société a son siège à Palo Alto dans la Silicon Valley, en Californie. En 2008, son chiffre d'affaires annuel était de . HP était alors le premier constructeur d'ordinateurs au monde, devant Acer, Lenovo, Dell et Asus. HP produisait également environ la moitié des imprimantes du monde, ce qui représentait approximativement le quart de son chiffre d'affaires. Le , HP se divise en deux entités distinctes : HP Inc. (ordinateurs et imprimantes), et Hewlett Packard Enterprise (serveurs, logiciels, services aux entreprises). Histoire Le , la société Hewlett-Packard est fondée, à Palo Alto, par deux amis, ingénieurs en électronique à l'université Stanford promotion 1934, William Hewlett et David Packard. Leur entreprise est créée dans un garage à quelques kilomètres de San Francisco, en Californie, dans ce qui ne s'appelle pas encore la Silicon Valley, avec . Bill et Dave ont déterminé à pile ou face si leur société allait s’appeler Hewlett-Packard ou Packard-Hewlett et Bill a gagné. Instruments des années 1940 Hewlett-Packard conçoit, fabrique et commercialise des instruments d'essai et de mesure avec pour premier produit un oscillateur basses fréquences de précision, le modèle 200A, innovant par l'utilisation d'une ampoule électrique comme résistance stabilisée en température dans le circuit, ce qui leur permet de simplifier l'utilisation de l'appareil et de baisser le coût de vente à au lieu de pour des versions moins stables. Leur premier client, les studios Walt Disney Pictures, leur achètent alors huit oscillateurs basse fréquence modèle 200B, à chacun, pour synchroniser les effets sonores de leur film Fantasia et développer le système Fantasound, précurseur du Dolby Surround. En fin d'année 1939, l'entreprise met sur le marché une demi-douzaine de nouveaux produits d'électronique de mesure, dont un analyseur d'ondes qui rencontre un gros succès commercial, donnant ainsi à Hewlett-Packard une réputation de sérieux, de qualité et de fiabilité. Années 1940 à 1970 : de l'instrumentation à l'informatique Des années 1940 à 1960, HP est focalisé sur les instruments de mesures, mais progressivement, HP se rend compte que l'acquisition des données est indispensable lorsque l'on possède de nombreux appareils de mesures. Du fait de la technologie disponible à l'époque, tous les appareils sont développés au moyen de composants discrets et des premiers circuits intégrés spécialisés. HP développe ses premiers mini-ordinateurs et des ordinateurs personnels destinés a l'acquisition des mesures et au traitement de données. Ce développement se fera dans deux directions : en 1966, HP produit son premier mini ordinateur, le HP-2116 a une structure afin de servir de concentrateur, pour ses appareils de mesures, et de calculateur scientifique. Il est suivi par le « HP-2115 » en 1967 et le « HP-2114 » en 1968 ; en 1968, de grosses calculatrices programmables HP-9100 servent pour la centralisation et le traitement des données, suivies par une série du même type les 98xx. dans le domaine de la mesure, HP commercialise en 1964 la première horloge atomique commerciale au Césium133, utilisant des semi conducteurs. Conçue par Leonard Cutler, elle pèse 30kg, au format rack standard. Sa précision relative est de 10e-11. Informatique, périphériques et services des années 1970 Dans les années 1970 HP développe différentes gammes d’ordinateurs aussi bien technique que de gestion, des ordinateurs personnels essentiellement technique et d’acquisition de mesures, mais aussi les premières calculettes scientifiques « de poche ». Ordinateurs de bureau À partir de 1971, HP développe la gamme des stations de travail HP-98xx, ainsi que certains périphériques qui sont, initialement, l'interface entre les appareils de mesure et les utilisateurs, mais qui évoluent ensuite vers l'acquisition de données et vers des ordinateurs « techniques » (calcul scientifique, type Série de Fourier). Ordinateurs À partir de 1971, HP développe : le en 1971 la gamme HP3000, un « mini-ordinateur » destiné à l'informatique de gestion « temps réel », « multi-tâches », « multi-utilisateurs » alors que la plupart des autres constructeurs faisaient alors uniquement de l'informatique en « temps différé » et en « traitement par lots » (batch processing). Son système d'exploitation est un logiciel propriétaire le ; Sa caractéristique principale est d'héberger un SGBD hiérarchique simple appelé . la série HP-1000 : mini-ordinateur technique et scientifique. Son système d'exploitation est un logiciel propriétaire temps réel : le . Au cours des années 1970, la société commercialise des tables traçantes. En 1978, HP sort un mini-ordinateur de gestion, le HP-300, qui ne trouvera pas de marché et dont la fabrication sera arrêtée assez rapidement. Calculatrices En 1972, Hewlett-Packard invente la calculatrice scientifique de poche avec son premier modèle, la HP-35 scientifique utilisant la notation polonaise inverse. Dans les années 1975 à 1985, Hewlett-Packard commercialise des calculatrices scientifiques, financières et programmables qui définissent les standards : la HP-65, sa première programmable avec mémoire de masse, la HP-70 destinée aux applications financières et bancaires, la HP-41C première calculatrice avec un affichage alphanumérique en 1979. Après un creux dans les années 1980, Hewlett-Packard revient sur le devant de la scène des calculatrices en 1990 avec la série HP-48 qui révolutionne le domaine avec un affichage graphique et une programmation orientée objet. La HP-12C, calculatrice financière programmable de format poche née en 1981 et toujours commercialisée, presque à l'identique, en 2017, . Mini-ordinateurs En 1972, Hewlett-Packard commercialise les mini-ordinateurs 21XX et en 1976, le HP 3000, un mini-ordinateur capable de gérer des milliers d'utilisateurs en multitâche temps réel sous MPE, un système d'exploitation propriétaire, vendu à plusieurs dizaines de milliers d'exemplaires dans le monde. Micro ordinateur En 1978, HP développe un micro-ordinateur de gestion, le HP-250 en utilisant les mêmes micro-processeurs que ceux utilisés sur les ordinateurs de bureau de la gamme HP-98XX. Imprimantes En 1978, pour faciliter la mise au point de ces matériels et permettre leur évolutivité, le langage graphique HP-GL est créé. C'est le premier langage d'imprimante codé par un fichier formaté. En 1978, après quarante ans de carrière, William Hewlett et David Packard prennent leur retraite et passent le relais à John A. Young en conservant des fonctions honorifiques dans le groupe. Micro-informatique et périphériques des années 1980 à 1990 Pour compléter sa gamme informatique, HP étoffe ses gammes de périphériques, de micro-informatique et de stations de travail. En 1982, HP lance une station de travail performante, le HP-9020A au prix de . En 1984, HP lance sa première version d'Unix dénommée HP-UX. En 1984, Hewlett-Packard commercialise : son premier ordinateur personnel avec le HP-110 ; sa première imprimante à jet d'encre (Thinkjet) ; sa première imprimante laser, le HP LaserJet. En 1985, Hewlett-Packard commercialise une station de travail (trans)portable sous Unix, nommée HP Integral. Elle pèse , mais intègre HP-UX en mémoire morte, un clavier et une souris, une imprimante à jet d'encre, un écran plasma monochrome et un bus HP-IB permettant la connexion de disques durs et d'instruments de mesure. En mars 1986, Hewlett-Packard enregistre le domaine « hp.com » ; c'est alors la neuvième société au monde à posséder un domaine internet, ce qui lui permet de choisir une adresse internet très courte. En 1988, Hewlett-Packard commercialise sa gamme de station de travail et serveur multi utilisateurs HP 9000 à base de microprocesseur RISC sous Unix, concurrent de Sun Microsystems, d'Apollo et d'IBM AS400. En 1989, HP rachète la société Apollo. En 1993, HP se lance sur le marché grand public des PC. En 1994, c'est la sortie des imprimantes Officejet, imprimante personnelle-fax-photocopieur. Acquisition et restructuration depuis 1999 1999-2005 Le Hewlett-Packard se sépare de toute son activité instrumentation, qui devient la société Agilent. De 1999 à 2005, la PDG Carly Fiorina est chargée d'acheter et de faire fusionner Compaq avec Hewlett-Packard (mai 2002) et de restructurer le groupe en réduisant l'effectif de (10 % de l'effectif total). Le , limogée par le conseil d'administration, elle touche près de de dollars d'indemnités. 2005-2010 En juillet 2005, le nouveau PDG Mark Hurd poursuit la tâche de restructuration et d'optimisation du groupe par réduction des effectifs en supprimant 10 % des emplois. En , Hewlett-Packard annonce le rachat de la société , éditeur de la solution « éditique Dialogue ». En , HP rachète EDS ce qui représente la plus importante opération de rachat d'une SSII jamais réalisée jusque-là avec un montant de 13,9 milliards de dollars. Le , Hewlett-Packard annonce l'acquisition de 3Com pour la somme de 2,7 milliards de dollars américain, opération concrétisée le . Le , HP rachète la société Palm pour 1,2 milliard de dollars. Le , aucun des nouveaux modèles de smartphones de la gamme Palm, annoncés par HP, ne portent la marque Palm. Sur le site de Palm, les références à Palm ont toutes été remplacées par des références à la marque HP. Le , HP annonce un licenciement qui s'effectuera sur plusieurs années pour conduire à la suppression de . HP mise sur des centres de données automatisés afin de . Le , Mark Hurd est contraint de démissionner. Cathie Lesjak, la directrice financière, assure l'intérim au poste de PDG. 2010-2011 Le , HP annonce le rachat du constructeur américain de stockage 3PAR, après une bataille avec Dell, pour un montant de 2,4 milliards de dollars. Le , HP annonce l'acquisition de ArcSign, société spécialisée en sécurité, pour 1,3 milliard USD. Le nouveau PDG, Léo Apotheker, prend ses fonctions le . Le , HP annonce le rachat de l'éditeur britannique Autonomy Corporation, spécialisé dans le cloud computing, pour un montant de 10,24 milliards de dollars réévalué en octobre à . 2011-2013 En août 2011, HP annonce la fin de la production de PC pour la fin de l'année, après l'échec de sa tablette, mais le , HP annonce qu'elle conserve sa division PC du fait de la valeur ajoutée qu'elle représente. Le , HP annonce le remplacement de Léo Apotheker par Meg Whitman, ancienne patronne d'eBay. Le , HP annonce le rachat de la société allemande Hiflex, spécialisée dans les solutions logicielles de web-to-print et MIS pour les industries graphiques (en juillet 2013, HP et Hiflex annoncent l'arrêt de la commercialisation de la solution). Le 23 mai 2012, HP annonce une réduction d'effectif de . Le 27 septembre 2012, ce plan social est revu à la hausse et touche Le 20 novembre 2012, HP annonce une perte de de US$ pour l'année 2012 dont de US$ liée à l'acquisition de la société Autonomy Corporation en 2011 Au troisième trimestre 2012, HP aurait perdu son rang de numéro un mondial des PC au bénéfice de Lenovo ; cependant HP conteste cette affirmation. 2014-2015 En mai 2014, HP annonce un nouveau plan de réduction d'effectifs de à , s'ajoutant au annoncés. En octobre 2014, HP annonce la scission de ses activités entre d'une part ses activités d'assembleurs de PC et de fabricants d'imprimantes sous le nom de et d'autre part ses activités dans les serveurs et dans les services informatiques sous le nom de Hewlett Packard Enterprise. HP annonce en parallèle la suppression de . En mars 2015, HP acquiert Aruba Networks, une entreprise californienne spécialisée dans le Wi-Fi pour . En mai 2015, HP vend 51 % de sa filiale chinoise H3C Technologies à Tsinghua Unigroup pour . En septembre 2015, la firme annonce la suppression de à dans sa division de services aux entreprises. La séparation entre HP Inc et Hewlett Packard Enterprise est effective au . Depuis novembre 2015 - Nouvelles sociétés Depuis novembre 2015 Hewlett-Packard a été scindé en deux entités : HP Inc. pour tout ce qui concerne la microinformatique et l'impression ; Hewlett-Packard Enterprise pour le reste des activités. R&D, fabrication et distribution En 2014, HP a investi de dollars en recherche et développement. Serveurs (processeurs x86, PA-RISC) Réseaux informatiques, solutions de stockage, Gestion électronique des documents Micro ordinateurs professionnels et grands publics Périphérique informatique d'impressions, imprimantes, table traçante, imprimantes photos personnelles et professionnels scanners et appareils photo numériques Graveurs CD et graveurs DVD, lecteur DVD Écran à cristaux liquides TFT, vidéo projecteurs Calculatrices HP. Lecteur de musique numérique Soutien et développement de Linux et des logiciels libres : elle a engagé Bruce Perens, un ancien leader de Debian et cocréateur de l'Open Source Initiative. HP est devenu membre de platine de la Linux Foundation dans les années 2010 Logiciel de gestion de réseau et de monitoring « » et logiciels pour les réseaux de télécommunications « ». Cette activité est en pleine croissance chez HP avec l'acquisition de « » en 2005 et de « » en 2006. En 2014, HP se lance dans le développement d’un nouveau genre d’ordinateur sous le nom de code : The Machine. Participation à l'apartheid en Israël et dans les territoires colonisés D'après le site BDS France, le groupe HP : "Gère la maintenance du système BASEL de contrôle biométrique des Palestiniens aux checkpoints illégaux, HP est l’opérateur du répertoire et fournit les cartes d’identité biométriques israéliennes qui font fonctionner l’apartheid en classant selon l’identité ethnique et la religion,HP fournit l’infrastructure informatique de la marine israélienne qui participe au blocus de Gaza, HP fournit ses services au système pénitentiaire qui viole les Conventions de Genève, HP est présent dans des colonies: Beitar Illit, Ariel et Modi’in Illit." De ce fait la marque HP a été l'objet d'appels au boycott de la part des différents mouvement de boycott d'Israël. Sites de production HP fait appel à des sous-traitants pour fabriquer des ordinateurs personnels. L'assemblage d’ordinateurs est réalisé en Chine (par Compal Electronics, Foxconn, Inventec, Micro-Star International, MiTAC, Pegatron, Quanta Computer, TPV-Inventa Technology et Wistron), en République Tchèque (par Foxconn), au Mexique (par Foxconn). Notes et références Notes Références Voir aussi Articles connexes Garage Hewlett-Packard (musée des origines de Hewlett-Packard) HP-UX, le système d'exploitation UNIX développé par HP Calculatrices HP HP Linux Imaging and Printing (HPLIP), ensemble de pilotes pour imprimantes HP et outil de configuration associé. Liens externes Site officiel Liste des anciens PDG d'HP Musée virtuel des produits HP, avec leur documentation et manuels Hewlett-Packard Constructeur informatique ayant son siège aux États-Unis Société de services en ingénierie informatique Instrument de mesure Fabricant de multicopieurs Entreprise fondée en 1939 Entreprise disparue en 2015 Entreprise ayant son siège à Palo Alto Entreprise d'électronique ayant son siège aux États-Unis Entreprise américaine disparue Entreprise du Dow Jones


source: wikipedia

text:
L’, généralement abrégé HTTP, littéralement « protocole de transfert hypertexte », est un protocole de communication client-serveur développé pour le . HTTPS (avec S pour , soit « sécurisé ») est la variante sécurisée par le chiffrement et l'authentification. HTTP est un protocole de la couche application dans le modèle OSI. Il peut fonctionner sur n'importe quelle connexion fiable. Dans les faits on utilise le protocole TCP comme couche de transport. Un serveur HTTP utilise alors par défaut le port 80 (443 pour HTTPS). Les clients HTTP les plus connus sont les navigateurs Web. Il est aussi utilisé dans des interfaces de programmation d’application (API) pour accéder aux données d'un serveur ainsi que des systèmes pour récupérer automatiquement le contenu d'un site tels que les aspirateurs de site Web et les robots d'indexation. Historique HTTP a été inventé par Tim Berners-Lee avec les adresses Web et le langage HTML pour créer le World Wide Web. À cette époque, le (FTP) était déjà disponible pour transférer des fichiers, mais il ne supportait pas la notion de format de données telle qu'introduite par (MIME). La première version de HTTP était très élémentaire, mais prévoyait déjà le support d'en-têtes MIME pour décrire les données transmises. Cette première version reste encore partiellement utilisable de nos jours, connue sous le nom de HTTP/0.9. En , la décrit HTTP tel que communément implémenté à l'époque et connu sous le nom de HTTP/1.0. Cette version supporte la gestion de cache et l'identification. En , HTTP/1.1 devient finalement standard de l'IETF. Il est décrit dans la de l'IETF, puis dans la en . Cette version ajoute le support du transfert en pipeline (ou pipelinage) et la négociation de type de contenu (format de données, langue). HTTP/1.1 rend la présence de l'entête Host obligatoire dans les requêtes afin de supporter l'hébergement mutualisé. En , les travaux à propos de HTTP/2.0 démarrent à l'IETF adoptant SPDY comme matériel de départ. En , la spécification de HTTP 1.1 a été republiée. Elle a été éclatée en plusieurs RFC et corrigée pour toutes ses imprécisions, à . Implémentation Méthodes Dans le protocole HTTP, une méthode est une commande spécifiant un type de requête, c'est-à-dire qu'elle demande au serveur d'effectuer une action. En général l'action concerne une ressource identifiée par l'URL qui suit le nom de la méthode. Dans l'illustration ci-contre, une requête GET est envoyée pour récupérer la page d'accueil du site web www.perdu.com : GET / HTTP/1.1 Host: www.perdu.com Il existe de nombreuses méthodes, les plus courantes étant GET, HEAD et POST : GETC'est la méthode la plus courante pour demander une ressource. Une requête GET est sans effet sur la ressource, il doit être possible de répéter la requête sans effet. HEADCette méthode ne demande que des informations sur la ressource, sans demander la ressource elle-même. POSTCette méthode est utilisée pour transmettre des données en vue d'un traitement à une ressource (le plus souvent depuis un formulaire HTML). L'URI fourni est l'URI d'une ressource à laquelle s'appliqueront les données envoyées. Le résultat peut être la création de nouvelles ressources ou la modification de ressources existantes. À cause de la mauvaise implémentation des méthodes HTTP (pour Ajax) par certains navigateurs (et la norme HTML qui ne supporte que les méthodes GET et POST pour les formulaires), cette méthode est souvent utilisée en remplacement de la requête PUT, qui devrait être utilisée pour la mise à jour de ressources. OPTIONSCette méthode permet d'obtenir les options de communication d'une ressource ou du serveur en général. CONNECTCette méthode permet d'utiliser un proxy comme un tunnel de communication. TRACECette méthode demande au serveur de retourner ce qu'il a reçu, dans le but de tester et effectuer un diagnostic sur la connexion. PUTCette méthode permet de remplacer ou d'ajouter une ressource sur le serveur. L'URI fourni est celui de la ressource en question. PATCHCette méthode permet, contrairement à PUT, de faire une modification partielle d'une ressource. DELETECette méthode permet de supprimer une ressource du serveur. Ces 3 dernières méthodes nécessitent généralement un accès privilégié. Certains serveurs autorisent d'autres méthodes de gestion de leurs ressources (par exemple WebDAV). Du client au serveur La liaison entre le client et le serveur n'est pas toujours directe, il peut exister des machines intermédiaires servant de relais : Un proxy (ou serveur mandataire) peut modifier les réponses et requêtes qu'il reçoit et peut gérer un cache des ressources demandées. Une passerelle (ou ) est un intermédiaire modifiant le protocole utilisé. Un tunnel transmet les requêtes et les réponses sans aucune modification, ni mise en cache. Identification HTTP permet l'identification du visiteur par transmission d'un nom et d'un mot de passe. Il existe 2 modes d'identification : et (). Le premier mode transmet le mot de passe en clair, et ne doit donc être utilisé qu'avec le protocole HTTPS. Le deuxième mode permet une identification sans transmettre le mot de passe en clair. L'identification est cependant souvent effectuée par une couche applicative supérieure à HTTP. Liste de serveurs HTTP C : Apache, Zeus Web Server, nginx, lighttpd, Cherokee, Hiawatha Webserver ASP/ASP.Net(C#, VB.net) : IIS Java : Tomcat, Jetty, GlassFish, JBoss (WildFly dans les nouvelles versions), JOnAS, Vert.x Python : Zope Pike : Caudium Ruby : WEBrick, Mongrel, Thin Erlang : Yaws Javascript : Express.js Autres : Comparison of web servers Versions HTTP 0.9 Au début du , il était prévu d'ajouter au protocole HTTP des capacités de négociation de contenu, en s'inspirant notamment de MIME. En attendant, le protocole HTTP 0.9 était extrêmement simple. connexion du client HTTP envoi d'une requête de méthode GET réponse du serveur HTTP le serveur ferme la connexion pour signaler la fin de la réponse. Requête : GET /page.html La méthode GET est la seule possible. Le serveur reconnaît qu'il a affaire à une requête HTTP 0.9 au fait que la version n'est pas précisée à la suite de l'URI. Réponse : <TITLE>Exemple</TITLE>
Exemple
Ceci est une page d'exemple. Pour répondre à une requête HTTP 0.9, le serveur envoie directement le contenu de la réponse, sans métadonnées. Il ne doit jamais se comporter ainsi pour les requêtes HTTP de version supérieure. Inutile de chercher les versions inférieures à 0.9 du protocole HTTP : elles n'existent pas, car HTTP 0.9 n'avait initialement pas de numéro de version. Il a fallu lui en attribuer un quand HTTP 1.0 est arrivé. HTTP 1.0 Le protocole HTTP 1.0, décrit dans la , prévoit l'utilisation d'en-têtes spécifiés dans la . La gestion de la connexion reste identique à HTTP 0.9 : le client établit la connexion, envoie une requête, le serveur répond et ferme immédiatement la connexion. Une requête HTTP présente le format suivant : Ligne de commande (Commande, URL, Version de protocole) En-tête de requête [Ligne vide] Corps de requête Les réponses HTTP présentent le format suivant : Ligne de statut (Version, Code-réponse, Texte-réponse) En-tête de réponse [Ligne vide] Corps de réponse Requête : GET /page.html HTTP/1.0 Host: example.com Referer: http://example.com/ User-Agent: CERN-LineMode/2.15 libwww/2.17b3 La version du protocole HTTP est précisée à la suite de l'URI. La requête doit être terminée par un double retour à la ligne (CRLFCRLF). HTTP 1.0 supporte aussi les méthodes HEAD et POST. On constate l'usage d'en-têtes inspirés de MIME pour transférer les métadonnées : HostPermet de préciser le site web concerné par la requête, ce qui est nécessaire pour un serveur hébergeant plusieurs sites à la même adresse IP (, hôte virtuel basé sur le nom). C'est le seul en-tête réellement important. RefererIndique l'URI du document qui a donné un lien sur la ressource demandée. Cet en-tête permet aux d'observer d'où viennent les visiteurs. User-AgentIndique le logiciel utilisé pour se connecter. Il s'agit généralement d'un navigateur web ou d'un robot d'indexation. Réponse : HTTP/1.0 200 OK Date: Fri, 31 Dec 1999 23:59:59 GMT Server: Apache/0.8.4 Content-Type: text/html Content-Length: 59 Expires: Sat, 01 Jan 2000 00:59:59 GMT Last-modified: Fri, 09 Aug 1996 14:21:40 GMT <TITLE>Exemple</TITLE>
Ceci est une page d'exemple.
 La première ligne donne le code de statut HTTP (200 dans ce cas). DateMoment auquel le message est généré. ServerIndique quel modèle de serveur HTTP répond à la requête. Content-TypeIndique le type MIME de la ressource. Content-LengthIndique la taille en octets de la ressource. ExpiresIndique le moment après lequel la ressource devrait être considérée obsolète ; permet aux navigateurs Web de déterminer jusqu'à quand garder la ressource en mémoire cache. Last-ModifiedIndique la date de dernière modification de la ressource demandée. HTTP 1.1 Le protocole HTTP 1.1 est décrit par le qui rend le obsolète. La différence avec HTTP 1.0 est une meilleure gestion du cache. L'en-tête devient obligatoire dans les requêtes. Les soucis majeurs des deux premières versions du protocole HTTP sont d'une part le nombre important de connexions lors du chargement d'une page complexe (contenant beaucoup d'images ou d'animations) et d'autre part le temps d'ouverture d'une connexion entre client et serveur (l'établissement d'une connexion TCP prend un temps triple de la latence entre client et serveur). Des expérimentations de connexions persistantes ont cependant été effectuées avec HTTP 1.0 (notamment par l'emploi de l'en-tête ), mais cela n'a été définitivement mis au point qu'avec HTTP 1.1. Par défaut, HTTP 1.1 utilise des connexions persistantes, autrement dit la connexion n'est pas immédiatement fermée après une requête, mais reste disponible pour une nouvelle requête. On appelle souvent cette fonctionnalité . Il est aussi permis à un client HTTP d'envoyer plusieurs requêtes sur la même connexion sans attendre les réponses. On appelle cette fonctionnalité . La persistance des connexions permet d'accélérer le chargement de pages contenant plusieurs ressources, tout en diminuant la charge du réseau. La gestion de la persistance d'une connexion est gérée par l'en-tête . HTTP 1.1 supporte la négociation de contenu. Un client HTTP 1.1 peut accompagner la requête pour une ressource d'en-têtes indiquant quels sont les langues et formats de données préférés. Il s'agit des en-têtes dont le nom commence par . Les en-têtes supplémentaires supportés par HTTP 1.1 sont : ConnectionCet en-tête peut être envoyé par le client ou le serveur et contient une liste de noms spécifiant les options à utiliser avec la connexion actuelle. Si une option possède des paramètres ceux-ci sont spécifiés par l'en-tête portant le même nom que l'option ( par exemple, pour spécifier le nombre maximum de requêtes par connexion). Le nom est réservé pour spécifier que la connexion doit être fermée après traitement de la requête en cours. AcceptCet en-tête liste les types MIME de contenu acceptés par le client. Le caractère étoile * peut servir à spécifier tous les types / sous-types. Accept-CharsetSpécifie les encodages de caractères acceptés. Accept-LanguageSpécifie les langues acceptées. L'ordre de préférence de chaque option (type, encodage ou langue) est spécifié par le paramètre optionnel q contenant une valeur décimale entre 0 () et 1 () inclus (3 décimales maximum après la virgule), valant 1 par défaut. Le support des connexions persistantes doit également fonctionner dans les cas où la taille de la ressource n'est pas connue d'avance (ressource générée dynamiquement par le serveur, flux externe au serveur...). Pour cela, l'encodage de transfert nommé permet de transmettre la ressource par morceaux consécutifs en précédant chacun par une ligne de texte donnant la taille de celui-ci en hexadécimal. Le transfert se termine alors par un morceau de taille nulle, où des en-têtes finaux peuvent être envoyés. Les en-têtes supplémentaires liés à cet encodage de transfert sont : Transfer-EncodingSpécifie l'encodage de transfert. La seule valeur définie par la spécification est TrailerListe tous les en-têtes figurant après le dernier morceau transféré. TEEnvoyé par le client pour spécifier les encodages de contenu supportés (, ne pas confondre avec car est obligatoirement supporté par les clients et serveurs implémentant le standard HTTP/1.1), et spécifie si le client supporte l'en-tête en ajoutant à la liste. HTTP 1.1 bis comprenait de nombreuses imprécisions. Le groupe de travail HTTP a pris quelques années afin de clarifier la spécification sans en modifier la sémantique tel que préconisé dans la charte de fonctionnement du groupe pour ce travail. En , 8 nouveaux documents ont été publiés qui rendent obsolète la : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing (Standard proposé) Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content (Standard proposé) Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests (Standard proposé) Hypertext Transfer Protocol (HTTP/1.1): Range Requests (Standard proposé) Hypertext Transfer Protocol (HTTP/1.1): Caching (Standard proposé) Hypertext Transfer Protocol (HTTP/1.1): Authentication (Standard proposé) Hypertext Transfer Protocol (HTTP/1.1): Authentication Scheme Registrations (Information) Hypertext Transfer Protocol (HTTP/1.1): Method Registrations (Information) HTTP/2 Une nouvelle version d'HTTP, HTTP/2, a été développée au sein du groupe de travail « Hypertext Transfer Protocol Bis » (httpbis) de l'Internet Engineering Task Force, et approuvée comme RFC standard le . Le développement d'HTTP/2 a débuté à la suite de la création du protocole SPDY proposé par Google afin de réduire le temps de chargement des pages Web. Le groupe de travail httpbis s'était initialement interdit de proposer une nouvelle version d'HTTP, concentrant son activité sur la clarification des spécifications d'HTTP 1.1. Considérant l'arrivée de SPDY et son adoption rapide sur le Web, avec notamment des implémentations dans deux des principaux navigateurs Web, Google Chrome et Mozilla Firefox, Mark Nottingham, « chair » d'httpbis, a émis l'opinion qu'il était temps d'envisager HTTP/2 et proposé d'amender la charte d'httpbis en ce sens, initiant de fait le développement du nouveau protocole. SPDY constituait une option naturelle pour servir de base à HTTP/2. Deux autres propositions concurrentes ont été ensuite transmises à l'IETF : le protocole « HTTP Speed+Mobility » par Microsoft et une proposition de mise à jour d'HTTP (« Network-Friendly HTTP Upgrade »). En , httpbis a publié un appel à expression d'intérêt (« Call for Expression of Interest ») afin de recueillir l'avis d'acteurs du Web sur les propositions. Parmi les réponses obtenues figure celle de Facebook qui a signifié sa préférence pour SPDY. En , l'IETF a publié le premier draft d'HTTP/2, qui est une copie directe de SPDY. Après plus de 2 ans de discussions, la RFC est approuvée en par le groupe de pilotage de l'IETF, et est publiée en . Le module permettant la prise en charge du protocole HTTP/2 est disponible depuis la version 2.4.17 du serveur Web Apache, et depuis la version 1.9.5 de Nginx. HTTP/3 Une nouvelle version d’HTTP, HTTP/3, est la troisième et prochaine version majeure du protocole de transfert hypertexte utilisé pour échanger des informations sur le World Wide Web. Celle-ci repose sur le protocole QUIC, développé par Google en 2012. La sémantique HTTP est cohérente d'une version à l'autre. En effet, les mêmes méthodes de requête, codes de statut et champs de message sont généralement applicables à toutes les versions. Si HTTP/1 et HTTP/2 utilisent tous deux TCP comme protocole de transport, HTTP/3 quant à lui utilise le protocole QUIC, un protocole de la couche transport qui est plus adapté au Web. Le passage à QUIC vise à résoudre un problème majeur de HTTP/2 appelé "Head-of-line Blocking" grâce à une encapsulation des paquets dans UDP. En effet, avec HTTP/2 reposant sur TCP, une connexion permet d'accéder aux ressources demandées une à une (une seule à la fois). Lorsque l'envoi d’une ressource est perturbé (par exemple par une perte de paquets), la livraison globale des ressources est ralentie. Avec HTTP/3 reposant sur le protocole QUIC, ce problème n'est plus, puisque tous les flux sont indépendants étant encapsulés dans UDP, protocole de transport ne nécessitant pas de connexion. Notes et références Voir aussi Articles connexes Liens externes Format ouvert Protocole réseau sur la couche application


text:
Le , généralement abrégé HTML ou, dans sa dernière version, HTML5, est le langage de balisage conçu pour représenter les pages web. Ce langage permet d’écrire de l’hypertexte (d’où son nom), de structurer sémantiquement une page web, de mettre en forme du contenu, de créer des formulaires de saisie ou encore d’inclure des ressources multimédias dont des images, des vidéos, et des programmes informatiques. L'HTML offre également la possibilité de créer des documents interopérables avec des équipements très variés et conformément aux exigences de l’accessibilité du web. Il est souvent utilisé conjointement avec le langage de programmation JavaScript et des feuilles de style en cascade (CSS). HTML est inspiré du (SGML). Il s'agit d'un format ouvert. Dénominations L’anglais « » se traduit littéralement en « langage de balisage d’hypertexte ». On utilise généralement le sigle « HTML », parfois même en répétant le mot « langage » comme dans « langage HTML ». est parfois écrit pour marquer le T du sigle HTML. Le public non averti parle parfois de HTM au lieu de HTML, HTM étant l’extension de nom de fichier tronquée à trois lettres, une limitation que l’on trouve sur d’anciens systèmes d’exploitation de Microsoft. Évolution du langage Durant la première moitié des années 1990, avant l’apparition des technologies Web comme le langage JavaScript (JS), les feuilles de style en cascade (CSS) et le (DOM), l’évolution de HTML a dicté l’évolution du . Depuis la création de l' en 1997, l’évolution de HTML a fortement ralenti ; dix ans plus tard, reste utilisé dans les pages web. En 2008, la spécification du HTML5 est à l’étude et devient d'usage courant dans la seconde moitié des années 2010. 1989-1992 : Origine HTML est une des trois inventions à la base du , avec le (HTTP) et les adresses web (URL). HTML a été inventé pour permettre d'écrire des documents hypertextuels liant les différentes ressources d’Internet avec des hyperliens. Aujourd’hui, ces documents sont appelés « page web ». En , lorsque Tim Berners-Lee annonce publiquement le web sur Usenet, il ne cite que le langage (SGML), mais donne l’URL d’un document de suffixe .html. Dans son livre , Tim Berners-Lee décrit la décision de baser HTML sur comme étant aussi « diplomatique » que technique : techniquement, il trouvait trop complexe, mais il voulait attirer la communauté hypertexte qui considérait que était le langage le plus prometteur pour standardiser le format des documents hypertexte. En outre, était déjà utilisé par son employeur, l’Organisation européenne pour la recherche nucléaire (CERN). ; Les premiers éléments du langage HTML comprennent : le titre du document, les hyperliens, la structuration du texte en titres, sous-titres, listes ou texte brut, un mécanisme rudimentaire de recherche par index. La description de HTML est alors assez informelle et principalement définie par le support des divers navigateurs web contemporains. Dan Connolly a aidé à faire de HTML une véritable application de SGML. 1993 : Apports de NCSA Mosaic L’état de HTML correspond alors à ce que l’on pourrait appeler . Il n’existe cependant aucune spécification portant ce nom, notamment parce que le langage était alors en pleine évolution. Un effort de normalisation était cependant en cours. À partir de fin 1993, le terme HTML+ est utilisé pour désigner la version future de HTML. Malgré l’effort de normalisation ainsi initié, et jusqu’à la fin des , HTML est principalement défini par les implémentations des navigateurs web. Avec le navigateur , HTML connaît deux inventions majeures : d’abord l’invention de l’élément IMG permet d’intégrer des images (dans un premier temps, uniquement aux formats GIF et XBM) aux pages web () ; ensuite l’invention des formulaires () rend le web interactif en permettant aux visiteurs de saisir des données dans les pages et de les envoyer au serveur web. Cette invention permet notamment de passer des commandes, et donc d’utiliser le web pour faire du commerce électronique. 1994 : Apports de Netscape Navigator Avec l’apparition de 0.9 le , le support de nombreux éléments de présentation est ajouté : attributs de texte, clignotement, centrage Le développement de HTML prend alors deux voies divergentes : d’une part, les développeurs de navigateurs s’attachent à maximiser l’impact visuel des pages web en réponse aux demandes des utilisateurs ; d’autre part, les concepteurs du web proposent d’étendre les capacités de description sémantique (logos, notes de bas de page) et les domaines d’applications (formules mathématiques, tables) de HTML. Les concepteurs suivent les principes de SGML consistant à laisser la présentation à un langage de style. En l’occurrence, les feuilles de style en cascade (CSS) sont prévues pour HTML. Seul le support des tables est rapidement intégré aux navigateurs, notamment parce qu’il permet une très nette amélioration de la présentation. Outre la multiplication des éléments de présentation, les logiciels d’alors produisant et consommant du HTML conçoivent souvent les documents comme une suite de commandes de formatage plutôt que comme un marquage représentant la structure en arbre aujourd’hui appelée (DOM). Le manque de structure du HTML alors mis en œuvre est parfois dénoncé comme étant de la « soupe de balises », . 1995-1996 : HTML 2.0 En , le (W3C) nouvellement fondé propose le résultat de ses recherches sur HTML+ : le brouillon . Il comprend notamment le support des tables, des figures et des expressions mathématiques. Ce brouillon expire le sans donner de suites directes. Fin 1995, le décrivant est finalisé. Le principal éditeur est Dan Connolly. Ce document décrit HTML tel qu’il existait avant , donc sans les nombreuses additions de . 1997 : HTML 3.2 et 4.0 Le , le W3C publie la spécification . Elle décrit la pratique courante observée début 1996, donc avec une partie des additions de Netscape Navigator et d’Internet Explorer. Ses plus importantes nouveautés sont la standardisation des tables et de nombreux éléments de présentation. précède de peu et contient des éléments en prévision du support des styles et des scripts. Le , le W3C publie la spécification qui standardise de nombreuses extensions supportant les styles et les scripts, les cadres () et les objets (inclusion généralisée de contenu). apporte également différentes améliorations pour l’accessibilité des contenus dont principalement la possibilité d’une séparation plus explicite entre structure et présentation du document, ou le support d’informations supplémentaires sur certains contenus complexes tels que les formulaires, les tableaux ou les sigles. introduit trois variantes du format, destinées à favoriser l’évolution vers un balisage plus signifiant, tout en tenant compte des limites temporaires des outils de production : la variante stricte () exclut des éléments et attributs dits « de présentation », destinés à être remplacés par les styles CSS, ainsi que les éléments applet et frame qui sont remplacés par l’élément object conçu pour être plus apte à l’interopérabilité et à l’accessibilité ; la variante transitoire () étend la variante stricte en reprenant les éléments et attributs dépréciés de , dont les éléments de présentation sont couramment utilisés par les éditeurs HTML de l’époque ; la variante normalise la technique des jeux de cadres composant une ressource unique à partir de plusieurs pages web assemblées par le navigateur. Ces variantes perdurent par la suite sans modifications notables en et dans le format de transition issu de HTML. La dernière spécification de HTML est la datant du . Elle n’apporte que des corrections mineures à la . 2000-2006 : XHTML Le développement de HTML en tant qu’application du (SGML) est officiellement abandonné au profit de XHTML, application de (XML). Cependant, en 2004, des éditeurs de navigateurs web créent le (WHATWG) dans le but, notamment, de relancer le développement du format HTML et de répondre aux nouveaux besoins sur une base technologique jugée plus aisément implémentable que celle du en cours de conception. Ceci s’inscrit dans le contexte d’une contestation plus générale du mode de fonctionnement du W3C, réputé trop fermé par une partie des développeurs et designers web. De 2007 à nos jours : HTML 5 et abandon du En , tirant la conséquence des réticences d’une partie de l’industrie et des concepteurs de contenus web face à , le W3C relance le développement de HTML et crée un nouveau groupe de travail encadré par Chris Wilson (Microsoft) et initialement Dan Connolly (W3C),puis Michael Smith (W3C). Il s’agit notamment : de faire évoluer HTML pour décrire la sémantique des documents mais aussi les applications en ligne ; de parvenir à un langage extensible via XML tout en maintenant une version non XML compatible avec les analyseurs syntaxiques () HTML des navigateurs actuels ; et d’enrichir les interfaces utilisateurs avec des contrôles spécifiques : barres de progrès, menus, champs associés à des types de données spécifiques. Les travaux du WHATWG ont été formellement adoptés en comme point de départ d’une nouvelle spécification . Ce document a été publié sous forme de le . Parmi les principes de conception évoqués par le groupe de travail figurent en particulier : la compatibilité des futures implémentations HTML avec le contenu web existant, et la possibilité pour d’anciens agents utilisateurs d’exploiter les futurs contenus ; une approche pragmatique, préférant les évolutions aux modifications radicales, et adoptant les technologies ou pratiques déjà largement partagées par les auteurs de contenus actuels ; la priorité donnée, en cas de conflit d’intérêt, aux besoins des utilisateurs sur ceux des auteurs, et par suite, à ceux des auteurs sur les contraintes d’implémentation par les navigateurs ; le compromis entre la richesse sémantique du langage et l’utilité pratique des solutions disponibles pour remplir l’objectif majeur d’indépendance envers le média de restitution. Une est créée par le W3C en afin de résoudre les problèmes de compatibilité du nouveau format avec les normes d'accessibilité, liés notamment à l'implémentation d'ARIA, aux alternatives textuelles et aux nouveaux éléments canvas et video. Le développement de est initialement poursuivi en parallèle, en réponse aux besoins d’autres secteurs du web, tels que les périphériques mobiles, les applications d’entreprise et les applications serveurs. Puis, en , le W3C décide la non-reconduction du à la fin 2009. Avec l'abandon du , la version reste donc la version normalisée. Le HTML5 sera compatible avec le XHTML et le XML, et autorisera donc des documents XHTML5. Cependant, il est probable que le W3C s'oriente vers un abandon pur et simple du , car l'implantation du XML dans le HTML5 rend inutile la définition de document de type XHTML y.y (où y.y sont les numéros de version). Avenir du HTML En , des divergences de points de vue entre Ian Hickson (ingénieur chez Google), qui écrit la spécification HTML5, et les membres du groupe de travail du W3C conduisent le WHATWG à créer (littéralement : standard vivant du HTML), une spécification de HTML prévue pour être en constante évolution, afin de coller avec les développements rapides de nouvelles fonctionnalités par les développeurs de navigateurs(par opposition à des versions numérotées, donc « fixes »). Le a pour but d'inclure le HTML5, et de le développer en permanence. En particulier, dans la version du , le document de référence explique que le HTML5 du W3C, publié le , est basé sur une version du , mais que le ne s'arrête pas à cette version, et continue à évoluer. Il développe en particulier les différences entre la version W3C (le HTML5) et la version (par exemple, les nouveaux bugs ne sont pas pris en compte dans le HTML5, des différences syntaxiques sont répertoriées, et de nouvelles balises créées par le ne sont pas incluses dans le HTML5). Description de HTML HTML est un langage de description de format de document qui se présente sous la forme d’un langage de balisage dont la syntaxe vient du (SGML). Syntaxe de HTML Jusqu’à sa comprise, HTML est formellement décrit comme une application du SGML. Cependant, les spécifications successives admettent, par différents biais, que les agents utilisateurs ne sont pas, en pratique, des analyseurs SGML conformes. Les navigateurs Web n’ont jamais été capables de déchiffrer l’ensemble des variations de syntaxe permises par SGML ; en revanche ils sont généralement capables de rattraper automatiquement de nombreuses erreurs de syntaxe, suivant la première partie de la « loi de Postel » : « Soyez libéral dans ce que vous acceptez, et conservateur dans ce que vous envoyez » (). De fait, les développeurs de pages Web et de navigateurs Web ont toujours pris beaucoup de liberté avec les règles syntaxiques de SGML. Enfin, la (DTD) de HTML, soit la description technique formelle de HTML, n’a été écrite par Dan Connolly que quelques années après l’introduction de HTML. Malgré les libertés prises avec la norme, la terminologie propre à SGML est utilisée : document, élément, attribut, valeur, balise, entité, validité, application Grâce à la DTD, il est possible de vérifier automatiquement la validité d’un document HTML à l’aide d’un parseur SGML. À l’origine, HTML a été conçu pour baliser (ou marquer) simplement le texte, notamment pour y ajouter des hyperliens. On utilisait un minimum de balises, comme dans le document HTML suivant : <TITLE>Exemple de HTML</TITLE> Ceci est une phrase avec un hyperlien.
 Ceci est un paragraphe où il n'y a pas d'hyperlien. Cet exemple contient du texte, cinq balises et une référence d’entité : <TITLE> est la balise ouvrante de l’élément TITLE. </TITLE> est la balise fermante de l’élément TITLE. Exemple de HTML est le contenu de l’élément TITLE.  est la balise ouvrante de l’élément A, avec : HREF=cible.html, l’attribut HREF dont la valeur est cible.html.
 est la balise ouvrante de l’élément P. Toutefois, elle est utilisée ici comme s’il s’agissait d’un séparateur de paragraphe, et c’est même ainsi qu’elle est souvent présentée dans les plus anciennes documentations de HTML. Il s’agit de la balise ouvrante du paragraphe dont le contenu est Ceci est un paragraphe où il n’y a pas d’hyperlien. La balise fermante de l’élément P, qui est optionnelle, est ici omise. L’élément P est implicitement terminé lorsqu’un nouveau paragraphe commence ou que l’élément parent est fermé (cas présent). ù est une référence d’entité représentant le caractère « ù ». Les balises peuvent être indifféremment écrites en minuscules ou majuscules. L’usage des minuscules devient plus courant car XHTML les impose. Un document HTML valide est un document qui respecte la syntaxe SGML, n’utilise que des éléments et attributs standardisés, et respecte l’imbrication des éléments décrite par le standard. Il ne manque qu’une déclaration de type de document à l’exemple précédent pour qu’il soit un document HTML 2.0 valide. Un document valide n’est cependant pas suffisant pour être conforme à la spécification HTML visée. En effet, outre l’exigence de validité, un document conforme est soumis à d’autres contraintes qui ne sont pas exprimées par la définition de type de document (DTD), mais qui le sont par la spécification elle-même. C’est notamment le cas du type de contenu de certains attributs, comme celui de l’attribut datetime : pour être conforme à , celui-ci doit être lui-même conforme à un sous-ensemble de la norme . Un parseur strictement SGML tel que le validateur HTML du W3C ne peut donc pas garantir la conformité d’un document HTML. Structure des documents HTML Dans les premières années, les documents HTML étaient souvent considérés comme des structures plates, et les balises comme des commandes de style. Ainsi la balise
 était considérée comme un saut de ligne, et la balise
 était ignorée. Ou encore lorsque est apparu, il ne donnait accès qu’aux liens et formulaires du document à travers les tables document.forms et document.links. Avec l’introduction des et du , il a fallu considérer que les documents HTML ont une véritable structure en arbre, avec un élément racine contenant tous les autres éléments. Les balises ouvrantes et fermantes de ces éléments restent d’ailleurs optionnelles. Cependant, aujourd’hui, on a tendance à baliser chaque élément et à indiquer la DTD. À l'exception de l'élément à la racine, chaque élément a exactement un élément parent direct ; cet « arbre du document » est notamment utilisé par la structure de formatage qui en est dérivée pour l’application des feuilles de style en cascade où chaque élément peut avoir un fond, un bord et une marge propres. Éléments de HTML La de HTML décrit . En suivant la spécification de , les fonctionnalités implémentées par HTML peuvent être réparties ainsi : Structure générale d’un document HTML Au plus haut niveau, un document HTML est séparé entre un en-tête et un corps. L’en-tête contient les informations sur le document, notamment son titre et éventuellement des métadonnées. Le corps contient ce qui est affiché. Informations sur la langue Il est possible d’indiquer la langue de n’importe quelle partie du document et de gérer le mélange de texte s’écrivant de gauche à droite avec du texte de droite à gauche. Marquage sémantique HTML permet de différencier des contenus spécifiques tels que les citations d’œuvres externes, les extraits de code informatique, les passages en emphase et les abréviations. Certains de ces éléments, conçus initialement pour permettre le support de documentations techniques, sont très rarement employés (différenciation entre les éléments de variable et d’exemple de valeur dans un code informatique, par exemple, ou encore instance d’un terme défini dans le contexte). Listes HTML différencie des listes non ordonnées et des listes ordonnées, selon que l’ordre formel du contenu dans le code est en soi ou non une information. Des listes de définition existent également, mais sans que leur champ d’application ne soit exactement déterminé. Tables Cette fonctionnalité sert formellement à la présentation de données tabulaires, mais a été surtout exploitée pour ses capacités de mise en page avant que les feuilles de style en cascade (CSS) atteignent un degré de maturité suffisant. Hyperliens La fonctionnalité première de HTML. Inclusion d’images, d’ et d’objets divers À l’origine HTML permettait seulement de donner des hyperliens sur les médias externes. L’invention d’éléments spécialisés pour le multimédia a permis l’inclusion automatique d’image, de musique, de vidéo dans les pages web. Éléments de regroupement Ne conférant pas de signification au contenu qu’ils balisent, ces éléments génériques permettent d’appliquer des styles de présentation, de réaliser des traitements via des scripts ou tout autre opération nécessitant d’isoler une partie du contenu. Style de la présentation Chaque élément, voire tout le document, peut se voir appliquer des styles. Les styles sont définis dans le document ou proviennent de feuilles de style en cascade (CSS) externes. Marquage de présentation du texte Développé avant la généralisation de CSS pour fournir rapidement des fonctionnalités aux graphistes. D’usage désormais officiellement déconseillé pour la plus grande partie. Cadres Aussi connu sous le nom de , une fonctionnalité souvent décriée qui permet d’afficher plusieurs documents HTML dans une même fenêtre. Formulaire pour l’insertion interactive de données Les éléments de formulaire permettent aux visiteurs d'entrer du texte et des fichiers dans les pages Web. Scripts Permet d’associer des morceaux de programmes aux actions des utilisateurs sur le document. Les langages utilisés sont généralement JavaScript et VBScript. Attributs de HTML Les attributs permettent de préciser les propriétés des éléments HTML. Il y a dans la de HTML. Certains attributs s’appliquent à presque tous les éléments : les attributs génériques id (identificateur unique) et class (identificateur répétable) destinés à permettre l’application de traitements externes, tels que l’application de styles de présentation ou de manipulation de l’arbre du document via un langage de script. Il s’y ajoute l’attribut style permettant de définir le style de présentation de l’élément (généralement en CSS), et l’attribut title apportant une information complémentaire de nature le plus souvent libre (L’exception majeure est l’utilisation du title pour déterminer le style permanent et les éventuels styles alternatifs appliqués à un document via des éléments link) ; les attributs d’internationalisation dir et lang spécifiant la direction d’écriture et la langue du contenu ; les gestionnaires d’évènements onclick, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, qui capturent les évènements générés dans l’élément pour appeler un script. D’autres attributs sont propres à un élément unique, ou des éléments similaires. Par exemple : les éléments qui permettent d’inclure dans le document des ressources graphiques sont dotés d’attributs de hauteur et de largeur, afin que le navigateur puisse anticiper la taille de la ressource à afficher avant que celle-ci n’ait été téléchargée : img, object, iframe ; des éléments spécifiques sont dotés d’un attribut assumant une fonction unique, tel que l’élément label des étiquettes des contrôles de formulaire et son attribut for désignant le contrôle concerné : c’est, en HTML, et avec les attributs usemap et ismap des images, l’une des très rares associations explicites et formalisées entre des éléments, indépendamment de leur ordre linéaire dans le code source. La plupart des attributs sont facultatifs. Quelques éléments ont cependant des attributs obligatoires : de par leur nature : l’élément img est obligatoirement doté d’un attribut src spécifiant l’URI de la ressource graphique qu’il représente. Il en est de même de tous les éléments dits « vides » et « remplacés » qui, au prix d’une entorse aux règles , n’ont pas de contenu propre. C’est également le cas d’éléments non vides pour des raisons fonctionnelles, comme l’élément form dont l’attribut action indique la cible serveur qui traitera les données après soumission ; pour des raisons liées à l’accessibilité du contenu : les images sont ainsi dotées d’un attribut obligatoire alt permettant d’indiquer un contenu textuel brut destiné à remplacer la ressource graphique dans les contextes de consultation où elle ne peut pas être restituée ou perçue. Le type de contenu des attributs HTML échappe pour partie au champ d’application de cette norme, et sa validation relève de normes tierces telles que les URI, les types de contenu ou les codes de langages. Certains attributs sont enfin de type booléen. Ce sont les seuls attributs dont la syntaxe peut être validement implicite en HTML : l’attribut selected d’un contrôle de formulaire peut ainsi être raccourci sous la forme selected remplaçant la forme complète selected="selected". Cette forme particulière est un des points différenciant HTML de la syntaxe des documents « bien formés » au sens XML. Jeux de caractères Les pages Web peuvent être rédigées dans toutes sortes de langues et de très nombreux caractères peuvent être utilisés, ce qui requiert soit un jeu de caractères par type d’écriture, soit un jeu de caractères universel. Lors de l’apparition de HTML, le jeu de caractères universel Unicode n’était pas encore inventé, et de nombreux jeux de caractères se côtoyaient, notamment ISO-8859-1 pour l’alphabet latin et ouest-européen, Shift-JIS pour le japonais, KOI8-R pour le cyrillique. Aujourd’hui, le codage UTF-8 de Unicode est le plus répandu. Le protocole de communication HTTP transmet le nom du jeu de caractères. L’en-tête HTML peut comporter le rappel de ce jeu de caractères, qui devrait être identique, sauf erreur de réglage. Enfin, à la suite d'un mauvais réglage, le jeu de caractères réellement utilisé peut encore différer du jeu annoncé. Ces mauvais réglages causent généralement des erreurs d’affichage du texte, notamment pour les caractères non couverts par la norme ASCII. Technique d'échappement Avant la généralisation d'Unicode, des entités ont été définies pour représenter certains caractères non ASCII. Cela a commencé avec les caractères d'ISO 8859-1 dans la norme . Pour les diacritiques, ces entités suivent un principe simple : la lettre est suivie de l'abréviation de la diacritique associée. Interopérabilité de HTML Tel qu’il a été formalisé par le W3C, HTML est conçu pour optimiser l’interopérabilité des documents. Le HTML ne sert pas à décrire le rendu final des pages web. En particulier, contrairement à la publication assistée par ordinateur, HTML n’est pas conçu pour spécifier l’apparence visuelle des documents. HTML est plutôt conçu pour donner du sens aux différentes parties du texte : titre, liste, passage important, citation Le langage HTML a été développé avec l’intuition que les appareils de toutes sortes seraient utilisés pour consulter le web : les ordinateurs personnels avec des écrans de résolution et de profondeur de couleurs variables, les téléphones portables, les appareils de synthèse et de reconnaissance de la parole, les ordinateurs avec une bande passante faible comme élevée, et ainsi de suite. Comme HTML ne s’attache pas au rendu final du document, un même document HTML peut être consulté à l’aide de matériels et logiciels très divers. Au niveau matériel, un document peut notamment être affiché sur un écran d'ordinateur en mode graphique ou un terminal informatique en mode texte, il peut être imprimé, ou il peut être prononcé par synthèse vocale. Au niveau logiciel, HTML ne fait pas non plus de supposition, et plusieurs types de logiciels lisent le HTML : navigateur web, robot d'indexation, scripts divers (en Perl, PHP) de traitement automatique. Un haut degré d’interopérabilité permet de baisser les coûts des fournisseurs de contenus car une seule version de chaque document sert des besoins très variés. Pour l’utilisateur du web, l’interopérabilité permet l’existence de nombreux navigateurs concurrents, tous capables de consulter l’ensemble du web. Chaque version de HTML a essayé de refléter le plus grand consensus entre les acteurs de l’industrie, de sorte que les investissements consentis par les fournisseurs de contenus ne soient pas gaspillés et que leurs documents ne deviennent en peu de temps illisibles. La séparation du fond et de la forme n’a pas toujours été respectée au cours du développement du langage, comme en témoigne par exemple le balisage de style de texte, qui permet d’indiquer notamment la police de caractères souhaitée pour l’affichage, sa taille, ou sa couleur. Notes et références Voir aussi Articles connexes (W3C) Élément HTML Identificateur de fragment CSS JavaScript Extensible Hypertext Markup Language (XHTML) HTML5 SGML SELFHTML une documentation en ligne de la syntaxe HTML JHTML Liens externes , liens et informations sur HTML jusqu'à la version 2.0 Documents officiels Request for Comments 1866, Tim Berners-Lee, MIT/W3C, Dan Conolly, novembre 1995 , recommandation du W3C, , recommandation du W3C, , dernière recommandation du W3C, , actuel brouillon de travail du W3C sur HTML5, , brouillon de travail du W3C sur les différences entre HTML4 et HTML5, , la documentation du , successeur du HTML5, qui n'a plus de version numéroté. La spécification , traduction non normative Standard du web Codage du texte SGML HTML Format ouvert Protocole réseau sur la couche présentation


text: Un hébergeur web est une entreprise qui fournit l'hébergement sur Internet de systèmes informatiques divers, tels que sites web, stockage d'information, messagerie électronique, etc. à des personnes, associations, projets ou autres entités qui ne désirent pas le faire par leurs propres moyens. Cet hébergement se fait en général au sein d'un parc de serveurs informatiques qui bénéficie 24 heures sur 24 d'une connexion à Internet de haut débit pour offrir un accès rapide aux clients ou à tous les internautes selon le type de service rendu. Activité La principale activité de l'hébergeur web consiste à installer ses serveurs, à les sécuriser (par une alimentation électrique ondulée, secourue par un groupe électrogène, une salle climatisée équipée de dispositifs anti-incendie), à les tenir à jour en installant les mises à jour de sécurité pour éviter les attaques malveillantes, à les réparer en cas de panne, à y installer les technologies logicielles souhaitées par les clients ou qu'il souhaite leur offrir (comme les langages de programmation internet et les modules supplémentaires de ces langages). L'hébergement Internet trouve sa justification par diverses raisons parmi lesquelles : la nécessité de sécuriser le service hébergé, la mise à disposition par le prestataire de ressources conséquentes (bande passante en téléchargement...), le conseil et les services de support associés. IP et DNS Lorsqu'un visiteur demande une page à son navigateur web, celui-ci interroge des serveurs DNS pour connaître l'adresse IP du serveur hébergeant ce site. Dès qu'il obtient la réponse, le navigateur va interroger ce serveur et lui demander cette page. Le serveur web va alors chercher la page sur son ou ses disques durs (s'il s'agit d'une page statique), ou la fabriquer à l'aide d'un script (s'il s'agit d'une page dynamique), puis l'envoyer au navigateur, qui l'affiche sur l'écran du visiteur. Il peut être important de localiser l'endroit où l'hébergeur a ses serveurs. La plupart des moteurs de recherche se basent aussi sur la localisation des serveurs afin d'effectuer le référencement d'un site Web. Catégories d'hébergement La plupart des hébergeurs sont payants. Il reste néanmoins quelques hébergeurs gratuits. Dans ce cas, les prestations gratuites sont souvent des offres d'appel pour les prestations payantes, plus riches en fonctionnalités et plus performantes. Les entreprises font face à de nombreux challenges au niveau de l’hébergement de leurs infrastructures et applications informatiques. Tiraillées entre des exigences de performance vitales pour leur activité et des contraintes en matière de dépenses et d’investissements, elles se tournent le plus souvent vers des solutions privilégiant mutualisation et industrialisation. La virtualisation, l'« informatique dans les nuages » et les applications en mode SaaS sont de plus en plus envisagées comme des alternatives à l'hébergement interne. La plupart des offres d'hébergement sont regroupées en grandes catégories : Les hébergements partagés ou mutualisés : Chaque serveur héberge plusieurs sites, jusqu'à plusieurs milliers, et ce dans le but de mutualiser les coûts. Le principal avantage est le prix, le principal inconvénient est que le client mutualisé n'est pas l'administrateur du serveur, il est donc souvent tributaire du bon vouloir de l'hébergeur s'il souhaite une technologie particulière. Dans certaines configurations d'hébergement mutualisé, l'utilisateur peut être administrateur d'un serveur virtuel sur lequel son site est déployé. Il continue cependant à partager les ressources système avec les autres clients mutualisés. Les hébergements dédiés : Le client dispose de son propre serveur, et peut en général l'administrer comme il le souhaite, ce qui est le principal avantage de ce type d'offre. Le fournisseur du serveur reste cependant propriétaire du serveur. Les inconvénients sont : le prix beaucoup plus élevé que les hébergements mutualisés, et le besoin de compétences pour administrer la machine correctement. L'hébergement virtuel dédié via un hyperviseur offre au client la souplesse d'un dédié (le client administre sa machine à sa convenance) en lui fournissant une machine virtuelle qui utilise une partie des ressources d'un serveur (physique) par des techniques de virtualisation (informatique). Dans le cas des hébergements dédiés dits « managés » avec « serveur dédié infogéré » ou « clés en main », le client dispose de son propre serveur mais les techniciens de l'hébergeur s'occupent de sa gestion système. Cette solution est parfaite si vous n'avez aucune connaissance technique sur son administration. Il suffit de déposer son site. Ce type d'hébergement cherche à s'adapter aux besoins. La colocation : L'hébergeur met, dans son centre de traitement de données, un espace à disposition du client, de sorte qu'il puisse placer son propre serveur à l'intérieur (La plupart du temps dans des armoires spéciales nommées racks ou « baies »). L'hébergeur met également à disposition du client un câble d'alimentation électrique et un câble ethernet pour qu'il puisse alimenter et connecter son serveur à Internet. Ce système est censé coûter moins cher, puisque la location du serveur n'est pas comprise, mais les systèmes de sécurité et des badges dans les centres de traitement de données peuvent coûter plus cher que la location. Hébergement d'applications En 2009, selon une étude menée par MARKESS International auprès de 150 entreprises, les domaines applicatifs les plus concernés par l’hébergement externe sont les sites web et les portails, suivis des applications de gestion de la relation client, de ressources humaines, et les extranets. Dans une moindre proportion, car plus souvent gérées en direct par les directions informatiques, se trouvent les applications de messagerie, de sécurité, de stockage et sauvegarde. Viennent ensuite par ordre décroissant de citations mais très dépendants des secteurs d’activité concernés : Les applications de commerce électronique (e-commerce), les intranets et applications collaboratives incluant non seulement des fonctionnalités de messagerie mais aussi d'agenda, de gestion de tâches, etc., et les applications de gestion de contenus ; Les applications de gestion commerciale et de gestion des forces de vente, les PGI (Progiciel de Gestion Intégré), les applications de finance, de production, et les plates-formes de développement applicatif. Législation En 2004, en France, le député Jean Dionis a présenté une loi qui impose aux hébergeurs de se doter de moyens capables de bloquer les sites comportant des contenus à caractère raciste ou pédopornographique. Ce mouvement législatif avait déjà été entamé par l'affaire Altern.org. Si les hébergeurs ne sont plus en mesure de filtrer les informations qu'ils hébergent, ils ont néanmoins une obligation de prompte intervention concernant tout signalement de contenu illicite et autre. Concernant les données de santé à caractère personnel, celles-ci sont régies par les dispositions : de l'article R. 1111-12 du décret du , des articles L. 1421-2 et L. 1421-3, relatifs au contrôle de l'Inspection générale des affaires sociales et des agents de l'État mentionnés à l'article L. 1421-1 : Les agents chargés du contrôle peuvent être assistés par des experts désignés par le ministre chargé de la santé. Sécurité Étant donné que les services d'hébergement Web hébergent des sites Web appartenant à leurs clients, la sécurité en ligne est une préoccupation importante. Lorsqu'un client accepte d'utiliser un service d'hébergement Web, il cède le contrôle de la sécurité de son site à l'entreprise qui l'héberge. Le niveau de sécurité qu'offre un service d'hébergement Web est extrêmement important pour un client potentiel et peut être une considération majeure lors de l'examen du fournisseur qu'un client peut choisir. Les serveurs d'hébergement Web peuvent être attaqués par des utilisateurs malveillants de différentes manières, notamment en téléchargeant des logiciels malveillants ou du code malveillant sur un site Web hébergé. Ces attaques peuvent être menées pour différentes raisons, notamment le vol de données de carte de crédit, le lancement d'une attaque par déni de service distribué (DDoS) ou le spam. Gratuité Un service gratuit offre des ressources limitées en espace de stockage ou en bande passante, mais ces ressources sont généralement suffisantes pour un site personnel ou associatif avec une fréquentation peu élevée. Bien qu'il n'ait pas à défrayer un coût monétaire, l'hébergé doit souvent faire une contribution à l'hébergeur : des publicités sont souvent ajoutées au site hébergé. Cependant, il existe des services gratuits qui n'affichent aucune publicité. L'environnement technique employé par l'hébergeur web gratuit est systématiquement l'hébergement mutualisé. Notes et références Voir aussi Articles connexes Bureau d'enregistrement Hébergeur d'images Liens externes Service en ligne