Mettre en ligne un site
L’heure est venue de mettre en ligne nos sites sur l’internet mondial. Pour cela, nous avons besoin de deux choses :
- Une machine connectée au réseau internet, sur laquelle sont installés les logiciels nécessaires à la mise en place et au fonctionnement d’un serveur web, comme :
- Un serveur HTTP comme Apache ou Ngnix.
- Un serveur FTP.
- Diverses langages de programmation, la plupart du temps PHP, Python ou Node JS (mais potentiellement d’autres).
- Des logiciels ou librairies de traitement d’images (faisant ou non partis de la bibliothèque d’un langage de programmation comme PIL pour Python ou GD pour PHP).
- Un serveur mail…
Étant donné que nous avons travaillé des sites exculsivement statiques cette année, le seul logiciel nécessaire au fonctionnement de nos sites est le serveur HTTP. Pour rappel, un site dit statique est un site dont les fichiers sont préalabalement écrits, et téléchargés tels quels par la machine émetrice de la requête HTTP. Un site dit dynamaique est au contraire, un site généré par une combinaison de fichiers statiques et de scripts, qui permettent de générer une page web à la volée lors de la requête de la machine cliente. Les pages HTML ne pré-existent pas à la requête, et sont seulement générées et renvoyées en réponse à celle-ci. Les principaux avantages des sites dynamiques sont de pemettre de dissocier le contenu de la structure des pages, et de rendre accessible l’ajout de contenu sur un site web à des personnes qui ne codent pas, par le bais d’une interface graphqiue facile d’accès. Aux côtés des sites dynamiques et statiques, on trouve aussi les générateurs de sites statiques, qui, comme les sites dynamiques, générent des pages HTML en combinant scripts et fichiers de contenu, dissociant le contenu de la structure des pages. Mais contrairement à eux, ils sont, in fine, composés de pages HTML, car la génération n'a pas lieu lors de la requête mais en amont, sur une machine locale. Cette alternative permet de combiner les avantages des sites dynamiques et statiques, mais ne comporte par d’interface graphique accessible, et nécessite de savoir manipuler des fichier textes, ainsi qu’un terminal.
- Un nom de domaine, qui va permettre d’accéder au site web non pas seulement avec l’adresse IP de la machine (une série de chiffres unique qui donne l’adresse de la machine sur le réseau), mais avec un nom intelligible, qu’il sera possible de communiquer facilement au monde.
Autonomie : le serveur web local
Il est possible de mettre en place un sevreur sur une machine locale, et de la connecter à internet. Néanmoins, cette solution exige plusieurs paramètres :
- Être capable d’installer les logciels necessaires sur une machine.
- Disposer d’une machine allumée et connectée en permanence au réseau internet.
- Être capable de sécuriser les connexions depuis l’extérieur et les données hébergées, pour ne pas donner par inadvertance un accès à son serveur depuis l’extérieur.
- Disposer d’une connexion internet suffisament puissante pour permettre un trafic rapide et autoriser des connections multiples. Nous avons vu que la vitesse de téléchargement d’un site dépend de son poids, mais elle dépend également de la configuration du réseau auquel est connecté le serveur. Selon l’ampleur du traffic, il est nécessaire de mettre en place des configurations différentes, pour permettre de servir les pages de manière rapide et simultanée à tous les utilisateurs qui en font la requête.
- Être alerte 24/24, au cas où le serveur serait interrompu pour une raison ou une autre.
Si cette solution permet de gagner en indépendance, autonomie, et contrôle sur les données mises en ligne, elle exige toute une batterie de compétences d’administration système distinctes du développement web. Dans le monde professionel, les personnes qui adminsitrent des machines connectées à un réseau s’appellent des sysadmin. C’est un métier totalement différent de celui de développeur web, qui exige des compétences tout à fait différentes.
Les hébergeurs webs commerciaux
Heuresement, il n’est pas necessaire de maîtriser tout ça pour mettre en ligne un site web. Il est possible de déléguer la partie administration système à un type d’entreprise appelé les hébergeurs web. Celles-ci commercialisent des accès à des machines connectées au réseau internet, ainsi que des abonnements à des noms de domaines. S’il est possible de gérer un serveur web en autonomie, il n’est pas possible de souscrire un nom de domaine sans passer par ces entreprises. L’organisme qui gère l’indexation des noms de domaine, l’ICANN, n’est pas accessible aux particuliers, mais seulement à des entreprises d’hebergement webs, qui gèrent l’enregistrement de plusieurs noms de domaines.
Les hébergeurs web fonctionnent selon un principe de location d’espace sur une machine connectée au réseau internet, pour une durée limitée. Plusieurs types d’espaces sont ainsi commercialisés, selon les besoins et les compétences des souscripteurs :
- Le serveur dédié > Louer un serveur dédidé donne accès à une machine complète, sur laquelle souvent aucun logiciel n’est installé, ce qui veut dire qu’il faut installer tous les logiciels mais également qu’il est posible d’installer n’importe quel logiciel. Avoir une machine déidiée donne accès à d’autres privilèges comme la possibilité de la redémarrer, ou l’indépendance vis-à-vis d’autres utilisateurs.
- Le VPS > VPS veut dire Virtual Private Server, c’est-à-dire serveur virtuel privé. Concrètement, le VPS donne accès à autant d’indépendance que le serveur dédié, excepté que dans ce cas-ci, plusieurs systèmes virtuels et utilisateurs cohabitent sur une même machine. Les VPS sont moins chers que les serveurs dédiés, et parfois moins chers que les hébergements mutualisés.
- L’hébergement mutilisé > Dans le cas d’un hébergement mutulisé, l’utilisateur souscrit une place sur un serveur sur lequel une suite logicielle, qu’il partage avec d’autres utlisateurs, est déjà installée. Ce système permet de ne pas devoir installer (et maintenir) soi-même les logiciels. Mais d’un autre côté, il limite le nombre de logciels accessibles. La plupart du temps, les formules d’hébergement mutualisé ne comprennent qu’un seul langage de programmation (PHP ou Node JS ou Python), ce qui oblige à coder les sites hébergés sur un même serveur selon les mêmes technologies. La formule VPS ou serveur dédidé permet d’installer tous les logiciels imaginables.
Comme dit précedement, les hébegreurs webs commercialisent également des abonnements à des noms de domaine, c’est-à-dire la location d’un nom de domaine et la possibilité de le rattacher au serveur de notre choix pour une durée limitée. Si elles sont souvent accessibles dans des offres conjointes, la location du nom de domaine et de l’espace serveur sont des démarches distinctes. Il est possible de souscrire un nom de domaine chez un hébergeur et de le rattacher à un espace serveur loué chez un autre serveur. Néanmoins, il est plus pratique de regrouper la souscription de services chez une même entreprise. Il est également possible de souscrire plusieurs noms de domaine et de les rattacher à un même hébergeur.
Paramètres d’un hébergement mutualisé
Le type de formule qui nous conviens ici est l’hébergment mutualisé. Pour faire votre choix, plusieurs paramètres doivent vous guider :
- La place dispnible sur un serveur > Il s’agit du nombre de gigas qu’il est possible d’uploader sur un espace. Si vous ne souhaitez héberger qu’un seul site, 1 giga suffit, alors que si vous souhaitez potentiellment en héberger plusieurs, il faudra privilégier des espaces plus grands.
- Le nombre d’adresses emails disponibles.
- Le nombre de sites qu’il est possible d’héberger > selon les hébergeurs, il peut être ou non limité.
- La suite logicielle préalablement installée > Suivant les techniques de programmation, vous n’aurez pas besoin des mêmes logciels ou librairies. Toujours faire attention aux logiciels installés lors de la souscription d’un hébergement mutualisé.
- Les versions de logciels disponibles et leur temps de disponibilité > Certains petits hébergeurs n’ont qu’une seule version des logiciels installée, qu’ils mettent à jour de manière globale. Faire ce choix peut obliger à adapter les sites lors des mises à jour.
- La localisation des serveurs > Peut-être désirez-vous héberger vos données webs dans le pays où vous résidez, ou dans un pays particulier pour une raison A ou B. Les hébergeurs n’offrent pas tous les mêmes possibilité de localisation des serveurs.
- Le niveau de support > Certains hébergeurs commercialisent des niveaux de support différents en cas de problèmes. Si vous payez plus, vous attendrez moins pour avoir une personne au téléphone en cas de problème. Attention ! Certains hébegreurs communiquent exclusivement par mails avec leurs clients (impossible d’avoir quelqu'un au téléphone, jamais).
Quelques hébergeurs
- OVH > Leader en France, serveurs en France, très compétitif en termes de prix. Support aléatoire mais pas inexistant. A brûlé il y a quelques années, mais reste globalement fiable. Bon rapport qualité prix.
- Infomaniak > Hébergeur basé en Suisse, serveurs en Suisse. Plus cher mais services disponibles plus larges en hébergement mutualisé, comme la possibilité de fire cohabiter plusieurs versions de PHP. Support et documentation très bien.
- Le réseau chatons > Une organisation de l'association Framasoft qui référence des hébergeurs locaux et éthiques. Attention à bien étudier les services fournis par les différents hébergeurs, la plus petite échelle pose souvent une limite dans les possibilités disponibles (parfois une seule version d’un logciel en ligne sur les offres d’hébergement mutualisé par exemple).
- Gandi > Hébergeur basé en France, serveurs disponibles en France et ailleurs. Plutôt cher, mais plusieurs logiciels disponibles dans leurs formules d’hébergements mutualisés.
- Boxis > Je déconseille fortement cet hébergeur, qui m'a value des heures et des heures de travail et de contact avec le support, sans que les problèmes puissent être réglés.
Gestion des hébergements dans la vie professionelle
Il existe plusieurs manière de gérer la question de l’hébergment selon les développeurs. Certains choisisent d’hégerger sur leur compte et chez un même hébergeur tous les sites qu’ils codent. Cette solution permet une maintenance plus facile, mais ôte la liberté du choix de l’hébergeur au client. Dans le cas d’un travail à l’internantional, il peut être compliqué de mettre en place cette solution, car la plupart des personnes souhaient héberger leur site dans le pays où ils résident, et souscrire un contrat avec une entreprise également locale. De plus, centraliser les hébergements peut générer des frais extras pour les clients, et oblige les développeurs à gérer la migration de services, pour les personnes ou entreprises qui avaient déjà une formule souscrite. Nénanmoins, gérer des hébergeur différents provoquent souvent un surplus de temps de gestion, avec parfois des problèmes plus importants, et longs à régler. Quoi qu'il en soit, dans le cas où l'hébergeur est à l'étranger, il faut toujours avoir la possibilité de communiquer avec lui, ce qui peut parfois être compliqués si les personnes ne sont pas anglophones ou résident dans des zones avec un décalage horaire.
Un hébergement mututalisé rien que pour vous
Afin de permettre au monde d’accéder à vos sites sans que vous deviez payer un hébégergement (pour celles et ceux qui ne sont pas prêts), un domaine dédié à vos travaux a été mis en place. Il s’agit de https://students.onlineonlineonline.fr. Nous allons pouvoir y accéder ensemble, et uploader vos site grâce à un gestionnaire FTP (normalement déjà installé sur vos machines). Ce domaine n’est pas référencé par les moteurs de recherces, ce qui signifie qu’il est accessible seulement par le biais de son URL. Cette décision vous permet de potentiellement mettre vos sites sur un autre domaine plus tard, et d’éviter qu’ils soient mis en ligne à deux endroits différents. Ce site à seulement la vocation de rassembler vos travaux, et de les mettre temporairement en ligne. Il ne s’agit pas d’une solution pérènne.
Référencer un site
Mettre en ligne un site demande également de se poser la question du référencement : comment mon site va-t-il être présenté sur les moteurs de recherche ? Quels termes lui seront associés ? Il existe plusieurs outils qui permettent de demander / moduler le référencement, que nous allons aborder aujourd’hui. Néanmoins, il est essentiel de se rappeler que les moteurs de recherches sont des logiciels pour la plupart propriétaires et privés, dont le code exact n’est pas rendu plublic. Cet aspect signifie que leur fonctionnement exact reste caché, et que leurs propriétaires sont libres de les modifier. L’influence des développeurs est donc relative et limitée.
Il est également important de savoir que sans aucune action de votre part, le site finira par être référencé car les crawlers (petits programmes qui explorent et référencent les sites web) finiront par le visiter, et par l’ajouter aux diverses indexs de la toile. Tout fichier que vous mettez en ligne finira par être référencé et accessible depuis les moteurs de recherches, à moins que vous spécifiiez le contraire ! Alors, attention à ce que vous mettez en ligne :)
Les balises HTML liées au référencement
Si toutes les balises HTML sont liées au référencemnt, certaines y participent plus directement que d’autres comme la balise meta descrpition, la balise title, la balise favicon. Ces trois balises conditionnent l’apparence du lien dans la liste des résultats.
<meta type="description" content="The description of my website.">
<title>My Website</title>
<link rel="icon" type="image/png" href="/images/favicon.png">
Les formats de favicon valables sont disponibles ici > https://en.wikipedia.org/wiki/Favicon.
Aller plus loin
- La guide SEO de Google > https://developers.google.com/search/docs/fundamentals/seo-starter-guide > Un guide très complet, qui explique les bases du référencement et les actions nécessaire pour le contrôler / l’améliorer. À lire en déatil pour les plus motivés d’entre vous.
- Le protocole Open Graph > https://ogp.me/ > Il s’agit d’un protocole mettant en place l’utilisation de balises meta supplémentaires qui aident au référencement et à la catégorisation de contenu. Mis en place par l’entreprise Meta, il est aujourd’hui largement utilisé par la plupart des réseaux sociaux.
- La Google Search Console > https://search.google.com/search-console/about > Un outil mis en palce par Google pour signaler le changement d’un site web, et l’ajouter à la liste des sites à crawl en priorité.
Empêcher le référencement
Il est également possible de mettre des ressources en lignes tout en empêchant explicitement leur référencement. Pour cela, deux outils principaux (mais pas uniques) :
- La balise meta Robots > https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag
- Le fichier .htaccess, un fichier de configuration qui sert à configurer la manière dont le seveur sert les fichiers, et permet par exemple, de bloquer les fichiers de médias (images, sons, pdfs…), ce que ne permet pas la balise meta Robots.