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
| Brique | Rôle | Chez qui |
|---|---|---|
| Hébergement | un serveur web, allumé en permanence, qui stocke les fichiers et répond aux requêtes | un hébergeur (OVHcloud, o2switch, Infomaniak…), une plateforme de sites statiques (GitHub Pages, Netlify, Cloudflare Pages, Vercel), ou un serveur de l'organisation |
| Nom de domaine | l'adresse lisible du site, mediatheque-tilleuls.fr, louée pour une durée renouvelable | un bureau d'enregistrement (registrar), souvent le même que l'hébergeur |
| DNS | l'annuaire qui traduit le nom de domaine en adresse IP | les 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
| Type | Pour | Ce que tu gères | Coû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, documentation | presque rien : tu envoies les fichiers, la plateforme gère serveur, HTTPS et mise à l'échelle | gratuit pour un petit site |
| Hébergement mutualisé | un site en PHP avec base MySQL, un WordPress | les fichiers et la base ; l'hébergeur gère le serveur, partagé avec d'autres clients | quelques euros par mois |
| Serveur privé virtuel (VPS) ou dédié | une application sur mesure, plusieurs sites, des besoins particuliers | tout : système, serveur web, mises à jour de sécurité, sauvegardes, pare-feu | de quelques euros à plusieurs dizaines par mois |
| Serveur interne | un intranet, une application réservée au personnel | tout, plus l'ouverture réseau | l'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 :
| Type | Associe | Exemple |
|---|---|---|
| A | un nom à une adresse IPv4 | mediatheque-tilleuls.fr. A 203.0.113.10 |
| AAAA | un nom à une adresse IPv6 | mediatheque-tilleuls.fr. AAAA 2001:db8::10 |
| CNAME | un nom à un autre nom (un alias) | www CNAME mediatheque-tilleuls.netlify.app. |
| MX | le domaine à ses serveurs de messagerie | mediatheque-tilleuls.fr. MX 10 mail.exemple.net. |
| TXT | un 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/.
| Protocole | Port | Chiffré | À utiliser ? |
|---|---|---|---|
| FTP | 21 | non : identifiant et mot de passe circulent en clair | non |
| FTPS | 21 ou 990 | oui (FTP + TLS) | si l'hébergeur ne propose que lui |
| SFTP | 22 | oui (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 :
- crée un dépôt et envoie-y ton site (
index.htmlà la racine) ; - dans Settings > Pages, choisis de publier depuis la branche
main; - le site est en ligne à l'adresse
https://<ton-identifiant>.github.io/<nom-du-depot>/; - à chaque
git push, il est republié automatiquement.
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érifier | Outil |
|---|---|
| HTML valide sur toutes les pages | validateur du W3C |
| Aucun lien cassé, aucune image manquante | onglet Réseau (aucun 404), un vérificateur de liens |
Un <title> et une meta description uniques par page | lecture 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, étiquettes | chapitre 12 |
| Images compressées, dimensions déclarées | Lighthouse, 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.xml | les ouvrir dans le navigateur |
| HTTPS partout, redirection depuis HTTP | taper l'adresse en http:// |
| Aucun traceur avant consentement | onglet 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.
- Ton portfolio de BTS, en HTML et CSS.
- Le site WordPress d'une association sportive.
- 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.
- L'intranet du personnel de la mairie.
Voir la réponseMasquer la réponse de l'exercice 1
- Hébergement statique (GitHub Pages, Netlify…) : gratuit, HTTPS automatique, déploiement par
git push, aucun serveur à maintenir. - Hébergement mutualisé : WordPress a besoin de PHP et de MySQL, que le mutualisé fournit sans administration système.
- 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.
- 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 :
mediatheque-tilleuls.fraffiche le site ;www.mediatheque-tilleuls.fraffiche aussi le site ;- les e-mails à
contact@mediatheque-tilleuls.frarrivent.
Puis indique la commande qui vérifie le point 2 depuis ton poste.
Voir la réponseMasquer la réponse de l'exercice 2
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é ?