Aide en ligne
Tous les articles

Comment éditer le fichier hosts sur Mac

Le fichier hosts associe un nom de domaine à une adresse IP, avant même que le système interroge un serveur DNS. Il sert à tester un site sur un serveur de développement avant de changer le DNS, à bloquer un site, ou à contourner temporairement une configuration réseau. Sur macOS, il se trouve dans /private/etc/hosts (le chemin /etc/hosts y mène aussi) et seul un compte administrateur peut le modifier.

Éditer le fichier

Ouvrez l'application Terminal (dans Applications, Utilitaires) et lancez l'éditeur nano avec les droits d'administrateur :

sudo nano /private/etc/hosts

Le mot de passe demandé est celui de votre session. Il ne s'affiche pas pendant la saisie. Avant de modifier, vous pouvez faire une copie de sécurité :

sudo cp /private/etc/hosts /private/etc/hosts.sauvegarde

Le format d'une ligne

Chaque ligne contient une adresse IP, puis un ou plusieurs noms de domaine, séparés par des espaces ou des tabulations. Tout ce qui suit un # est un commentaire :

xxx.xxx.xxx.xxx www.myurl.com

xxx.xxx.xxx.xxx est l'adresse IP, et www.myurl.com est le domaine à faire correspondre. Exemple, pour pointer quatre sous-domaines de développement vers le même serveur local :

192.168.0.4    deva.e-bancel.com
192.168.0.4    devb.e-bancel.com
192.168.0.4    devc.e-bancel.com
192.168.0.4    devd.e-bancel.com

Plusieurs noms peuvent aussi partager une ligne : 192.168.0.4 deva.e-bancel.com devb.e-bancel.com. Ne supprimez pas les lignes déjà présentes (127.0.0.1 localhost, 255.255.255.255 broadcasthost et ::1 localhost) : le système en a besoin.

Enregistrer et quitter nano

  1. Ctrl+O puis Entrée pour enregistrer ;
  2. Ctrl+X pour quitter.

Vider le cache DNS pour appliquer le changement

macOS garde en mémoire les correspondances déjà résolues. Pour que le nouveau contenu du fichier soit pris en compte tout de suite, videz le cache DNS :

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Vérifiez ensuite que le nom pointe vers la bonne adresse :

ping -c 1 deva.e-bancel.com

Si le navigateur ne tient pas compte du changement

Sous Windows et Linux

Le principe est le même. Sous Linux, le fichier est /etc/hosts (sudo nano /etc/hosts). Sous Windows, c'est C:\Windows\System32\drivers\etc\hosts, à ouvrir avec un éditeur lancé en administrateur ; le cache DNS se vide avec ipconfig /flushdns.