Le fichier Hosts de macOS : Le guide complet pour le contrôle DNS local
Que vous soyez un développeur testant un nouveau site avant son lancement, en train de résoudre un problème de migration de serveur, ou simplement en train de bloquer des sites web distrayants, le fichier hosts de macOS est l’un des outils les plus puissants — et les plus sous-utilisés — de votre arsenal. Ce guide complet vous explique tout ce que vous devez savoir : ce qu’est le fichier hosts, où le trouver, comment le modifier en toute sécurité, et comment l’exploiter pour des workflows réels comme les tests sur serveur de staging et les environnements de développement local.
Qu’est-ce que le fichier hosts ?
Le fichier hosts est un fichier système en texte brut qui associe des noms d’hôtes lisibles par l’homme (comme example.com) à des adresses IP spécifiques. Avant que votre Mac n’envoie une requête DNS à un résolveur externe, il consulte d’abord le fichier hosts local. Si une entrée correspondante existe, il utilise cette adresse IP — sans impliquer de serveur DNS.
Cela fait du fichier hosts une sorte de couche de substitution DNS locale, vous donnant un contrôle granulaire sur la façon dont votre machine résout les noms de domaine. Il fonctionne silencieusement en arrière-plan et, utilisé correctement, c’est un outil incroyablement efficace pour les développeurs et les administrateurs système.
Principaux cas d’utilisation en un coup d’œil
| Cas d’utilisation | Ce que ça fait |
|---|---|
| Blocage de sites web | Associe un domaine à 0.0.0.0 pour empêcher l’accès |
| Développement local | Associe un domaine personnalisé à 127.0.0.1 pour les tests en localhost |
| Tests DNS / Migration | Pointe un domaine actif vers une nouvelle IP de serveur avant la propagation DNS |
| Environnements de staging | Prévisualise un site sur un nouvel hébergeur sans modifier le DNS public |
| Renforcement de la sécurité | Bloque les domaines malveillants connus ou servant des publicités |
Où se trouve le fichier hosts sur macOS ?
Sur macOS, le fichier hosts se trouve dans le répertoire /etc/. Le chemin complet est :
/etc/hostsIl s’agit d’un fichier système protégé, ce qui signifie que vous avez besoin de privilèges administrateur (root) pour le modifier. Vous ne pouvez pas simplement double-cliquer dessus et commencer à l’éditer — vous devez utiliser le Terminal avec des permissions élevées via sudo.
> Remarque : Le répertoire /etc/ sur macOS est en réalité un lien symbolique vers /private/etc/, donc /etc/hosts et /private/etc/hosts pointent vers le même fichier.
Comment modifier le fichier hosts sur macOS : étape par étape
Étape 1 — Ouvrir le Terminal
Lancez l’application Terminal. Vous pouvez le faire de deux façons :
- Recherche Spotlight : Appuyez sur
Command + Space, tapezTerminal, et appuyez surEnter - Finder : Naviguez vers
Applications > Utilities > Terminal
Étape 2 — Ouvrir le fichier hosts avec des privilèges élevés
Utilisez l’éditeur de texte nano avec sudo pour ouvrir le fichier hosts :
sudo nano /etc/hostsVous serez invité à saisir votre mot de passe administrateur macOS. Tapez-le et appuyez sur Enter. Notez que le champ du mot de passe restera vide pendant que vous tapez — c’est un comportement normal pour sudo dans le Terminal.
Étape 3 — Comprendre les entrées par défaut
Une fois le fichier ouvert dans nano, vous verrez les entrées par défaut fournies avec macOS :
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhostNe supprimez pas et ne modifiez pas ces entrées par défaut. Elles sont nécessaires au bon fonctionnement de votre système. Toutes les entrées personnalisées doivent être ajoutées en dessous de ces lignes.
Étape 4 — Ajouter vos entrées personnalisées
La syntaxe d’une entrée dans le fichier hosts est simple :
<IP address> <hostname> [optional alias]Chaque entrée doit être sur sa propre ligne. Voici des exemples pratiques :
Bloquer un site web :
0.0.0.0 facebook.com
0.0.0.0 www.facebook.comAssocier un domaine de développement local :
127.0.0.1 myproject.local
127.0.0.1 myproject.devPointer un domaine vers un serveur spécifique pour les tests de migration :
192.168.1.100 mywebsite.com
192.168.1.100 www.mywebsite.comVous pouvez également ajouter des commentaires en ligne en utilisant le caractère # pour garder votre fichier hosts organisé :
# --- Local Development Projects ---
127.0.0.1 project-alpha.local
127.0.0.1 project-beta.local
# --- Migration Testing: New Server IP 203.0.113.50 ---
203.0.113.50 clientsite.com
203.0.113.50 www.clientsite.comÉtape 5 — Enregistrer le fichier
Une fois vos modifications effectuées dans nano :
- Appuyez sur
Control + Opour écrire (enregistrer) le fichier - Appuyez sur
Enterpour confirmer le nom du fichier - Appuyez sur
Control + Xpour quitter nano
Étape 6 — Vider le cache DNS
Modifier le fichier hosts seul ne suffit pas — macOS met en cache les recherches DNS, vous devez donc vider le cache DNS pour forcer votre système à reconnaître immédiatement les nouvelles entrées.
Exécutez la commande suivante dans le Terminal :
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponderCette commande fait deux choses :
dscacheutil -flushcache— vide le cache DNS localkillall -HUP mDNSResponder— redémarre le processus mDNSResponder, qui gère la résolution DNS sur macOS
Après l’avoir exécutée, ouvrez votre navigateur et testez le domaine. Les modifications devraient prendre effet immédiatement.
> Note sur la version macOS : La commande de vidage ci-dessus fonctionne sur macOS Monterey, Ventura, Sonoma et Sequoia. Sur les versions plus anciennes (antérieures à Yosemite), la commande peut légèrement différer.
Cas d’utilisation réels en détail
Cas d’utilisation 1 : Blocage de sites web
Le fichier hosts est l’un des moyens les plus simples et les plus efficaces de bloquer des sites web distrayants ou nuisibles au niveau du système — sans logiciel tiers requis.
En associant un domaine à 0.0.0.0 (une adresse non routable), vous empêchez votre navigateur d’atteindre le site :
0.0.0.0 reddit.com
0.0.0.0 www.reddit.com
0.0.0.0 twitter.com
0.0.0.0 www.twitter.comContrairement aux extensions de navigateur, ce blocage s’applique à l’ensemble du système — il affecte tous les navigateurs et applications sur votre Mac.
Cas d’utilisation 2 : Environnements de développement local
Si vous créez des sites web ou des applications web en local, le fichier hosts vous permet d’attribuer des noms de domaine personnalisés à votre environnement localhost au lieu d’utiliser le générique http://localhost ou http://127.0.0.1.
127.0.0.1 myshop.local
127.0.0.1 clientproject.local
127.0.0.1 wordpress-staging.localC’est particulièrement utile lorsque vous travaillez avec des projets WordPress, Joomla ou Laravel qui utilisent des URL absolues ou des domaines de cookies liés à un nom d’hôte spécifique. Associez cela à une pile de serveur web local (comme MAMP, Laravel Valet ou un conteneur Docker) et vous disposez d’un workflow de développement local professionnel.
Si vous exécutez votre environnement de développement sur une instance VPS Hosting distante plutôt qu’en local, le même principe s’applique — vous pouvez pointer un domaine directement vers l’IP de votre VPS pour effectuer des tests avant de mettre à jour les enregistrements DNS publics.
Cas d’utilisation 3 : Tester les migrations de serveur sans propagation DNS
C’est sans doute le cas d’utilisation le plus précieux pour les développeurs et les administrateurs système. Lorsque vous migrez un site web vers un nouveau serveur — que vous changiez d’hébergeur ou mettiez à niveau votre infrastructure — la propagation DNS peut prendre de quelques minutes à 48 heures.
Le fichier hosts vous permet de prévisualiser le site sur le nouveau serveur immédiatement, depuis votre propre machine, sans affecter qui que ce soit d’autre.
Exemple de scénario : Vous migrez mywebsite.com vers un nouveau Serveur Dédié avec l’adresse IP 203.0.113.50. Ajoutez cette entrée :
203.0.113.50 mywebsite.com
203.0.113.50 www.mywebsite.comMaintenant, lorsque vous tapez mywebsite.com dans votre navigateur, votre Mac charge le site depuis le nouveau serveur — même si le DNS public pointe toujours vers l’ancien. Cela vous permet de :
- Vérifier que toutes les pages se chargent correctement
- Vérifier que les certificats SSL sont correctement installés
- Tester les formulaires de contact, les flux de paiement et les fonctionnalités dynamiques
- Confirmer que les connexions à la base de données et les fichiers médias sont intacts
Une fois que vous êtes satisfait que tout fonctionne, mettez à jour les enregistrements DNS publics. La transition sera transparente pour vos visiteurs.
Cas d’utilisation 4 : Contourner le DNS pour le dépannage
Parfois, des problèmes DNS peuvent rendre un site inaccessible même lorsque le serveur lui-même fonctionne correctement. Le fichier hosts vous permet de contourner complètement le DNS et de vous connecter directement à une adresse IP connue pour diagnostiquer le problème.
C’est particulièrement utile lorsque :
- Les enregistrements DNS de votre domaine sont mal configurés
- Vous testez une nouvelle installation de Certificats SSL avant que le DNS ne se soit propagé
- Vous devez vérifier qu’un serveur répond correctement pendant que les problèmes DNS sont en cours de résolution
Cas d’utilisation 5 : Tester les configurations d’hébergement de messagerie
Si vous configurez ou migrez un Hébergement Email et que vous devez vérifier que votre serveur de messagerie est accessible à une IP spécifique avant la mise à jour des enregistrements DNS, vous pouvez temporairement associer votre domaine de messagerie dans le fichier hosts pour tester la connectivité et la configuration.
Vérifier les modifications de votre fichier hosts
Avant de vider le cache DNS, il est recommandé de vérifier que votre entrée a été correctement enregistrée. Vous pouvez consulter le contenu actuel du fichier hosts sans le modifier en utilisant :
cat /etc/hostsVous pouvez également utiliser la commande ping pour vérifier qu’un nom d’hôte se résout vers l’IP attendue :
ping mywebsite.comLa sortie devrait afficher l’adresse IP que vous avez associée dans le fichier hosts.
Restaurer le fichier hosts par défaut
Si votre fichier hosts devient encombré ou si quelque chose se passe mal, vous pouvez le réinitialiser à son état par défaut. Ouvrez le fichier avec sudo nano /etc/hosts, supprimez toutes les entrées personnalisées et assurez-vous que le fichier ne contient que les valeurs par défaut d’origine :
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhostEnregistrez le fichier, quittez nano et videz le cache DNS en utilisant la commande de l’étape 6. Votre système reviendra à utiliser la résolution DNS standard pour tous les domaines.
Considérations de sécurité
Bien que le fichier hosts soit un outil puissant, gardez ces bonnes pratiques de sécurité à l’esprit :
- Limiter l’accès : Seuls les administrateurs doivent avoir un accès en écriture à
/etc/hosts. Vérifiez les permissions avecls -la /etc/hosts— cela devrait afficher-rw-r--r--. - Supprimer les entrées de test après utilisation : Ne laissez pas les entrées de test de migration en place après avoir terminé. Elles peuvent causer de la confusion et des comportements inattendus par la suite.
- Soyez vigilant face aux malwares : Certains malwares modifient le fichier hosts pour rediriger des domaines légitimes vers des serveurs malveillants. Examinez périodiquement votre fichier hosts pour vous assurer qu’aucune entrée non autorisée n’existe.
- Utilisez le contrôle de version pour les équipes : Si plusieurs développeurs partagent un environnement de développement, envisagez de documenter vos entrées de fichier hosts dans un README partagé ou un fichier de configuration versionné.
Référence rapide : commandes essentielles
| Tâche | Commande |
|---|---|
| Ouvrir le fichier hosts pour modification | sudo nano /etc/hosts |
| Afficher le fichier hosts (lecture seule) | cat /etc/hosts |
| Vider le cache DNS (macOS Ventura/Sonoma) | sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder |
| Vérifier les permissions du fichier | ls -la /etc/hosts |
| Vérifier la résolution du nom d’hôte | ping yourdomain.com |
| Enregistrer dans nano | Control + O, puis Enter |
| Quitter nano | Control + X |
Foire aux questions
Dois-je redémarrer mon Mac après avoir modifié le fichier hosts ?
Non. Vider le cache DNS avec la commande dscacheutil est suffisant. Un redémarrage n’est pas nécessaire.
Les modifications du fichier hosts affecteront-elles les autres utilisateurs de mon Mac ?
Oui. Le fichier hosts est à l’échelle du système, donc les modifications affectent tous les comptes utilisateurs sur la même machine.
Le fichier hosts fonctionne-t-il avec HTTPS ?
Oui, mais avec une mise en garde. Le fichier hosts contrôle uniquement la résolution IP — il ne gère pas les certificats SSL/TLS. Si vous redirigez un domaine vers un nouveau serveur via le fichier hosts et que le certificat SSL sur ce serveur ne correspond pas au domaine, votre navigateur affichera un avertissement de certificat.
Puis-je utiliser des caractères génériques dans le fichier hosts ?
Non. Le fichier hosts de macOS ne prend pas en charge les entrées avec caractères génériques. Chaque nom d’hôte doit être listé explicitement sur sa propre ligne.
La modification du fichier hosts affectera-t-elle mon VPN ?
Cela dépend de la configuration de votre VPN. Certains VPN remplacent les paramètres DNS locaux, ce qui peut entraîner l’ignorance des entrées du fichier hosts lorsque le VPN est actif.
Conclusion : prenez le contrôle total de votre DNS local
Le fichier hosts de macOS est un outil d’une simplicité trompeuse mais d’une puissance remarquable. Avec un simple fichier texte et quelques commandes Terminal, vous pouvez bloquer des sites web distrayants, créer des environnements de développement local professionnels et tester des migrations de serveur en toute confiance — sans attendre la propagation DNS ni toucher à votre infrastructure en production.
Pour les développeurs travaillant avec des Panneaux de Contrôle VPS ou gérant des sites sur un Hébergement Web Mutualisé, maîtriser le fichier hosts est une compétence fondamentale qui vous fera économiser des heures de dépannage. La prochaine fois que vous préparerez une migration de site ou lancerez un nouveau projet de développement, commencez par /etc/hosts — c’est le moyen le plus rapide et le plus fiable de contrôler la façon dont votre Mac résout n’importe quel domaine sur internet.
