Un site web, qu'est-ce que c'est et comment en créer un ?

Article publié sur le blog Chroniques le 7 novembre 2012.

Cet article est un article d'initiation destiné à des néophytes complets, avec beaucoup de simplifications. Si vous n'êtes pas un néophyte, passez votre chemin !
Vous surfez sur le web et vous vous dites : "tiens, moi aussi, je voudrais un site web". Et, là, vous vous rendez compte que vous ignorez ce que c'est et comment en créer un. Ce billet est une petite introduction à la chose.
Un site web n'est pas radicalement différent de ce que vous pouvez avoir sur votre disque dur, en local, sur votre propre ordinateur. Il s'agit avant tout, en effet, d'un espace de stockage de fichiers informatiques sur un ordinateur. Rien n'interdit, dans l'absolu, que vous installiez un tel site sur n'importe quel ordinateur connecté à Internet, y compris chez vous. Certains passionnés le font.
Mais, dans la pratique, il vaut mieux créer son site sur un ordinateur dédié, hébergé par un spécialiste. En effet, pour que votre site soit accessible, il faut que l'ordinateur où il se situe soit allumé... Comprenez : allumé en permanence. En plus, il va être connecté en permanence et donc ouvert à qui le voudra en permanence. Si la sécurité de cet ordinateur n'est pas parfaite, vous serez piraté très rapidement. Disponibilité et sécurité font que des non-spécialistes doivent créer leur site en le faisant héberger par une société spécialisée.
Vous aurez des droits plus ou moins importants sur cet ordinateur qu'un spécialiste va vous prêter ou vous louer. Tout dépendra du contrat que vous avez conclu avec celui-ci. Plus vous voulez un ordinateur puissant, plus vous voulez de la liberté dans ce que vous ferez sur cet ordinateur, plus ce sera cher et compliqué à gérer.
Dans la plupart des cas, des droits limités sont largement suffisants. Dans la pratique, vous aurez donc un espace pour stocker des fichiers rendus accessibles au travers d'Internet, éventuellement une base de données. On appelle "base de données" un fichier particulier contenant des données à la manière d'un ensemble de tableaux où chaque colonne contient une sorte d'information et une seule, chaque ligne une entité. Par exemple, une base de données peut être un carnet d'adresses : chaque colonne sera une information utile (nom, prénom, adresse postale, téléphone, etc.) et chaque ligne une personne (votre cousine Berthe, votre patron...).
Cet ordinateur va être sur le réseau Internet. Pour être trouvé, il va disposer d'une adresse informatique, ce que l'on nomme l'adresse IP, constituée d'une série de chiffres et de signes de ponctuation.
Retrouver cet ordinateur avec cette suite de chiffres et de signes de ponctuation est toujours possible mais, franchement, ce n'est pas pratique. Pour que ce soit plus simple, il existe donc des "noms de domaine". Par exemple : Google.com, Microsoft.fr, etc.
Ces noms de domaines sont gérés dans des annuaires spéciaux que l'on nomme les DNS (Domains Names Servers : serveurs de noms de domaines). Quand vous tapez une adresse sous forme de nom de domaine, l'ordinateur va aller chercher dans l'annuaire le plus proche (celui de votre fournisseur d'accès à Internet en général) sous quelle adresse IP se cache l'ordinateur que vous cherchez. Si cet annuaire ne connait pas la réponse, il va aller chercher dans un annuaire de référence.
L'adresse se compose de plusieurs éléments : sous-domaine.domaine.TLD. Dans "www.google.com", "www" est un sous-domaine, "google" un domaine et "com" un TLD. Il existe une convention selon laquelle le sous-domaine est par défaut "www". Mais ce n'est qu'une convention, exactement comme le fait de rouler à gauche ou à droite lorsque l'on conduit une automobile. Le TLD (Top Level Domain) renvoie au fameux annuaire de référence dont je vous parlais. Il en existe au moins un par pays (comme ".fr" en France) et quelques uns sont internationaux (".com" est le plus célèbre). Inscrire son site dans un tel annuaire, ce que l'on appelle "acheter un domaine", est payant. En général, c'est le spécialiste qui vous loue l'espace de stockage de votre site web qui va vous le proposer et agira en intermédiaire, exactement comme un supermarché vous propose des pommes de terre qui ont été cultivées par un paysan très très loin de chez vous. Vous ne connaissez pas le paysan mais vous voulez des pommes de terre. De la même façon, vous n'avez pas à connaître ceux qui gèrent les TLD : des distributeurs se chargent de tout pour vous.
Il est possible que l'hébergement de votre site web soit associé à divers services, par exemple une messagerie e-mail. Cette messagerie utilisera alors le même domaine que le site web.

A ce stade, vous possédez donc un espace de stockage que l'on peut trouver sur Internet.

Tout ce que vous mettrez sur cet espace de stockage va donc pouvoir être trouvé sur Internet. Rien ne vous interdit d'y mettre ce que vous voulez, dans la limite de ce qui est légal, bien entendu, ainsi que du volume de stockage dont vous bénéficiez.
Mais un site web qui pourra être lu par un navigateur (comme Firefox, Internet Explorer ou Chrome) devra comporter des fichiers dans des formats précis. Si vous ne respectez pas ces formats, le logiciel ne saura pas les lire, et donc les afficher, même s'il les trouve.
La base d'un site est normalement construite en fichiers HTML. Ces fichiers (dont l'extension est .htm ou .html) sont des fichiers essentiellement de texte. Mais ils comportent également un véritable langage informatique qui permet au navigateur de savoir quoi faire avec. Par exemple, une portion de texte peut être associée à un lien hyper-texte qui permettra, quand on clique dessus, d'accéder à un autre fichier. Un tel fichier ne comporte pas d'images ou de vidéos mais intègre des espaces où des images placées à côté s'insèreront et seront affichées quand le navigateur lira la page.
Comme votre disque dur, le site web comprend des répertoires (ou dossiers).
Une adresse complète (ou "URL") sera donc du type : www.domaine.tld/dossier/fichier.htm
Une convention veut que le fichier de départ d'un dossier se nomme "index" ou "default". L'URL "www.domaine.tld/dossier" permettra donc d'ouvrir, par défaut, le fichier "www.domaine.tld/dossier/index.htm" si celui-ci existe.
La plupart des navigateurs se contenteront aujourd'hui de ces informations. Sachez cependant que l'URL complète est précédée d'un code indiquant selon quel protocole informatique il faut aller chercher le fichier et le lire.
Sur le web, le protocole pour lire un fichier à distance est le protocole HTTP.
L'URL réelle est donc "http://www.domaine.tld/dossier/fichier.htm", les trois signes "://" étant une convention pour séparer le protocole du reste de l'adresse sans risquer de confusion.

A ce stade, vous êtes donc capable de trouver un fichier placé dans un dossier d'un espace de stockage situé quelque part sur Internet.

Bon. Encore faut-il mettre ce fichier à l'endroit où on espère que quelqu'un le trouvera. Le protocole HTTP est un protocole de lecture : il ne permet pas de modifier le contenu d'un site web. Heureusement, d'ailleurs : si n'importe qui pouvait modifier un site rien qu'en arrivant dessus, il y aurait une certaine pagaille...
Pour transférer un fichier, il faut donc utiliser un autre protocole, le FTP (File Transfert Protocole). Pour le faire, il existe des programmes dédiés, comme Filezilla. Le protocole FTP est un protocole sécurisé : vous ne pourrez pas accéder à un espace sur le web sans posséder le mot de passe et l'identifiant nécessaires, possédés normalement par ceux qui ont le droit de modifier un site web.

Maintenant, votre site est donc en ligne. Parfait.

Revenons maintenant sur une variante. Nous avons vu jusqu'ici le principe selon lequel le fichier HTML pré-existait au moment où on le cherchait. On appelle cela un site web fixe. On peut avoir également un site web dit "dynamique" ou le fichier HTML est fabriqué au moment où quelqu'un cherche à le lire. Pour avoir un tel site dynamique, on utilise un programme particulier, que l'on installe sur son espace de stockage. Normalement, ce programme est écrit en PHP, un langage informatique dédié (cela peut être autre chose).
Vous allez vous dire : un site écrit dans un langage informatique est forcément plus compliqué à réaliser qu'un site fait en HTML directement. Eh bien, pas du tout. Il existe en effet des programmes tout prêts, qui s'installe simplement et s'administrent autant simplement. On les appelle des CMS (Content Management Systems). Un blog, par exemple, peut être réalisé avec le CMS Wordpress. Le contenu du site sera alors stocké dans une base de données (rappelez-vous ce que je disais à ce sujet au début de l'article) et le programme fabriquera à la demande des pages avec les éléments de la base de données.
Bien entendu, comme sur le présent site, vous pouvez avoir un dossier avec votre CMS et d'autres dossiers avec du HTML normal.