W06

Domaines, DNS & HTTPS

Configurer un domaine personnalisé, les enregistrements DNS et activer HTTPS.

🌐 1. Acheter un domaine

Les registrars (bureaux d'enregistrement) vendent les noms de domaine.

RegistrarPoints fortsPrix (.fr)
HostingerInterface simple, prix compétitifs~1-8€/an
OVHSupport FR, datacenter EU~6-10€/an
NamecheapRenouvellements pas chers~8-12€/an
CloudflarePrix coûtant (sans marge)~9€/an
Achetez votre domaine chez le même hébergeur que votre DNS pour simplifier la configuration. Hostinger est un bon choix pour débutants.

📡 2. Enregistrements DNS

TypeRôleExemple
ADomaine → IPv4@ → 76.76.21.21
AAAADomaine → IPv6@ → 2606:4700::...
CNAMEAlias → autre hostnamewww → cname.vercel-dns.com
MXServeur email@ → mail.protonmail.ch
TXTVérification / SPF / DKIM@ → "v=spf1 include:..."
NSServeurs de nomsDéfinis par le registrar

Configurations de référence

# Domaine personnalisé sur Vercel
A     @    76.76.21.21           TTL 300
CNAME www  cname.vercel-dns.com  TTL 300

# Domaine personnalisé sur Netlify
A     @    75.2.60.5             TTL 300
CNAME www  site.netlify.app      TTL 300

# GitHub Pages (4 IPs requises)
A     @    185.199.108.153       TTL 300
A     @    185.199.109.153       TTL 300
A     @    185.199.110.153       TTL 300
A     @    185.199.111.153       TTL 300
CNAME www  username.github.io    TTL 300

🔧 3. Configurer un domaine personnalisé

Sur Vercel

vercel domains add monsite.fr
# Vercel affiche les enregistrements DNS à créer

Sur Netlify (dashboard)

Site settings → Domain management → Add custom domain
# Puis configurer les DNS selon les instructions Netlify

Sur GitHub Pages

# Créer fichier CNAME à la racine du site
echo "monsite.fr" > public/CNAME

# Settings → Pages → Custom domain → monsite.fr

🔐 4. HTTPS avec Let's Encrypt

Let's Encrypt fournit des certificats SSL gratuits, renouvelés automatiquement toutes les 90 jours.

  • Vercel, Netlify, GitHub Pages — SSL automatique, rien à faire
  • VPS / Hostinger — utiliser Certbot
# Installer Certbot sur Ubuntu
sudo apt install certbot python3-certbot-nginx

# Obtenir un certificat (configure Nginx automatiquement)
sudo certbot --nginx -d monsite.fr -d www.monsite.fr

# Renouvellement automatique (cron)
sudo certbot renew --dry-run

Header HSTS

# Forcer HTTPS via le header Strict-Transport-Security
# Dans netlify.toml :
[[headers]]
  for = "/*"
    [headers.values]
    Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"

🔀 5. Sous-domaines

# Sous-domaine API sur Railway
CNAME  api      monapi.railway.app     TTL 300

# Sous-domaine staging sur Vercel
CNAME  staging  monapp-staging.vercel.app  TTL 300

# Sous-domaine CDN
CNAME  cdn      monsite.b-cdn.net      TTL 3600
Les sous-domaines permettent d'architecturer votre infrastructure : api.monsite.fr → backend, www.monsite.fr → frontend, staging.monsite.fr → environnement de test.

⏱️ 6. Propagation DNS

Les changements DNS ne sont pas instantanés — ils peuvent prendre de quelques minutes à 48 heures.

  • TTL (Time To Live) — durée en secondes pendant laquelle les DNS sont mis en cache. Un TTL de 300 = 5 minutes.
  • Avant modification — réduire le TTL à 300 quelques heures avant pour accélérer la propagation
  • Après propagation — remettre le TTL à 3600 ou 86400
# Vérifier la propagation
nslookup monsite.fr
dig monsite.fr A
dig www.monsite.fr CNAME

# Tester depuis un serveur DNS spécifique
dig monsite.fr A @8.8.8.8  # DNS Google
dig monsite.fr A @1.1.1.1  # DNS Cloudflare
→ Exercices W06 🔧 Mini-projet W07 : VPS →