Dernière m.à.j. : 2018-06-17
1. Qu'est-ce que l'hébergement de site web ?
La création d'un site peut se résumer à l'écriture de pages, liées entre elles, contenant ou non d'autres éléments : images, animations, objets divers ...
Seulement un site est généralement créé pour être consulté. Or s'il reste sur la disquette de l'ordinateur, personne ne le verra. D'où l'idée de le mettre sur un ordinateur serveur qui permettra à tout le monde de le consulter. Ceci s'appelle l'hébergement : on met le site sur un disque dur à des fins de consultations publiques.
Le serveur qui héberge le site n'est ni plus ni moins qu'un ordinateur, cela peut être son propre ordinateur (on parlera d'hébergement local)... ou un prestataire externe (gratuit ou payant). Ce choix demande la connaissance d'autres éléments qui feront lieu d'un paragraphe en bas de page.
L'hébergement de site est donc la mise en place sur un serveur d'accès publique en consultation.
2. Comment choisir son hébergement ?
Pour ce faire, il faut savoir ce dont le site a besoin, cela inclue :
- Le langage utilisé (simple langage client ? ou langage serveur ? si oui, lequel ?)
- La taille de tous les éléments constitutifs du site (5 ou 6 fichiers HTML ne demanderont pas d'avoir 1 Go d'espace disque ..., même accompagnés de quelques photos de taille raisonnable)
- Les ressources éventuelles sur le serveur : faut-il pouvoir traiter des données en masse ? (inscriptions de gens, suivi de commandes ...) ou simplement afficher quelques pages ?
En fonction de ceci, on trouve des offres d'hébergement de taille plus ou moins importante, en général 100 Mo suffisent largement pour le commun des mortels.
3. Qu'est-ce qu'une offre d'hébergement ?
Une offre d'hébergement est un contrat passé entre un client, identifié par une personne physique (ou morale) et une entreprise qui propose de mettre à disposition du client un morceau de l'espace de ses disques durs.
L'offre se décline en plusieurs paramètres qui sont, pour la plupart des hébergeurs, affichés en tableau comparatifs. Voici quelques explications sur les paramètres les plus habituels :
- Taille du disque
C'est la quantité d'espace disque maximal qui est disponible pour le client. Elle est en général exprimée en méga octets (Mo); pour un petit / moyen site, 100 Mo suffisent largement. Le client peut y stocker ce qu'il désire, mais cet espace n'est pas un espace de sauvegarde personnelle (c'est précisé sur presque tous les contrats d'hébergement - rapport à la mise à disposition d'oeuvres protégées). Le dépot de fichiers dans cet espace se fait par l'étape de mise en ligne du site.
- Base de données
-
La base de données est un moyen de stocker des informations en masse. Pour faire une comparaison visuelle assez simple, une base de données peut être comparée à un fichier créé par un tableur(ex. un fichier Microsoft Excel) : la base contient des tables (comparées aux feuilles Excel) lesquelles contiennent des champs (les colonnes). La table regroupe des enregistrements (les lignes). La base de données permet d'effectuer des opérations de tri, de mise à jour, d'ajout ou encore de suppression de ces données, le tout par langage SQL.
- Service de mail
-
Service permettant de recevoir des emails grâce à une adresse liée au nom de votre site. La place des mails est parfois comprise dans l'espace disque total d'hébergement. Certains forfaits permettent de créer 1, 2, 5 ... n adresses mails.
- Nom de domaine
C'est un nom qui délimite un domaine de fichiers : votre site. Ce nom est un pointeur vers une adresse de machine, ex. php-astux.info est un nom de domaine. Le nom de domaine est cractérisé par le nom, et le domaine (évidemment). Le nom est choisi par le client, dans la limite des noms disponibles, et le domaine est l'extension qui peut être soit générique (.com, .net, .info, .biz, .org) ou dépendante d'un pays (.uk, .jp, .fr ...). Le nom de domaine dispose de 4 "contacts" qui ont certains pouvoirs dessus (transfert, migration, mise à jour ...) et il est réservé pour au moins 1 an (plus, si le client achète plus, mais ce sera toujours un nombre entier d'années)
- Sous domaine
C'est un nom de domaine rattaché au nom de domaine principal. Il pointe vers un sous dossier du site en général. Exemple : forum.mon_domaine.extension
- Langages et technologies
Tous les hébergeurs ne proposent pas les mêmes langages ni les mêmes technologies. Le plus commun est le PHP sur serveur Linux, mais on trouve également des serveurs ASP, d'autres hébergeurs se contentent de n'offrir que le support de l'HTML. Si le site à publier ne contient que des pages statiques, qui ne sont pas susceptibles d'évoluer à chaque clic du visiteur, alors le langage serveur n'est pas forcément requis.
- Autres options
Certains contrats d'hébergement proposent d'autres options supplémentaires, telles qu'un référencement du site tous les n mois, ou encore une sauvegarde (backup) tous les n jours ...
Mais le forfait mentionne également d'autres paramètres tels que la "bande passante", les "requêtes" ...
4. Types d'offres d'hébergement
On distingue 3 types d'offres d'hébergement, 3 sortes de contrats en quelque sorte :
- L'hébergement dit "mutualisé" ;
- Le serveur dédié ;
- Le serveur virtuel.
4.1. Hébergement mutualisé
C'est le contrat le plus répandu, en termes de quantité. Il s'agit d'un serveur, qui est un ordinateur avant tout, qui dispose comme tout ordinateur d'un microprocesseur, d'un gros disque dur et de mémoire vive (RAM).
Mutualiser un serveur, c'est mettre plusieurs clients dessus, les clients se partagent les ressources de la machine. C'est un peu comme un immeuble, comprenant des appartements (1 appartement = 1 client) : les habitants se partagent les poubelles, l'escalier et l'ascenceur.
L'inconvénient de ce type d'offre, c'est que si un des "habitants" utilise trop de ressources, tous les sites hébergés sur ce même serveur seront ralentis. L'avantage (indéniable) c'est le prix : les hébergeurs gratuits proposent ce type d'hébergement, et pour les payants, les premiers prix tournent aux alentours de 1 euro 50 HT par mois.
4.2. Serveur dédié
Là, il s'agit carrément d'une machine intégralement destinée à un client. Une "maison", pour reprendre mon exemple précédent. Le client héberge ses sites sur la machine, il est le seul à utiliser les ressources de la machine. C'est l'offre la plus "puissante" parce que polyvalente, mais aussi la plus chère : les premiers prix tournent aux alentours de 35 euros par mois (Dédiibox de Free) mais grimprent vite et jusqu'à 300/400 euros par mois ...
Sur ce type de contrat, le client ayant plein accès administratif à sa machine (ce qui n'est pas possible dans le cas du mutualisé), peut à loisir adapter les paramètres (temps d'exécution des scripts, taile maximum de téléchargement de fichiers ...)
4.3. Serveur virtuel
Cette offre est une réunion des 2 précédentes. C'est une machine mise à disposition de plusieurs clients (on retrouve là le principe du mutualisé) mais chaque client peut interférer sur l'administration de "sa" machine (en réalité, chaque client a en quelque sorte une machine vituelle, et toutes les machines virtuelles utilisent une même machine réelle pour fonctionner) : on retrouve là le principe du serveur dédié.
5. Bande passante et débit
- Définition générale
-
Si on doit comparer à la plomberie cette section, alors :
- La bande passante est le diamètre du tuyau ;
- Le débit est la quantité d'éléments (eau, p.ex.) qui passe par unité de temps dans ce tuyau.
La bande passante est généralement exprimée en Hertz (fréquence). Cela s'applique à l'électronique, mais aussi à la mer, aux voitures sur l'autoroute...
En informatique, le débit s'exprime en général en kilobits/seconde, que l'on peut aisément convertir en kilooctets/secondes : il suffit de savoir que 1 octet = 8 bits et donc la division du nombre de kilobits (noté kb) par 8 donnera l'équivalent en kilooctets (ko ou kB en anglais, B pour Byte)
en anglais, tant que j'y suis :
- 1 octet se dit 1 Byte, noté B (B majuscule)
- 1 bit se dit 1 bit noté b (b minuscule)
C'est ainsi que l'on distingue la bande passante du débit : respectivement la théorie et la pratique. La théorie se calcule par la puissance maximale de la ligne (réseau, internet, bus système ...) alors que la pratique est l'application concrète.
Je prends un exemple :
une connexion 56k = 56 kilobits/sec = 7 kilo octets / seconde.
en théorie.en pratique, cette connexion permettra de télécharger les informations à une vitesse entre 4 et 6 kilo octets par seconde.
Pour donner un autre exemple plus général, il suffit de comparer la bande passante à une autoroute où les informations seraient des voitures. L'autoroute a une largeur, exprimée en nombre de voies : 2 voies, 3 ou 4 voies. C'est la bande passante.
En mettant 4 voitures ensemble, elles peuvent être une sur chaque voie par exemple (débit : 1 voiture par voie). Ce qui implique que chacune peut avancer à la vitesse qu'elle veut, puisque personne ne la dérange devant (tout code de la coute mis de coté); alors que s'il n'y a qu'une voie, c'est la première des 4 voitures qui limite les 3 autres (débit : 4 voitures par voie) à moins de doubler, ce que les informations électroniques ne feront jamais.
- Définition appliquée à une connexion internet
-
Le débit et la bande passante sont tributaires d'un forfait internet. Ils n'augmentent ou ne diminuent que selon la capacité de ce dernier. Par exemple, l'ADSL 1 mega signifie 1 megabit par seconde en réception (= la bande passante). Pour faire augmenter ou diminuer la bande passante en tant que telle, il faut changer de forfait.
Concernant l'occupation de la bande passante, vis à vis d'internet, c'est tout ce qui est téléchargé qui en est responsable.
Les informations naviguent dans les 2 sens (cf. les protocoles client-serveur) : il y a l'émission (upload) d'un serveur vers son client et la réception (download) du client depuis le serveur qui sont traduites toutes les 2 dans un seul mot français : le téléchargement. (contrairement aux termes anglais, qui distinguent le sens du flux des données)
- Pour l' "upload" : en général c'est l'envoi de mails, les logiciels p2p (emule, Kazaa et Cie), messagerie instantanée, antivirus ... webcam sur chat ... jeu sur internet ...
- Pour le "download" : messagerie instantanée, antivirus, réception de mails, mises à jour de logiciels ... navigation et jeu sur internet ...
Ceci est valable à condition que lesdits logiciels soient chargés en mémoire ... la réception de mails ne prendra rien si aucun client messagerie n'est ouvert !
- La bande passante et le débit dans le domaine de l'hébergement
-
la bande passante, c'est dans le cas de l'hébergement la taille totale de ce que le serveur qui héberge le site pourra envoyer par unité de temps en théorie pour que le visiteur puisse consulter une page : la visite d'une page demande
- la page html en tant que telle
- les images (de fond, de décoration), les boutons...
- bannières éventuelles
- musiques éventuelles
- divers : animations Java, flash...
- éventuellement un fichier proposé à télécharger : pdf, zip ...
Donc, pour une seule page de site, on fait l'addition des tailles en ko de tous les éléments cités ci dessus, et on obtient la taille de bande passante requise pour voir cette page (qui sera téléchargée à un débit dépendant généralement du forfait Internet du visiteur). En sachant que, pour l'exemple du zip proposé à télécharger, ce n'est que lorsque le visiteur demande par un clic sur un lien, à recevoir le zip, que la quantité correspondante est demandée...
Exemple 1 : calcul simple
Une page html simple, avec tous les éléments cités ci dessus :
- fichier htm : 10 ko (dont le texte écrit sur la page)
- banniere.gif : 25 ko
- fond.jpg : 0.5 ko
- bouton1.gif : 2 ko
- bouton2.gif : 2 ko
- bouton3.gif : 2 ko
- pdf proposé en parallèle : 150 ko
- zip proposé en parallèle : 2 Mo
Pour voir cette page, le navigateur du visiteur demande au serveur de lui uploader :
- fichier.htm
- la banniere.gif
- le fond.jpg
- les 3 boutons
le pdf et le zip ne seront uploadés que si le visiteur les demande.
Quantité de données :
10 + 25 + 2*3 + 0.5 = 41.5 koSi jamais je clique sur le lien du ZIP, 2 Mo seront utilisés après.
6. Quota
Pour illustrer, le calcul dans l'exemple précédent donne la quantité totale que le visiteur doit recevoir pour consulter le(s) document(s) demandé(s). Mais comme définie dans la manière générale, la bande passante est un calcul par unité de temps, et non pas par élément consulté. En d'autres termes, la consultation d'une page consomme de la bande passante lorsque le téléchargement a lieu, mais fait augmenter aussi le quota.
Le quota de bande passante, c'est la quantité totale de téléchargement qui est permise pour un forfait.
Par exemple, un hébergeur lambda autorise pour son forfait d'espace disque de 100 Mo un quota de bande passante de 10 Go. c.à.d. que le site du visiteur pourra au maximum demander au serveur, dans un mois (cas d'un contrat mensuel), de faire sortir 10 Go de données.
Je reprends et perfectionne mon exemple 1 ci-dessus.
6.1. Exemple 2 : calcul de quota.
Supposons un site d'une seule page HTML qui propose ceci :
- le fichier index.html qui contient le texte, 1 Mo
- une video de l'auteur en concert, 99 Mo
Lorsqu'un visiteur arrive sur la page du site pour la première fois, il télécharge index.html (que j'ai mis à 1 Mo pour des raisons de simplicité de calcul, en réalité les pages html font en moyenne 50 ko, soit 0.05 Mo).
Le contrat de l'hébergeur qui permet de consulter ce site autorise 10 Go de quota mensuel.
Le visiteur décide de télécharger la vidéo, il aura consommé au total : 1 Mo + 99 Mo = 100 Mo du quota de 10 Go (soit 1%).
C'est à dire que si 100 visiteurs différents téléchargent la vidéo en plus d'avoir affiché la page, la limite des 10 Go est atteinte. Et là que se passe-t-il ? Certains hébergeurs bloquent le site, d'autres facturent le surplus de quota... Voir dans leurs CGV.
6.2. Vol de quota
Oui, cela peut exister. On peut heureusement s'en prémunir, cela s'applique surtout aux potentiels gros fichiers (images, videos, musiques...) et se traduit par le fait que le site concurrent propose votre fichier en téléchargement sur sa page. Ce qui fait que le visiteur, lorsqu'il clique sur le lien, télécharge le fichier non pas depuis le site du concurrent, mais depuis votre hébergement, consommant ainsi votre quota... Ce n'est pas très honnête lorsque ce n'est pas issu d'un accord préalable. (l'échange de bannières suit ce principe également, mais dans la mesure où il y a eu échange, c'est qu'il y a eu accord préalable). On parle aussi de "hotlinking" (lien à chaud) ou de "vol de bande passante".
7. Comment réduire l'utilisation de la bande passante ?
Il existe quelques astuces, que voici :
7.1. Faire télécharger au visiteur des éléments les moins lourds possible
Par exemple, au lieu d'écrire dans le code html :
<font face="Arial" size="12" color="#FF6600">Salut les amis !</font>
on peut créer un style CSS qui reprendra la police, la taille et la couleur :
.style_orange { color:#FF6600; font-size:12pt; font-family:"Arial" }
et l'appeler de la manière suivante :
<p class="style_orange">Salut les amis !</p>
Pour une seule instance ... ce n'est probablement pas nécessaire de créer un style CSS... Mais avec un site de 300 pages, on sent vraiment la différence !!!
Le poids de la page HTML est tributaire du nombre de caractères la composant ... Et sur un site dont le nombre de pages augmente vite, les alléger en code source allège aussi leur poids. On arrive ainsi dans des considérations de sémantique HTML ...
7.2. Optimiser les images.
Par exemple, une image qui n'est composée que de 5 ou 6 couleurs principales, la passer en format GIF au lieu de la garder en bmp, 24 bits. (cf Choisir son format d'image : GIF, JPG, PNG ?)
8. Hits / Requêtes
Les hits et requêtes désignent la même chose : on parle ici de requêtes HTTP, et non de requêtes SQL. La requête est très souvent associée au fait d'interroger un moteur sur un type de données. Point de vue hébergement, il s'agit, pour le navigateur, de demander un élément constitutif de la page au serveur.
Pour reprendre mon exemple 1, lorsque j'ouvre cette page, mon navigateur demande :
- fichier.htm
- la banniere.gif
- le fond.jpg
- les 3 boutons
soit 1 + 1 + 1 + 3 = 6 éléments. Cela fait 6 requêtes HTTP. (6 hits)
Une requête n'est pas limitée en taille, c'est simplement le fait de demander quelque chose au serveur. Si je clique sur le lien pour avoir le PDF, cela fait une requête en plus.
9. Hébergement local ou distant ?
Héberger un site chez soi demande:
- d'avoir un ordinateur allumé 24h/24 (avec la consommation électrique que cela engendre);
- d'avoir un ordinateur très sécurisé, afin que les gens malveillants ne dénichent pas d'autres informations ou ne détruisent le contenu de l'ordinateur;
- d'avoir une bonne connexion, puisque les visiteurs seront limités par la capacité de l'"upload" de la ligne Internet. (Cas d'une ligne ADSL 512-128 : 16 ko/seconde en émission, les visiteurs ne pourront télécharger les éléments du site qu'à 16 ko/seconde maximum. Valable pour un visiteur, mais pas pour 200 connexions simultanées ...
Héberger un site chez un prestataire demande :
- s'il est gratuit, de supporter ses conditions de gratuité (souvent de la publicité affichée)
- s'il est payant ... de s'acquitter des factures... Mais il met toute son architecture à disposition pour que le site soit visité dans des conditions optimales.
En guise de conclusion, avec toutes les offres disponibles aujourd'hui, il est largement plus intéressant et économique d'avoir recours à un service, même payant, extérieur.