Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 1514 minDébutant

Mettre un site en ligne : hébergement, nom de domaine et déploiement

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • choisir un hébergement et réserver un nom de domaine ;
  • relier le domaine au site avec les enregistrements DNS ;
  • passer le site en HTTPS ;
  • déployer par SFTP ou avec Git, en suivant une checklist.

4 exercices corrigés1 schéma

Mettre un site en ligne, c'est copier ses fichiers sur un serveur web accessible depuis Internet (l'hébergement), lui associer un nom de domaine grâce au DNS, et activer HTTPS. Ce chapitre explique comment choisir un hébergement, réserver un domaine, configurer les enregistrements DNS, déployer les fichiers par SFTP ou avec Git, et vérifier le site avant et après sa publication. Pour choisir entre hébergement mutualisé, VPS et plateforme applicative du point de vue de l'organisation, vois le chapitre Nom de domaine, DNS et hébergement d'un site du cours Présence en ligne.

Les trois briques d'un site en ligne

Poste du développeurfichiers du siteGitHubdépôt GitBureau d'enregistrementmediatheque-tilleuls.frgit pushpublication autoSFTP (port 22)délègue (NS)Hébergementserveur web+ certificat TLSServeur DNSwww → 203.0.113.10Visiteurnavigateur1-2. adresse IP du site ?3-4. HTTPS : requête, page
Le domaine, le DNS et l'hébergement ; le déploiement par SFTP ou par Git
BriqueRôleChez qui
Hébergementun serveur web, allumé en permanence, qui stocke les fichiers et répond aux requêtesun hébergeur (OVHcloud, o2switch, Infomaniak…), une plateforme de sites statiques (GitHub Pages, Netlify, Cloudflare Pages, Vercel), ou un serveur de l'organisation
Nom de domainel'adresse lisible du site, mediatheque-tilleuls.fr, louée pour une durée renouvelableun bureau d'enregistrement (registrar), souvent le même que l'hébergeur
DNSl'annuaire qui traduit le nom de domaine en adresse IPles serveurs DNS du bureau d'enregistrement, de l'hébergeur ou d'un service spécialisé

Les trois peuvent être chez des prestataires différents : un domaine acheté chez un bureau d'enregistrement peut pointer vers un site hébergé ailleurs, il suffit de régler le DNS. Le fonctionnement du DNS et ses enregistrements (A, AAAA, CNAME, MX) sont expliqués dans le cours réseaux.

Choisir un hébergement

TypePourCe que tu gèresCoût indicatif
Hébergement statique (GitHub Pages, Netlify, Cloudflare Pages, Vercel)un site en HTML, CSS et JavaScript, sans base de données : portfolio, site vitrine, documentationpresque rien : tu envoies les fichiers, la plateforme gère serveur, HTTPS et mise à l'échellegratuit pour un petit site
Hébergement mutualiséun site en PHP avec base MySQL, un WordPressles fichiers et la base ; l'hébergeur gère le serveur, partagé avec d'autres clientsquelques euros par mois
Serveur privé virtuel (VPS) ou dédiéune application sur mesure, plusieurs sites, des besoins particulierstout : système, serveur web, mises à jour de sécurité, sauvegardes, pare-feude quelques euros à plusieurs dizaines par mois
Serveur interneun intranet, une application réservée au personneltout, plus l'ouverture réseaul'infrastructure de l'organisation

Le site de la médiathèque, en HTML et CSS, tient sur un hébergement statique. Dès qu'il aura besoin d'enregistrer des inscriptions dans une base de données, il lui faudra un hébergement capable d'exécuter du code côté serveur (PHP sur un mutualisé, ou une application sur un VPS).

Avant de choisir, vérifie aussi où sont stockées les données : pour un site qui collecte des données personnelles, un hébergement dans l'Union européenne simplifie beaucoup le respect du RGPD. Le nom, l'adresse et le téléphone de l'hébergeur iront dans les mentions légales (chapitre 14).

Réserver un nom de domaine

Un nom de domaine se loue à l'année auprès d'un bureau d'enregistrement accrédité. Chaque extension est gérée par un registre : l'Afnic pour le .fr, qui est ouvert aux personnes et aux organisations résidant ou établies dans l'Union européenne et dans quelques pays voisins.

Quelques règles de bon sens :

  • un nom court, facile à dicter au téléphone, sans ambiguïté d'orthographe ;
  • vérifier qu'il ne reprend pas une marque déposée par quelqu'un d'autre (risque de litige) ;
  • le réserver au nom de l'organisation, pas de l'agence ou du stagiaire qui fait la démarche : c'est l'organisation qui doit en garder le contrôle ;
  • activer le renouvellement automatique et garder une adresse de contact à jour : un domaine expiré, c'est un site et des adresses e-mail qui s'arrêtent du jour au lendemain, et un nom qu'un autre peut racheter.

Les informations sur le titulaire d'un domaine se consultent avec un service Whois (ou son successeur, RDAP) ; pour les particuliers, elles sont en grande partie masquées.

Relier le domaine au site : les enregistrements DNS

La zone DNS du domaine contient des enregistrements. Ceux que tu manipuleras pour un site :

TypeAssocieExemple
Aun nom à une adresse IPv4mediatheque-tilleuls.fr. A 203.0.113.10
AAAAun nom à une adresse IPv6mediatheque-tilleuls.fr. AAAA 2001:db8::10
CNAMEun nom à un autre nom (un alias)www CNAME mediatheque-tilleuls.netlify.app.
MXle domaine à ses serveurs de messageriemediatheque-tilleuls.fr. MX 10 mail.exemple.net.
TXTun texte libre : preuve de propriété (Search Console), politique anti-usurpation des e-mails (SPF, DMARC)mediatheque-tilleuls.fr. TXT "google-site-verification=…"

L'hébergeur indique les valeurs à saisir : en général un enregistrement A (et AAAA) pour le domaine nu, et un CNAME pour www. Chaque enregistrement a une durée de vie en cache, le TTL : un changement peut mettre de quelques minutes à quelques heures à être vu partout. La commande nslookup www.mediatheque-tilleuls.fr (ou dig) vérifie ce que répond le DNS.

Le DNS est détaillé dans le cours services réseau.

Passer en HTTPS

HTTPS chiffre les échanges entre le navigateur et le serveur, et garantit au visiteur qu'il parle au bon site. Il demande un certificat TLS, délivré pour le nom de domaine par une autorité de certification. Aujourd'hui, c'est gratuit et automatique : les hébergeurs et les plateformes statiques obtiennent et renouvellent des certificats Let's Encrypt sans intervention. Sur ton propre serveur, l'outil certbot fait la même chose.

Une fois le certificat en place :

  • redirige tout le trafic HTTP vers HTTPS (redirection 301), et choisis une seule forme d'adresse, avec ou sans www (chapitre 13) ;
  • vérifie qu'aucune ressource n'est encore appelée en http:// (image, script, police) : c'est du contenu mixte, que le navigateur bloque ou signale ;
  • un en-tête HSTS peut ensuite demander aux navigateurs de toujours utiliser HTTPS pour ce domaine.

Déployer par SFTP

Sur un hébergement mutualisé ou un serveur, la méthode la plus directe est de copier les fichiers avec un client SFTP, comme FileZilla ou WinSCP. L'hébergeur fournit un nom d'hôte, un identifiant, un mot de passe (ou une clé SSH) et le dossier où placer le site, souvent www/ ou public_html/.

ProtocolePortChiffréÀ utiliser ?
FTP21non : identifiant et mot de passe circulent en clairnon
FTPS21 ou 990oui (FTP + TLS)si l'hébergeur ne propose que lui
SFTP22oui (sous-système de SSH)oui

Dans FileZilla : Fichier > Gestionnaire de sites, protocole SFTP, hôte, port 22, identifiant ; puis glisse le contenu de ton dossier local vers le dossier www/ distant. index.html doit être à la racine de ce dossier, pas dans un sous-dossier mediatheque/, sinon le site s'affiche à l'adresse /mediatheque/ ou pas du tout.

Le SFTP a un défaut : rien ne garde la trace de ce qui a été envoyé, quand et par qui. Écraser par erreur la version en ligne avec un vieux fichier est facile, et revenir en arrière demande une sauvegarde.

Déployer avec Git

Avec un dépôt Git, le site en ligne est construit à partir de l'historique : chaque mise en ligne correspond à un commit identifié, et revenir à la version précédente prend une commande. C'est la méthode des équipes de développement, et elle s'apprend avec le cours Git et GitHub.

Avec GitHub Pages, pour un site statique :

  1. crée un dépôt et envoie-y ton site (index.html à la racine) ;
  2. dans Settings > Pages, choisis de publier depuis la branche main ;
  3. le site est en ligne à l'adresse https://<ton-identifiant>.github.io/<nom-du-depot>/ ;
  4. à chaque git push, il est republié automatiquement.
bash
git add .
git commit -m "Ajoute la page agenda des ateliers"
git push

Pour utiliser ton propre domaine, déclare-le dans Settings > Pages, crée les enregistrements DNS indiqués par la documentation de GitHub (un CNAME vers <ton-identifiant>.github.io pour www), puis coche Enforce HTTPS. Netlify, Cloudflare Pages et Vercel fonctionnent sur le même principe : on relie le dépôt une fois, et chaque push déclenche un déploiement, avec en prime une adresse de prévisualisation pour chaque branche.

La checklist avant la mise en ligne

À vérifierOutil
HTML valide sur toutes les pagesvalidateur du W3C
Aucun lien cassé, aucune image manquanteonglet Réseau (aucun 404), un vérificateur de liens
Un <title> et une meta description uniques par pagelecture du code, ou un outil d'audit SEO
Responsive : lisible à 320 px de large et zoomé à 200 %mode responsive des outils de développement, un vrai téléphone
Accessibilité : clavier, contrastes, alt, étiquetteschapitre 12
Images compressées, dimensions déclaréesLighthouse, PageSpeed Insights
Mentions légales, politique de confidentialité, déclaration d'accessibilitéchapitre 14
Une page d'erreur 404 utile (lien vers l'accueil et le plan du site)taper une adresse qui n'existe pas
Favicon, aperçu de partage (Open Graph)un partage de test
robots.txt et sitemap.xmlles ouvrir dans le navigateur
HTTPS partout, redirection depuis HTTPtaper l'adresse en http://
Aucun traceur avant consentementonglet Stockage des outils de développement, à la première visite

Après la mise en ligne

  • Déclare le site dans la Search Console et envoie le sitemap.xml (chapitre 13).
  • Surveille la disponibilité : un service de supervision prévient quand le site ne répond plus ou que le certificat va expirer (voir le cours supervision).
  • Sauvegarde : le dépôt Git est une sauvegarde du code ; la base de données et les fichiers envoyés par les utilisateurs ont besoin de la leur (sauvegarde et PRA).
  • Note les échéances : renouvellement du domaine, de l'hébergement, des comptes d'accès.
  • Documente : où est hébergé le site, qui a les accès, comment le redéployer. C'est la première chose que te demandera la personne qui reprendra le site, et une très bonne pièce pour ton portfolio.

Exercices

Exercice 1 sur 4 Quel hébergement ? Réussi À revoir

Choisis le type d'hébergement le plus adapté et justifie.

  1. Ton portfolio de BTS, en HTML et CSS.
  2. Le site WordPress d'une association sportive.
  3. L'application de gestion des inscriptions de la médiathèque, en PHP avec une base MySQL, maintenue par le service informatique de la commune.
  4. L'intranet du personnel de la mairie.
Voir la réponseMasquer la réponse de l'exercice 1
  1. Hébergement statique (GitHub Pages, Netlify…) : gratuit, HTTPS automatique, déploiement par git push, aucun serveur à maintenir.
  2. Hébergement mutualisé : WordPress a besoin de PHP et de MySQL, que le mutualisé fournit sans administration système.
  3. Un mutualisé suffit pour une petite application PHP ; un VPS si l'équipe veut maîtriser la configuration (versions, tâches planifiées, sécurité) et sait l'administrer. Dans les deux cas, hébergement dans l'UE pour les données des usagers.
  4. Un serveur interne (ou un hébergement avec accès restreint par VPN) : l'intranet n'a pas à être exposé sur Internet.

Tu avais trouvé ?

Exercice 2 sur 4 Configurer le DNS Réussi À revoir

La médiathèque a réservé mediatheque-tilleuls.fr. Le site est hébergé sur un serveur d'adresse IPv4 203.0.113.10. La messagerie de la commune utilise le serveur mx1.messagerie.example. Écris les enregistrements DNS pour que :

  1. mediatheque-tilleuls.fr affiche le site ;
  2. www.mediatheque-tilleuls.fr affiche aussi le site ;
  3. les e-mails à contact@mediatheque-tilleuls.fr arrivent.

Puis indique la commande qui vérifie le point 2 depuis ton poste.

Voir la réponseMasquer la réponse de l'exercice 2
text
mediatheque-tilleuls.fr.      A      203.0.113.10
www.mediatheque-tilleuls.fr.  CNAME  mediatheque-tilleuls.fr.
mediatheque-tilleuls.fr.      MX     10 mx1.messagerie.example.

Le www peut aussi recevoir directement un enregistrement A vers la même adresse. Un CNAME ne peut pas être placé sur le domaine nu, qui porte déjà d'autres enregistrements (MX, NS…). Le chiffre 10 de l'enregistrement MX est la priorité.

Vérification : nslookup www.mediatheque-tilleuls.fr (ou dig www.mediatheque-tilleuls.fr) doit renvoyer l'alias puis l'adresse 203.0.113.10. Il reste à configurer le serveur web pour qu'il réponde aux deux noms et redirige l'un vers l'autre.

Tu avais trouvé ?

Exercice 3 sur 4 SFTP ou Git ? Réussi À revoir

Ton tuteur de stage met à jour le site de l'entreprise en envoyant les fichiers par FTP depuis son poste. Donne trois risques de cette méthode et propose une organisation plus sûre.

Voir la réponseMasquer la réponse de l'exercice 3

Risques :

  • FTP non chiffré : l'identifiant et le mot de passe du serveur circulent en clair sur le réseau.
  • Aucun historique : impossible de savoir ce qui a changé, quand, par qui ; revenir à la version d'hier suppose une sauvegarde.
  • Écrasements : deux personnes qui envoient chacune leur version, ou un vieux fichier renvoyé par erreur, et une modification est perdue.
  • Erreurs en production : le site est modifié directement, sans test préalable.

Organisation proposée : le code dans un dépôt Git (privé), une branche par évolution, un déploiement automatique vers le serveur à chaque fusion dans main (ou au minimum un envoi en SFTP avec clé SSH), une préproduction pour tester avant la mise en ligne, et une sauvegarde régulière. C'est aussi une bonne réalisation à présenter : elle couvre le patrimoine informatique et la mise à disposition d'un service.

Tu avais trouvé ?

Exercice 4 sur 4 Pourquoi le CSS ne charge plus ? Réussi À revoir

Le site fonctionnait sur ton poste avec Live Server. Publié sur GitHub Pages à l'adresse https://karim-sio.github.io/mediatheque/, il s'affiche sans aucune mise en forme. Le <head> contient <link rel="stylesheet" href="/css/style.css">. Explique et corrige.

Voir la réponseMasquer la réponse de l'exercice 4

Le chemin /css/style.css part de la racine du domaine : le navigateur demande https://karim-sio.github.io/css/style.css, qui n'existe pas (404 dans l'onglet Réseau). Le site est en réalité dans le sous-dossier /mediatheque/. En local, Live Server servait le site à la racine, d'où l'illusion que tout marchait.

Correction : un chemin relatif, <link rel="stylesheet" href="css/style.css"> (ou ../css/style.css depuis une page d'un sous-dossier). Autre solution : publier le site sur un domaine personnalisé, servi à la racine.

Tu avais trouvé ?

Chapitre terminé !

Fais les 4 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : Exercices corrigés HTML et CSS type examenRevoir le sommaire du cours