[In English] [Монголоор]

Différents types de sites web

Différentes classifications

On peut classer les sites web de différentes façons. On peut les classer par auteur : sites administratifs, sites d’entreprises, sites personnels etc. On peut les classer par taille : par nombre de pages, ou par taille des fichiers informatiques. Le nombre de pages n’est d’ailleurs pas très significatif car, derrière une seule page comme la page de recherche de Google peut se trouver une gigantesque base de données invisible. On peut encore classer les sites web par leur but : sites commerciaux, sites sociaux, sites officiels, sites politiques etc.. Nous tenterons ici une classification technique sommaire. Dans les encadrés ci-dessous se trouve des précisions techniques. Nous n’avons aucunement la prétention de présenter toutes les technologies utilisées sur le web. Les technologies mentionnées sont parmi les plus utilisées par les créateurs de sites web. Nous ne présentons pas les technologies utilisées par les hébergeurs de sites, les fournisseurs d’accès internet ou les opérateurs de télécommunication. La création d’un site web fait l’objet de recommandations du W3C (World wide web consortium), qui sont en fait les principales normes du web.

Vocabulaire

visiteur
Quelqu’un qui visite un site web.
(ordinateur) serveur
Ordinateur fournissant à d’autres ordinateurs un service, en l’occurrence un service web. Il s’agit en général d’un gros ordinateur appartenant à un organisme et connecté à internet 24 h sur 24, qui héberge des sites web.
(ordinateur) client
Ordinateur bénéficiant d’un service fourni par un serveur. Il s’agit souvent d’un ordinateur personnel connecté sur internet et utilisant le web. Mais il peut aussi s’agir d’un gros ordinateur de Google visitant les sites web pour les cataloguer.
hébergeur
Entreprise possédant un ou des serveurs web et fournissant à d’autres le service d’hébergement, qui consiste à servir des pages web à la demande des clients, 24 h sur 24.
cookie
(biscuit) Petite quantité d’information (généralement une ou quelques lignes) stockée sur l’ordinateur client par le serveur quand le client se connecte sur un site web hébergé là, et lisible par le serveur quand le client y est connecté. Un cookie permet au serveur de reconnaitre ultérieurement un ordinateur client ou quelques caractéristiques de connexions antérieures. Le sens d’un cookie peut être par exemple : La dernière fois qu’un visiteur s’est connecté à partir de cet ordinateur client, il choisit la partie en langue allemande du site, et consulta la page concernant la livraison à domicile.. Ceci sera notamment utile si le visiteur change de page, ou s’il revient un autre jour.
session web
Visite d’un site web pendant laquelle le visiteur est identifié par le serveur comme étant un même visiteur alors qu’il change de pages.
tourner
Fonctionner. Se dit d’un programme.
tourner côté client
Fonctionner sur l’ordinateur client. Se dit d’un programme.
tourner côté serveur
Fonctionner sur le serveur. Se dit d’un programme.
URI
(Uniform ressource identifier, c’est-à-dire identificateur uniforme de ressource) Adresse web, généralement affichée en haut du navigateur. Par exemple : http://Fiable.biz .
(logiciel) serveur
Logiciel installé sur un ordinateur serveur et chargé de fournir à d’autres ordinateurs un service, en l’occurrence un service web. Exemple: Apache.
applet
Petit programme inclus dans une page web, et exécuté par le navigateur lisant la page.
plug-in de navigateur (ou greffon)
Programme auxiliaire installé sur un ordinateur client pour conférer des fonctionnalités supplémentaires au navigateur.

Site statique

Un site web statique s’apparente à un livre : il peut contenir du texte et des images fixes, et tout le monde peut y voir la même chose. Au lieu de tourner les pages, on clique sur des liens, qui peuvent permettre une navigation plus aisée que les pages d’un livre car le lecteur n’est pas obligé de chercher une page si un lien l’y mène directement. Mais il ne se passe rien d’autre. Un site statique peut être mis à jour, éventuellement fréquemment, mais pas en réponse à une action du visiteur. Un site statique peut cependant comporter un hyperlien d’adresse mail, mais le site lui-même ne se charge pas d’envoyer le courrier et laisse cette tâche au gestionnaire de courrier du visiteur.

Pour écrire un site statique, il faut utiliser le langage descriptif HTML, dont la version actuelle s’appelle XHTML (extended hypertext markup language). Il décrit le contenu de la page (texte, photos…). On utilise aussi, en plus, le langage descriptif CSS (cascading style sheet), chargé de la mise en forme de la page web (couleurs, gras, italique etc.). Il se trouve que ces langages descriptifs permettent de faire clignoter un texte, si bien que le simple clignotement textuel est encore considéré comme statique, de même que des modifications de couleur de texte ou de position d’image au mouvement de la souris au-dessus d’un lien ou au clic.

Un site peut aussi être écrit en XML (dont XHTML est un cas particulier), norme qui décrit la sémantique du contenu d’un site, par exemple : nom du produit :, prix :. Cette technique peut permettre à un ordinateur client de mieux tirer parti de l’information fournie. Le fichier devra être transformé en XHTML par le client pour être visualisé.

Pour ajouter une image à une page web, il faut soit prendre une photo avec un appareil de photos numérique, soit scanner un document, soit faire un dessin avec un logiciel. Il est souvent préférable de compresser l’image pour accélérer le téléchargement de la page par le navigateur du visiteur. Les principaux formats d’images sur le web sont JPEG (Joint photographic experts group), JPEG 2000, GIF (Graphics interchange format) et PNG (portable network graphics). Ce sont des formats dit matriciels, c’est-à-dire que le fichier contient la couleur et la luminosité de chaque point du dessin. Le format SVG (Scalable vector graphics, soit graphique vectoriel adaptable) est un format de dessin dit vectoriel, c’est-à-dire que le fichier ne contient pas la couleur et la luminosité de chaque point du dessin, mais les paramètres des équations du dessin, ce qui permet d’obtenir des fichiers beaucoup plus petits, donc très rapide à télécharger. Microsoft internet explorer 9, très en retard sur ses principaux concurrents, sera enfin incapable de lire les fichiers SVG, donc ce format va se développer rapidement sur le web.

Un site web nécessite une adresse web, ou URI, et un hébergement. Adresse et hébergement sont généralement choisis par le créateur du site web mais sous-traités à un hébergeur, donc les techniques correspondantes ne sont pas abordées ici.

Un domaine de compétence partagé entre hébergeur et créateur du site est HTTP (Hypertext transfert protocol ou Protocol de transfert hypertexte), qui gère le dialogue entre le serveur et le client. Le client demande une page, et signale le nom et la version du navigateur, les types de fichiers et les encodages de caractères qu’il est capable de lire, ainsi que les langues humaines qu’il souhaite recevoir. Le serveur peut se servir de ces informations pour servir une version adéquate de la page s’il a plusieurs versions à sa disposition. Ceci s’appelle l’adaptation de contenu. Le serveur indique à son tour au client le type et l’encodage du fichier qu’il va servir. Relève aussi d’HTTP la gestion des caches, mémoires situées entre le serveur et le visiteur. Ces caches se trouvent dans le serveur mandataire de l’hébergeur, chez le fournisseur d’accès internet du visiteur, dans l’ordinateur du visiteur et éventuellement sur des ordinateurs intermédiaires. Ils sont destinés à accélérer le service, en stockant les pages web les plus fréquemment demandées et en les servant sans avoir à les télécharger à nouveau à chaque fois. Mais si la page a changé sur le serveur, il faut bien la retélécharger. Le temps pendant lequel conserver chaque fichier dans les caches peut être indiqué par le logiciel serveur (dont le plus connu est Apache), ou bien indiqué directement à l’ordinateur gérant le cache grâce à un programme écrit en PHP, Perl, Python ou autre langage par le créateur du site. Dans tous les cas, un fichier d’en-tête HTTP est produit et fourni au cache avant la page web elle-même. Bien que l’hébergeur propose une gestion de ces durées de stockage, le créateur de site, qui sait à quelle fréquence il met à jour ses fichiers, est mieux placé que l’hébergeur pour indiquer les durées de stockage.

Les techniques utilisées pour les sites statiques sont utilisées aussi par tous les autres sites.

Site animé

Ce genre de site est parfois appelé dynamique mais le mot dynamique a, en informatique, plusieurs acceptions, dont celle d’interactif (voir ci-dessous). Un site animé contient au moins un film, un dessin animé (au sens large du terme) ou du son.

Un site animé peut contenir nettement plus qu’un livre, mais ressemble à une cassette audio ou video ou à une collection de cassettes : le visiteur regarde ce qui se passe, peut arrêter le film, revenir en arrière, choisir telle page (et donc tel film, dessin animé ou son) ou telle autre, mais son activité s’arrête là.

Le format GIF permet des petites animations, saccadées. SVG permet des dessins animés. En ce qui concerne les autres formats majeurs, si les fichiers de son sont habituellement d’une taille raisonnable, les fichiers matriciels de video et d’animation fluide (par opposition à saccadée) sont très gros, d’où la nécessité de les compresser pour accélérer leur téléchargement automatique par le navigateur du visiteur. Puis l’ordinateur du visiteur doit décompresser le fichier. Or les membres du W3C n’ont pas réussi à se mettre d’accord sur une norme de compression ni sur une norme d’enveloppe, qui permette de coordonner (on dit multiplexer) video, son et sous-titres. Il faut donc savoir que, quelque soit le format choisi, un film ou un dessin animé ne seront pas visibles par certains visiteurs. Les principaux formats de compression video actuellement en lice répondent aux doux noms de Theora et H.264, ce dernier étant encore appelé MPEG-4 AVC. Les principaux formats de compression audio sont Vorbis, MP3, AAC (advanced audio coding), les principaux formats de sous-titres sont MPEG-4 timed text et Ogg Writ, tandis que les principaux formats d’enveloppe sont Ogg et Flash video. Mais il y en a bien d’autres. SMIL (Synchronized multimedia integration language), la norme du W3C pour l’intégration multimédia, est déjà utilisé par plusieurs logiciels, mais pas encore par les navigateurs, sauf à titre expérimental. Theora, Vorbis, Ogg Writ et Ogg ont l’avantage d’être gratuits, tandis que H.264, MP3, AAC, MPEG-4 timed text et Flash video sont protégés par des brevets, donc il faut payer pour les utiliser. En général, le prix de certaines licences est inclus dans le prix des lecteurs de DVD de salon ou dans celui des ordinateurs personnels, mais ce n’est généralement pas le cas si le visiteur utilise Linux ou BSD, puisque Linux et BSD sont gratuits.

Site réactif

Un site réactif est un site qui réagit à ce que fait le visiteur, outre le changement de page et la lecture des films ou des bandes son. Par exemple, un menu déroulant, ou bien un calcul. Sur certains sites commerciaux vendant des produits complexes comme des ordinateurs, le visiteur-client peut ajouter, modifier ou supprimer des options et le total à payer est modifié immédiatement à chaque fois, sans que le visiteur n’ait à valider ni à attendre. Ceci est de la réactivité. (En revanche, la commande et le paiement doivent faire appel aux techniques d’interactivité décrites ci-dessous.) La réactivité ne nécessite pas que ce que fait le visiteur remonte jusqu’au serveur (le gros ordinateur). En effet, la réactivité est obtenue par un petit programme inclus dans la page web et appelé "applet", qui tourne côté client, c’est-à-dire fonctionne sur l’ordinateur du visiteur, pas sur le serveur, qui ne saura jamais ce qui s’est passé sur l’ordinateur du visiteur. Autrement dit, s’il y a, par exemple, un calcul, c’est l’ordinateur du client qui fait le calcul. La réactivité est donc très rapide, car il n’est pas besoin d’attendre la réponse d’un serveur lointain. Le client (ordinateur du visiteur) doit d’abord télécharger l’applet. Il ne peut donc s’agir que d’un petit programme. Par ailleurs, le navigateur du visiteur peut ne pas comprendre l’applet ou être configuré pour ne pas en tenir compte. Cette technique, quoique très répandue, n’est donc pas extrêmement fiable.

Le langage de programmation le plus connu des applets est JavaScript, dont la norme ECMAScript est acceptée par tous les navigateurs modernes de bureau, mais le visiteur, ou la personne qui a configuré son ordinateur peuvent avoir désactivé "JavaScript", si bien que rien ne se passera. Il faut citer aussi, comme langages d’applets, Java qui, malgré son nom, n’a rien à voir avec JavaScript et qui nécessite un plug-in au navigateur du client (le plug-in Java), ainsi qu’ActiveX, qui ne fonctionne que sous Microsoft Windows.

Site interactif

Un site interactif, comme son nom l’indique, est un site où le visiteur interagit avec le serveur, et pas seulement pour décider des pages qu’il consulte en cliquant sur des liens. Dans cette catégorie entrent les sites comportant un formulaire d’envoi de courriel, les sites de services financiers, même ceux qui ne permettent au visiteur que de consulter ses comptes et non pas de faire d’opérations. En effet, c’est en réponse à ses nom et mot de passe que le site lui présente ses comptes, et non pas ceux de quelqu’un d’autre. De façon plus générale, tout site qui demande un identifiant et un mot de passe est interactif. Sont aussi interactifs les sites marchands, où le visiteur peut faire un achat en ligne, les sites comportant une recherche interne par mot-clé, et les moteurs de recherche, comme Google ou Exalead.

Beaucoup de sites web interactifs utilisent des cookies pour reconnaitre le visiteur. Une autre technique, qui ne dure que le temps d’une session, est de placer cette information dans l’URI.

Les sites interactifs utilisent généralement une base de données, le plus souvent à la norme SQL (structured query language) et toujours un langage permettant au serveur et à l’ordinateur client de dialoguer. La technique la plus ancienne, toujours utilisée, est le CGI (common gateway interface), une norme permettant à l’ordinateur client de faire passer des informations au serveur pour que celui-ci fasse exécuter un programme écrit dans n’importe quel langage de programmation : Perl, C, C++, Basic etc.. Cette technique est assez lente si les deux ordinateurs (client et serveur) doivent réagir plusieurs fois l’un à l’autre. Une amélioration est FastCGI. Des alternatives sont des modules ajoutés au serveur pour que celui-ci comprenne certains langages de programmation, tournant côté serveur : le plus souvent PHP (hypertext preprocessor), Visual basic.NET, C#, Java ou Ruby. Les sites web interactifs modernes s’efforcent de faire coopérer au mieux l’ordinateur client et le serveur, ce qui nécessite l’usage coordonné de technologies de réactivité et d’interactivité. Une telle coordination est elle-même une technologie. Les coordinations réactivité-interactivité les plus connues sont : Ajax (Asynchronous JavaScript and XML), fondé comme son nom l’indique sur JavaScript, qui fonctionne sur tous les navigateurs mais peut avoir été désactivé, Adobe Flash, Java et Microsoft Silverlight. Contrairement à Ajax, ces dernières technologies nécessitent un plug-in du navigateur. Or Apple, le plus gros producteur de navigateurs à main (iPhone etc.), ne fournit pas cette possibilité sur ses navigateurs à main.

D’une part une telle programmation faisant intervenir deux ordinateurs devient rapidement très compliquée, d’autre part beaucoup de besoins de programmation web élémentaires sont standards, comme par exemple la gestion de session des visiteurs (qui permet de reconnaitre un même visiteur qui navigue de page en page). Plutôt que de réécrire des morceaux de programme déjà existant, le programmeur utilise donc souvent un cadriciel web (ou web framework). Un type de cadriciel est dit modèle-vue-contrôleur, comme Django, PureMVC, ou XForms, qui fournissent au programmeur des bibliothèques (collection de morceaux de programmes) chargées des tâches de bas niveau mais aussi de tâches de niveaux supérieurs.

D’une part tous les créateurs de site web ne sont pas des programmeurs, d’autre part beaucoup de besoins sophistiqués pour internet sont standards. Par exemple, il y a un nombre considérable de sites marchands, qui ont des besoins similaires. Plutôt que programmer à chaque fois, beaucoup de créateurs de sites web utilisent un CMS (content management system, c’est-à-dire système de gestion de contenu), qui contient une collection de programmes tout faits pour les tâches d’interactivité, mais aussi de réactivité, et qui est articulé à une collection de modèles de sites. En outre, les CMS séparent les rôles d’informaticien et de rédacteur, permettant à des auteurs sans connaissance informatique particulière d’insérer du contenu. Il existe de nombreux CMS, dont les plus utilisés semblent être Drupal, vBulletin et Expression engine. Pour les blogs, le CMS le plus utilisé est de loin WordPress. La plupart des CMS offrent aussi des fonctions de cadriciel, et facilitent donc la programmation de modules supplémentaires.

Site participatif

Un site participatif est un site permettant des interactions non seulement entre le maitre du site et le visiteur, mais aussi entre visiteurs. Sont participatifs les sites permettant au visiteur de laisser un commentaire public, auquel d’autre visiteurs pourrons répondre, les sites comportant un forum, les sites sociaux, où le visiteur a sa propre page, sur laquelle d’autres peut écrire, les wikis, où les visiteurs participent ensemble à la rédaction d’une base de connaissance (la plus connue étant Wikipedia), les sites de webmail, permettant d’envoyer et de recevoir du mail sur le web (à la différence de programmes comme Microsoft Outlook ou Thunderbird, qui gère le courrier hors web). Sont aussi participatifs les sites de tchat (bavardage écrit).

Les techniques utilisées pour les sites participatifs sont les mêmes que celles utilisées pour les autres sites interactifs. Un site participatif a forcément une base de données.

Site ouvert

Appelons site ouvert un site qui inclut automatiquement du contenu fourni par des tiers qui ne sont pas forcément ses visiteurs. La syndication de contenu permet à plusieurs sites de partager un contenu commun, mis à jour de façon automatisée. Par exemple, de nombreux sites fournissent des prévisions météorologiques, des nouvelles ou encore des cours de bourse, issus d’une source tierce. Il s’agit en général soit d’un service payé par le maitre du site qui inclut l’information, soit d’une opération de promotion pour la source.

Outre les sites à syndication de contenu, entrent dans la catégorie des sites ouverts les sites qui affichent automatiquement de la publicité en provenance d’une agence de publicité et non pas directement de l’annonceur. Sont aussi des sites ouverts les sites de webmail (mais ceux-ci sont également interactifs). Par exemple, si j’écris un mail à Cathy@gogo.mn, mon mail s’affichera sur le site de Gogo quand Cathy s’y connectera pour lire son mail, sans que j’ai eu besoin de visiter le site de Gogo.mn. Le site de micro-blogging Twitter et ses sites partenaires affichent aussi des messages qui ont été émis par des personnes qui n’ont pas forcément visité leur site. Les moteurs de recherche comme Google ou Altavista affichent aussi du contenu de ce type de tiers (ils sont forcément interactifs).

Les technologies de syndication de contenu les plus connues sont RSS (Really simple syndication) et Atom.

D’autres techniques utilisées par les sites ouverts sont Javascript, le mail, Twitter (qui est un service partagé de micro-blog très simple), des logiciels de gestions de publicités comme OpenX ou des services de gestion de publicité comme Google adwords, des robots d’indexations tels Heritrix, HTTrack, ou Scooter (ce dernier n’est ni libre ni en vente).

Site robotisé

Un site robotisé est un site interactif permettant au visiteur de donner des ordres à un ou plusieurs automates autres qu’un ordinateur. Par exemple, un site de courrier hybride reçoit par internet un texte ou des images ainsi que le paiement du service, imprime le texte ou les images automatiquement grâce à une imprimante (1er automate), les plie grâce à une plieuse (2e robot), les met sous enveloppe (3e robot) puis les expédie par la poste au nom du visiteur du site. (Au lieu de 3 robots, il peut s’agir d’un robot à triple fonctionalité.)

Les sites robotisés utilisent des pilotes, qui permettent à l’ordinateur de diriger le robot. Le robot lui-même a son propre programme. Le language de programmation est généralement différent d’un modèle de robot à un autre. Cependant Microsoft robotics developer studio et Urbi sont des tentatives de cadre de programmation robotique plus général.

Site pour mobiles

Un site web pour mobiles (alias téléphones portables web ou navigateurs à main) est un site conçu pour les navigateurs ayant un tout petit écran et, en l’état actuel, une connextion internet couteuse et un débit internet souvent faible. Il ne s’agit pas d’une catégorie de sites s’ajoutant aux catégories précédentes, mais une catégorie transversale, c’est-à-dire qu’un site pour mobile peut être statique, réactif, interactif etc.. Un même site web peut être conçu à la fois pour les ordinateurs de bureau et les navigateurs à main.

Les sites destinés à la fois aux mobiles et aux ordinateurs de bureau utilisent en général un programme de reconnaissance du navigateur, qui analyse les données envoyées par le protocole HTTP (hypertext transfert protocol: protocole de transfert hypertexte) avant la page web elle-même, pour savoir s’ils ont affaire ou non a un mobile, par exemple le programme AskPythia (InterrogeLaPythie). Certains sites pour mobiles utilisent un programme qui interroge une base de données pour obtenir plus de précision sur le mobile qui se connecte, notamment la taille exacte de son écran, par exemple la base WURLF (Wireless Universal Resource FiLe, soit Fichier-ressource universel du sans-fil). Le W3C (World wide web consortium) a publié une interface d’interrogation de telles bases qui s’appelle DDR simple API (device description repository simple application programmation interface, soit interface de programmation simple pour base de données descriptives d’appareils). L’adaptation du contenu à l’appareil lecteur est obligatoire pour tout site destiné à la fois aux mobiles et aux ordinateurs de bureau, sauf si les pages sont très simples et légères. En outre, les mobiles n’acceptent en général qu’un sous-ensemble des techniques utilisées dans les sites destinés aux ordinateurs de bureau. Le W3C a rédigé des recommandations spéciales pour ceci, notamment XHTML Basic et XHTML Mobile Profile. Écrire un tel site nécessite donc de connaitre avec précision les limitations de la majorité des mobiles, et donc un savoir et un savoir-faire spécifiques. Pour aider les créateurs de sites dans cette tâche, le W3C a publié une bibliothèque (ensemble de fonctions de programmation) d'adaptation automatique de contenu, appelée TransPythia.