Mise en ligne d’un site web

Mettre en ligne un site web est une opération assez facile à condition de l'avoir réalisé au moins une fois. Sur cette page je récapitule les différentes étapes à franchir pour pouvoir au bout de quelques heures pouvoir visualiser son propre site J'ai repris les différentes étapes de la mise en ligne de mon site. Cette page s'adresse à des personnes n'ayant jamais publié de site web.

Si j'ai moi-même utilisé Windows comme système d'exploitation, à l'exception de quelques commandes spécifiques, tout est valable pour Linux ou autre OS.

En effet, les rares commandes à utiliser (nslookup par exemple) sont différentes suivant l'OS utilisé.

Pour mettre en ligne un site web et faire en sorte qu’il soit accessible par les internautes il faut passer par un certain nombre d’étapes au-delà même de la conception du site. Il est nécessaire en premier lieu :

  • De louer un nom de domaine
  • De choisir un hébergeur

J'ai ici pris l'option de choisir des fournisseurs différents pour le nom de domaine et pour l'hébergement.

A- Louer un nom de domaine

De façon à être cohérent, j'appellerai registrar l'organisme en charge de louer les noms de domaine. En toute rigueur je devrais l'appeler en français 'bureau d'enregistrement de noms de domaine' et en anglais 'domain name registrar'.

Avant de louer un nom de domaine il est peut-être utile de comprendre l'organisation au niveau mondial des noms de domaine.

1-l'ICANN

Le nom de domaine que vous allez créer va s'insérer dans un système très hiérarchisé. Il faut savoir que c'est l’ICANN (Internet Corporation for Assigned Names and Numbers ), société de droit californien, qui a la responsabilité de gérer ces noms de domaine.

Il y a d'abord, tout en haut de la hiérarchie, la racine puis dessous les TLD (top-level domain).

  • à la racine il y 13 serveurs.
  • au niveau TLD on retrouve les noms de domaine de premier niveau comme : .com, .fr, .edu, etc…

L’ICANN délègue la gestion des noms de domaine de premier niveau à des tierces parties.

2- l'AFNIC

Par exemple .fr et .re (France et la Réunion) sont gérés par l’AFNIC. Un nom de domaine en .fr sera enregistré par l’AFNIC via des opérateurs qui ont délégation : les registrars.

3- Notre exemple

J'ai pris un exemple concret pour illustrer le propos :

imaginons que nous ayons :
  • un FAI qui soit Orange (FAI : fournisseur d’accès à internet)
  • le nom de domaine loué chez 1&1 qui sera le registrar
  • le site (nom de domaine) hébergé par hostforlife.eu

Ce ne sont que des exemples, j'aurais pu choisir Gandi, 1&1, OVH ou d’autres ... Imaginons que nous voulions publier un site web et que vous vouliez y associer un nom de domaine en ‘.fr’. En l’occurrence du fait du domaine ‘.fr’ choisi, vous devrez vous adresser à un registrar homologué par l’AFNIC, dans notre cas ce sera 1&1.   Il est nécessaire dans un premier temps d'imaginer un nom de domaine puis de vérifier que celui-ci soit libre.

Puis il faut se connecter sur le site de 1&1, (cela aurait pu être gandi, OVH ...) pour dans un premier temps vérifier que le nom choisi n'est pas déjà réservé. Si ce nom de domaine est déjà réservé vous devrez vous rabattre sur un autre. Le site sur lequel vous êtes a pour nom de domaine « plozerche.fr » où :

  • fr représente le domaine de premier niveau
  • plozerche représente le domaine de second niveau

En fait la hiérarchie d’un nom de domaine s'établit de la droite vers la gauche.

Ensuite il sera possible à partir d’un nom de domaine que vous aurez loué (vous n'êtes jamais propriétaire à vie d'un nom de domaine, vous en disposez tant que vous en payez l'abonnement à votre registrar), de créer des sous-domaines. 'maires.plozerche.fr' représente un sous-domaine de plozerche.fr.

Ainsi dans la dénomination suivante : 'maires.plozerche.fr.', le point final représente le haut de la hiérarchie, c'est à dire la racine, 'fr' est le nom de domaine de premier niveau, 'plozerche' le nom de domaine de 2ème niveau et 'maires' un sous-domaine de 'plozerche.fr'.( Dans une URL vous ne mettrez pas le point final).

Quand vous aurez loué un nom de domaine, vous pourrez créer autant de sous-domaines que vous le désirerez, sauf si votre hébergeur vous limite à ce niveau. Physiquement votre sous-domaine se présentera sous la forme d’un répertoire de votre site.

On suppose que vous êtes allé sur le site d'un registrar et vous avez payé l’abonnement pour votre nom de domaine, vous pouvez l’utiliser. Pour l'instant ce nom de domaine n'est associé à aucun site ! Dans notre cas, le registrar étant une société différente de l'hébergeur, il faudra venir modifier les paramètres DNS (voir point 4) plus tard pour pointer sur les serveurs de l’hébergeur, à partir du moment où vous aurez souscrit à un abonnement chez le dit hébergeur. Vous recevrez de votre hébergeur au moins deux adresses de serveurs DNS que vous viendrez renseigner sur le panneau de contrôle du registrar, 1&1 dans notre cas.

4- DNS

Comprendre le rôle du DNS permet de mieux appréhender la publication d'un site web. A la base internet utilise des adresses IP pour diriger les différents paquets vers leur destination. Par contre l'utilisateur lambda préfèrera utiliser un format texte plus facile à mémoriser du type 'http://www.plozerche.fr'. Pour qu'une relation soit faite entre le format texte d'un lien et l'adresse IP effective d'un site, il existe des serveurs dont c'est le rôle, les DNS.
Ces serveurs sont distribués un peu partout dans le monde et doivent être à jour, ainsi lorsqu'un nouveau site est créé et déclaré, il faut un délai avant que ces serveurs soient modifiés.
C'est un processus dynamique de mise à jour qui typiquement prend 24h. Vous pouvez être reconnu dans un pays étranger avant de l'être dans le votre. Vous ne maîtrisez pas ce procesus de mise à jour, il faut simplement être patient. Ceci veut dire que si une modification lié à votre nom de domaine est effectuée alors il faudra attendre, disons 24h, pour que celles-ci soit propagée un peu partout.
Les FAI ont des DNS et tout abonné vient interroger le DNS de son FAI lorsqu'il tente de se connecter à internet et qu'il veut surfer. Ce sont les DNS de l'hébergeur qui font autorité, en fait ce sont les DNS que vous aurez paramètrés au niveau de votre registrar qui auront ce rôle.

B- Choisir un hébergeur et un pack

Il est temps maintenant de choisir un pack chez un hébergeur, ici dans notre exemple hostforlife.eu, hébergeur de packs ASP.NET. Ceci fait et après avoir pris contact avec eux, on vous demandera de créer un nom d’utilisateur (User Name) et un mot de passe (password).

Une fois que vous aurez payé votre abonnement vous recevrez un document technique avec entre autres les noms des serveurs primaires et secondaires du DNS, le nom d’utilisateur que vous avez choisi. Il est a noter que vous pourriez ne pas avoir choisi de nom de domaine à cette étape, alors un nom de domaine virtuel vous sera fourni sachant que ce nom de domaine ne sera pas connu d’internet. Il est néanmoins plus logique de disposer à cette étape du nom de domaine définitif. Vous disposerez également du lien vers un helpdesk, d’informations concernant la création d’une base de données (ou plus suivant votre pack), de comptes e-mail.

1- Transfert des fichiers

Ensuite il vous faudra transférer dans le répertoire désigné par l’hébergeur les fichiers de votre site. Personnellement j’ai utilisé la fonction du site « upload files » pour transférer les répertoires et fichiers nécessaires. Un répertoire cible vous aura été fourni par l'hébergeur. A partir de là tout dépend des outils de création de sites web avec lesquels vous travaillez.

2- Modifications DNS

Une fois votre site téléchargé sur le bon répertoire il vous faudra modifier, si ce n’est déjà fait, les informations concernant les serveurs DNS grâce au panneau de configuration de votre registrar (1&1). Il faut que les adresses des serveurs de hostforlife.eu (ns27.asphostserver et ns2.asphostserver.net )soient renseignées au niveau des paramètres DNS de votre nom de domaine, chez 1&1 dans notre cas.
A partir du panneau de contrôle de votre registrar (ici 1&1) allez dans la gestion des noms de domaine puis modifiez les paramètres DNS et remplacez les valeurs des DNS primaires et secondaires. Le DNS est le serveur qui sait faire le lien entre un nom de domaine et l’adresse IP. L’adresse IP est utilisée par le réseau internet pour atteindre votre cible lorsque vous naviguez. Il faut donc un (en fait il y a un grand nombre) serveur DNS qui fasse le lien entre l’adresse que vous tapez dans votre navigateur du type http://www.nomdedomaine.x et l’adresse utile pour le fonctionnement du réseau internet qui elle est au format adresse IP (80.10.246.130 par exemple).
L'information, registrar + serveurs de votre hébergeur, sera renseignée au niveau de l'AFNIC car le nom de domaine est en '.fr', sur les serveurs racines de l'ICANN puis au bout d'un certain délai sur les DNS (très nombreux) du monde entier.

Il faut noter que vous avez aussi dans votre PC un cache DNS qui mémorise les dernières adresses utilisées par vous dans votre navigateur et qui évite à ce qu’il faille interroger un équipement externe systématiquement, ce qui diminue le nombre de transactions nécessaires. Ce cache est remis à jour régulièrement suivant des délais qui dépendent du paramètre TTL (Time to live) affecté à votre site.

A partir de ce moment-là vous pourrez vous connecter à votre site mais vous serez sans doute le seul à pouvoir le faire. En effet la correspondance nom de domaine vs adresse IP n’est pour l’instant connue que de votre PC ou du DNS de votre box. Il faudra attendre (24 h ?)pour que les DNS du monde entier soient à jour.

Vous pourrez consulter l’état de votre site en vous connectant sur le site de l'AFNIC : Site de l'AFNIC. Entrez votre nom de domaine dans le formulaire et vous verrez apparaitre les infos concernant l’état du site qui devrait être actif. Note : je n’ai aucune idée du délai entre la création du nom de domaine et sa prise en compte par l’AFNIC, ne l'ayant pas vérifié.

3- NSLOOKUP

Vous pouvez suivre ensuite la présence de votre site sur des serveurs DNS choisis par la commande nslookup (Windows), le format en est :
nslookup plozerche.fr xxxxxxx
- plozerche.fr représente votre nom de domaine
- xxxx représente l’adresse du serveur DNS cible (Orange, SFR, Numericable ou autres … ) qui peut être soit au format texte soit au format adresse IP.
On trouve sur internet ces adresse assez facilement: tapez 'DNS' suivi du FAI et vous tomberez sur ces adresses.

Vous devez lancer le programme 'invite de commande' (accessoires) :
Cliquez sur Démarrer,
tapez cmd pour ouvrir l’invite de commande,
lancez cmd.exe programme qui vous permet d’entrer des lignes de commandes.

Ci-dessous vous avez un exemple d'interrogation d'un DNS d’Orange, qui ici est le FAI et dont l’adresse IP est 80.10.246.130. J’aurais très bien pu rentrer le nom du serveur et non son adresse IP.
Le nom du serveur apparait dans la réponse. A la fin du message est donnée l’information concernant mon site et son adresse partagée (il n’est pas possible d’utiliser directement une adresse IP partagée dans votre navigateur).
Le serveur choisi dans cet exemple n’étant pas le serveur DNS de mon hébergeur, la phrase « Réponse ne faisant pas autorité » est rajoutée, mais mon site est donc bien visible sur ce serveur DNS. Il est possible ainsi d’interroger les serveurs DNS que vous voulez à condition de connaître leurs noms ou leurs adresses IP.

Ou encore les serveur DNS de l’hébergeur (ns2 ici mais voir ns27 également)

Vous pouvez connaître, même si cela ne sert pas à grand-chose, les sites qui partagent votre IP. Pour cela et sur Firefox il suffit d’installer le module SearchStatus. Connectez-vous sur votre site, une fois connecté faite un click droit sur l’icône bleu qui s’est installée, puis dans le menu déroulant choisir « Show other domains on IP ». Les sites qui se situent à la même adresse IP que vous sont filtrés !

4- Les serveurs DNS racines

Les serveurs DNS sont hiérarchisés. Il y a à la base 13 serveurs racines tout en haut de la hiérarchie. Le nom de ces serveurs vont de a.root-servers.net. jusqu’à m.root-servers.net. (le point final correspond à la racine du système hiérarchisé DNS)
Si vous envoyer une ligne de commande comme celle ci-dessous, c’est-à-dire un nslookup, à un serveur racine alors vous pouvez connaître les serveurs de l’AFNIC qui vous gèrent. Vous pouvez-donc savoir si votre site est connu, tout en haut, au niveau de la racine. Ici c’est le cas et mon nom de domaine est enregistré au niveau de 5 serveurs de l’AFNIC (e.ext.nic. fr etc …).

Si maintenant j'interroge le serveur d.nic.fr, par exemple, de l’AFNIC, toujours par la commande nslookup, je trouve les deux serveurs DNS de l'hébergeur :

Tout cela sert surtout à vous rassurer et à vérifier qu’il n’y a pas un souci avec les DNS

Rappel : tous les domaines en ‘.fr’ sont connus des serveurs de l’AFNIC.

On peut suivre la présence du nom de domaine dans certains DNS, ici pour plozerche.fr, sur certains sites web spécifiques, où ont été sélectionnés des serveurs DNS un peu partout dans le monde et qui renvoient le statut de votre domaine : présent ou non présent.

Par exemple :
Site pour visualiser la présence de votre nom de domaine sur des serveurs DNS

Vous devez être visible à ce niveau-là au bout de 24 h (suivant le cycle spécifique de mise à jour du serveur DNS concerné) sinon c’est qu’il y a un souci au niveau de la déclaration de votre nom de domaine.

5- Cache DNS du PC

Votre propre PC (et votre box) possède également un DNS où sont stockés les adresses IP des sites que vous fréquentez régulièrement ceci pour éviter d’effectuer des demandes trop fréquentes vers les DNS.
Ce cache est valide durant un délai qui dépend du paramètre TTL (Time to Live), par exemple 1 jour.
Pour connaître le contenu de ce cache, utilisez l’invite de commandes :

  1. Démarrer/ cmd.exe
  2. Lancer la commande : ipconfig /displaydns > c:\cache_dns.txt

Le résultat sera dirigé vers le fichier indiqué.

Si vous faites des modifications concernant les paramètres DNS , ceux-ci ne seront effectifs qu'environ 24h plus tard (si la valeur TTL est sur 24h, paramètre TTL :Time to Live)

C- Référencements

Il est possible de soumettre son site aux moteurs de recherche via des sites comme :
Référencement Google
Référencement Orange
Référencement Bing, Yahoo
Ainsi les robots de ces moteurs de recherche viendront régulièrement visiter votre site et mettre à jour des informations qui apparaîtront à l'éventuel visiteur qui tape un mot clé. Ils se peut même qu'ils deviennent vos principaux visiteurs.

D- Erreurs

Si une fois votre site opérationnel vous tombez, en voulant consulter votre site, sur le message suivant , ici avec Chrome:

Ou avec Explorer :

Dans le cas présent le site plozerche.fr n'était plus connu des DNS qui ne pouvaient donc plus pointer vers l'adresse IP correspondante.
Alors, vérifiez d'abord que votre site a bien disparu des DNS en interrogeant un site internet qui vérifie la propagation DNS, (voir ci-dessus) puis contactez votre registrar, et demandez-leur de faire les actions nécessaires.

Crash du serveur et de ses sauvegardes

Il se peut néanmoins que le registrar ait bloqué votre nom de domaine ( ou l'adresse IP ??) du fait d’un comportement anormal du serveur. Alors il faut également vous retourner vers l'hébergeur.

Il m’est arrivé que mon hébergeur m’annonce que suite à une attaque de hackers toutes les données du serveur, y compris les sauvegardes, avaient été perdues. Soyez prévoyant et ayez toujours la source de votre site à jour et disponible pour repartir de zéro de façon à pouvoir recréer votre site si nécessaire, à partir du moment où l'hébergeur vous a redonné accès à votre nom de domaine.

Dans cette situation, mon nom de domaine avait été bloqué chez le registrar. Il a donc fallu agir tant côté hébergeur afin de reconstruire mon site que côté registrar pour réinitialiser mon nom de domaine.

Faites toujours les modifications liées à votre projet sur votre source puis faites les mises à jour sur votre site, évitez de faire des modifications directement sur votre site car, en cas de crash du serveur et de ses sauvegardes, vous risquez de vous énerver à retrouver ces modifications que vous avez réalisées en y passant du temps !
D'autre part si par la suite vous modifiez votre site depuis votre outil de création vous risquez fort d'oublier la précédente modification, dommage !

Vous pouvez suivre la 'propagation' DNS, ici un exemple pour plozerche.fr, ce site interroge quelques serveurs DNS éparpillés dans le monde : whatsmydns.

Ci-contre un site qui vous permet de trouver l’origine d’une adresse IP : whatismyipaddress

En réalité vous aurez des informations concernant la région à laquelle appartient votre visiteur (ou les robots d'indexation qui viennent régulièrement visiter votre site !).

D- Fichiers log

Vous pourrez une fois votre site actif et visité savoir ce qu'il s'y passe. En fait les logs qui sont fournis dans un répertoire de votre site vous donnerons les informations nécessaires. Si votre abonnement le permet vous pouvez aussi avoir directement les informations décodées.
Vous verrez alors que dans un premier temps, la période pendant laquelle votre site n’est pas connu, ce sont surtout les robots d’indexation qui viendront le visiter.

J'ai inséré ci-dessous un extrait d’un fichier log que mon site génère automatiquement, ici d’un sous domaine fnfl.plozerche.fr, de façon à indiquer comment décoder les messages.


#Software: Microsoft Internet Information Services 8.5
#Version: 1.0
#Date: 2015-07-25 12:01:39

#Fields: date time s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken

2015-07-25 12:01:39 W3xxxxxx aspxxxx xx.xx.xx.xx GET /Images/Bandeau/Band-intermediaire.png - 80 - 157.55.39.99 HTTP/1.1 Mozilla/5.0+(compatible;+bingbot/2.0;++http://www.bing.com/bingbot.htm) - - fnfl.plozerche.fr 200 0 0 9904 277 359



En bleu une information qui indique quel est le logiciel utilisé sur le serveur, sa version (IIS 8.5) ainsi que la date UTC du message
En gris la liste des champs W3C fournis dans le log avec leur position dans le message.
En vert les champs W3C eux-mêmes. Dans le cas présent je me suis contenté de décoder un seul message
Il s’agit d’une opération HTTP GET réalisée à 12h01 et 39 secondes qui consistait à aller charger une image du site fnfl.plozerche.fr dont le chemin est décrit, depuis le serveur aspxxxx adresse ip xx.xx.xx.xx . La demande est formulée sur le port 80 par 157.55.39.99 qui est l'adresse IP d'un robot d’indexation de bing, bingbot.

Un autre exemple de message:


2015-08-11 08:16:35 W3SVC56 aspxxxxx xx.xx.xx.xx GET / - 80 - 81.53.10.230 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64) + AppleWebKit/537.36 + (KHTML,+like+Gecko) + Chrome/44.0.2403.107 + Safari/537.36 - http://plozerche.fr/ maires.plozerche.fr 200 0 0 9872 429 1250

Il s’agit d’une opération HTTP GET réalisée le 11 août à 8h16 et 35 secondes UTC et qui consistait à ouvrir maires.plozerche.fr en venant du site plozerche.fr. L'info user agent indique que la demande a été formulée par un navigateur Chrome version 44.02403.107 sous un OS Windows 7 (Windows+NT+6.1;+WOW64). La chaîne correspondant au champ 'user-agent', ici il s'agit de 'Mozilla/5.0 + (Windows+NT+6.1;+WOW64) + AppleWebKit/537.36 + (KHTML,+like+Gecko) + Chrome/44.0.2403.107+ Safari/537.36' , permet de savoir quel navigateur et quel OS ont été utilisés.

Les champs W3C ci-dessus sont décrits, parfois dans un ordre différent, sur le site ci-dessous :

Description des champs W3C utilisés dans les logs

Par exemple, les derniers termes du 1er message en vert, signifient :

  • 359, la durée de l’action en millisecondes.
  • 277, le nombre d’octets reçus par le serveur
  • 9904, le nombre d’octets que le serveur a envoyé

Transférer les fichiers sur le serveur

Depuis Visual Studio il faut d'abord publier son site sur un répertoire local. Menu Générer puis Publier, définir l'emplacement cible, puis cliquer sur Publier Aller avec l'explorateur de fichier, choisir le répertoire où se situe la génération Click droit et envoyer vers 'Dossier compressé' Depuis le serveur et le site cible faire un upload du fichier zip Puis sur le serveur décompressez le fichier, mettez le éventuellement au bon emplacement.