Locahl
Acheter Locahl
fichier hostsdépannagemacOScache DNSguide

Fichier hosts Mac ne fonctionne pas : solutions

Vos modifications hosts ne prennent pas effet sur Mac ? Vérifiez cache DNS, permissions, syntaxe, navigateurs et proxies.

L

Locahl Team

·9 min de lecture

Sommaire

Vous avez modifié le fichier hosts sur votre Mac, mais vos changements ne semblent pas prendre effet ? C'est un problème frustrant que rencontrent de nombreux développeurs. Dans ce guide complet, nous allons passer en revue toutes les causes possibles et leurs solutions, étape par étape.

Pourquoi mon fichier hosts ne fonctionne pas sur Mac ?

Si vos modifications du fichier hosts ne prennent pas effet sur Mac, la cause est presque toujours un cache DNS obsolète ou une erreur de syntaxe. Videz le cache DNS avec `sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder`, vérifiez que chaque ligne est `IP<espace>nom_d_hôte` sans `http://`, chemin ni port, videz le cache DNS du navigateur, et désactivez tout VPN qui impose son DNS.

Sous Windows ou Linux ? Voir la version multiplateforme : le fichier hosts qui ne fonctionne pas sous Windows, Mac et Linux.

Pourquoi le fichier hosts ne fonctionne pas : Les causes principales

Avant de plonger dans les solutions, comprenons pourquoi vos modifications peuvent ne pas fonctionner. Il existe plusieurs raisons courantes :

1. Le cache DNS n'a pas été vidé

C'est la cause numéro un. macOS maintient un cache DNS en mémoire pour améliorer les performances. Même après avoir modifié le fichier hosts, le système peut continuer à utiliser les anciennes valeurs mises en cache.

2. Erreur de syntaxe dans le fichier hosts

Une simple erreur de formatage peut empêcher une entrée entière de fonctionner. Le fichier hosts est très strict sur sa syntaxe.

3. Le navigateur utilise son propre cache DNS

Chrome, Firefox et Safari ont tous leurs propres caches DNS indépendants du système. Même si le système résout correctement le domaine, votre navigateur peut utiliser une ancienne valeur.

4. Problèmes de permissions

Si le fichier hosts n'a pas les bonnes permissions ou si vous avez utilisé un éditeur qui a corrompu les permissions, macOS peut refuser de lire le fichier correctement.

5. Conflits avec d'autres services

Certains services comme VPN, proxies, ou même des applications de sécurité peuvent intercepter les requêtes DNS avant qu'elles n'atteignent le fichier hosts.

Solution 1 : Vider le cache DNS système (la solution la plus courante)

C'est la première chose à essayer dans 90% des cas.

Pour macOS Monterey et versions ultérieures

Ouvrez le Terminal et exécutez cette commande :

BASH
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder

Cette commande fait deux choses :

  • dscacheutil -flushcache : Vide le cache DNS système
  • killall -HUP mDNSResponder : Redémarre le service mDNSResponder qui gère la résolution DNS

Pour macOS Big Sur et versions antérieures

Sur les versions plus anciennes, utilisez simplement :

BASH
sudo killall -HUP mDNSResponder

Vérifier que le cache a été vidé

Pour confirmer que le cache a bien été vidé, vous pouvez utiliser :

BASH
dscacheutil -q host -a name votre-domaine.local

Cette commande vous montre quelle IP est actuellement résolue pour votre domaine. Si vous voyez l'IP que vous avez configurée dans le fichier hosts, c'est bon signe.

Solution 2 : Vérifier la syntaxe du fichier hosts

Une erreur de syntaxe peut empêcher une entrée ou même tout le fichier de fonctionner correctement.

Format correct

Chaque ligne doit suivre ce format exact :

BASH
IP_ADDRESS    DOMAIN_NAME    # Commentaire optionnel

Points importants :

  • L'adresse IP et le nom de domaine doivent être séparés par des espaces ou des tabulations
  • Un seul domaine par ligne (pas de virgules)
  • Les commentaires commencent par #
  • Pas d'espaces avant l'adresse IP
  • Pas de lignes vides avec seulement des espaces

Exemples corrects

BASH
127.0.0.1    monprojet.local
127.0.0.1    api.monprojet.local    # API locale
192.168.1.100    staging.example.com

Exemples incorrects (à éviter)

BASH
# Erreur : pas d'espace avant l'IP
 127.0.0.1 monprojet.local

# Erreur : virgule au lieu d'une ligne séparée
127.0.0.1 monprojet.local, api.monprojet.local

# Erreur : format inversé
monprojet.local 127.0.0.1

Vérifier la syntaxe avec une commande

Vous pouvez vérifier rapidement s'il y a des erreurs de syntaxe :

BASH
cat /etc/hosts | grep -v "^#" | grep -v "^$" | awk '{print $1, $2}' | while read ip domain; do
    if [[ ! $ip =~ ^[0-9]+.[0-9]+.[0-9]+.[0-9]+$ ]] && [[ ! $ip =~ ^:: ]]; then
        echo "Erreur : $ip n'est pas une adresse IP valide"
    fi
done

Solution 3 : Vider le cache DNS du navigateur

Même après avoir vidé le cache DNS système, votre navigateur peut toujours utiliser ses propres valeurs mises en cache.

Google Chrome

1. Ouvrez Chrome 2. Allez à chrome://net-internals/#dns 3. Cliquez sur le bouton "Clear host cache" 4. Fermez complètement Chrome (Cmd+Q) et rouvrez-le

Mozilla Firefox

1. Ouvrez Firefox 2. Allez à about:networking#dns 3. Cliquez sur "Clear DNS Cache" 4. Fermez complètement Firefox (Cmd+Q) et rouvrez-le

Safari

Safari utilise le cache DNS système, mais il peut aussi mettre en cache certaines valeurs :

1. Fermez complètement Safari (Cmd+Q) 2. Ouvrez le Terminal et videz le cache DNS système 3. Rouvrez Safari

Pour tester si c'est un problème de cache, ouvrez une fenêtre de navigation privée :

  • Chrome/Firefox : Cmd+Shift+N
  • Safari : Cmd+Shift+N

Si ça fonctionne en navigation privée mais pas en navigation normale, c'est définitivement un problème de cache du navigateur.

Solution 4 : Vérifier les permissions du fichier hosts

Les permissions incorrectes peuvent empêcher macOS de lire le fichier hosts correctement.

Permissions correctes

Le fichier hosts doit avoir ces permissions :

BASH
-rw-r--r--  1 root  wheel  /etc/hosts

Vérifier les permissions actuelles

BASH
ls -l /etc/hosts

Vous devriez voir quelque chose comme : -rw-r--r-- 1 root wheel

Corriger les permissions si nécessaire

Si les permissions sont incorrectes :

BASH
sudo chmod 644 /etc/hosts
sudo chown root:wheel /etc/hosts

Solution 5 : Vérifier que le fichier hosts est bien lu

Parfois, le fichier hosts peut être lu mais certaines lignes peuvent être ignorées à cause d'erreurs.

Tester la résolution DNS

Utilisez cette commande pour voir quelle IP est réellement résolue :

BASH
dscacheutil -q host -a name votre-domaine.local

Ou utilisez ping :

BASH
ping -c 1 votre-domaine.local

Si vous voyez "127.0.0.1" (ou l'IP que vous avez configurée), le fichier hosts fonctionne au niveau système.

Vérifier le contenu du fichier

Assurez-vous que vos modifications sont bien présentes :

BASH
cat /etc/hosts | grep votre-domaine

Solution 6 : Problèmes spécifiques aux domaines .local

Les domaines se terminant par .local sont gérés différemment par macOS via Bonjour (mDNS).

Pourquoi .local peut être lent ou ne pas fonctionner

macOS utilise mDNSResponder pour résoudre les domaines .local, ce qui peut créer des délais ou des conflits.

Solutions alternatives

Utilisez .test ou .localhost à la place :

BASH
127.0.0.1    monprojet.test
127.0.0.1    monprojet.localhost

Ces domaines sont réservés pour le développement local et fonctionnent de manière plus fiable.

Solution 7 : Désactiver temporairement les VPN et proxies

Si vous utilisez un VPN ou un proxy, ils peuvent intercepter les requêtes DNS avant qu'elles n'atteignent le fichier hosts.

Tester sans VPN

1. Déconnectez votre VPN 2. Videz le cache DNS 3. Testez à nouveau

Vérifier les paramètres réseau

Allez dans Préférences Système > Réseau et vérifiez qu'il n'y a pas de proxy configuré qui pourrait interférer.

Solution 8 : Redémarrer les services réseau

Si rien d'autre ne fonctionne, redémarrez les services réseau :

BASH
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

Note : Sur les versions récentes de macOS avec System Integrity Protection (SIP), cette commande peut ne pas fonctionner. Dans ce cas, un redémarrage complet peut être nécessaire.

Solution 9 : Vérifier les conflits avec d'autres applications

Certaines applications peuvent modifier ou intercepter les requêtes DNS :

Applications de sécurité

Les antivirus ou pare-feu peuvent bloquer ou modifier les requêtes DNS. Vérifiez leurs paramètres.

Applications de gestion de hosts

Si vous utilisez une application comme Locahl, Gas Mask, ou SwitchHosts, assurez-vous qu'elle applique bien les modifications et qu'il n'y a pas de conflit avec une modification manuelle.

Applications VPN

Les applications VPN comme NordVPN, ExpressVPN, etc., peuvent avoir leurs propres serveurs DNS qui contournent le fichier hosts.

Checklist de dépannage complète

Suivez cette checklist dans l'ordre :

1. ✅ Vérifier la syntaxe du fichier hosts 2. ✅ Vider le cache DNS système : sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder 3. ✅ Vider le cache DNS du navigateur (Chrome, Firefox, ou Safari) 4. ✅ Fermer complètement le navigateur (Cmd+Q) et le rouvrir 5. ✅ Tester avec ping : ping votre-domaine.local 6. ✅ Vérifier les permissions : ls -l /etc/hosts 7. ✅ Tester en navigation privée pour éliminer le cache du navigateur 8. ✅ Désactiver temporairement VPN/proxy si applicable 9. ✅ Vérifier qu'il n'y a pas de conflit avec d'autres applications 10. ✅ Redémarrer les services réseau ou redémarrer le Mac en dernier recours

Outils pour simplifier la gestion

Gérer le fichier hosts manuellement peut être fastidieux, surtout quand vous devez vider le cache DNS à chaque modification. C'est là qu'une application dédiée comme Locahl peut faire toute la différence.

Avantages d'une application dédiée

  • Flush DNS automatique : Plus besoin de retenir les commandes
  • Validation de syntaxe : Détecte les erreurs avant de les appliquer
  • Gestion visuelle : Voir toutes vos entrées en un coup d'œil
  • Backups automatiques : Vos modifications sont sauvegardées
  • Activation/désactivation : Activez ou désactivez des entrées sans les supprimer

Locahl est disponible pour seulement 4,99 € (achat unique) et simplifie considérablement la gestion du fichier hosts sur Mac. Plus besoin de Terminal, plus besoin de retenir les commandes de flush DNS - tout est intégré dans une interface intuitive.

Conclusion

Quand votre fichier hosts ne fonctionne pas après modification, la cause est presque toujours le cache DNS qui n'a pas été vidé. Commencez toujours par cette étape avant de chercher d'autres solutions.

Rappelez-vous : 1. Syntaxe correcte : IP + espace/tab + domaine 2. Flush DNS système : Toujours après modification 3. Flush DNS navigateur : Souvent nécessaire aussi 4. Tester avec ping : Pour vérifier que ça fonctionne au niveau système 5. Navigation privée : Pour tester sans cache du navigateur

Avec ces solutions, vous devriez résoudre 99% des problèmes. Si rien ne fonctionne après avoir essayé toutes ces étapes, vérifiez qu'il n'y a pas de conflit avec une application tierce ou un service système.

Pour aller plus loin, consultez le guide complet de modification du fichier hosts (Windows, Mac et Linux), le tutoriel Mac, ou la référence fichier hosts.

Sources et ressources externes

Partager cet article
Disponible sur Windows, macOS et Linux

Prêt à simplifier votre workflow ?

Arrêtez de perdre du temps avec le terminal. Locahl vous permet de gérer votre fichier hosts en quelques clics, avec validation automatique et sans risque d'erreur.

  • Interface visuelle intuitive
  • Flush DNS automatique
  • Gestion multi-environnements
  • Sauvegardes automatiques
  • Import/Export JSON
Acheter Locahl4,99 €Paiement unique, pas d'abonnement

Avis des lecteurs

4.7(3 avis)
Sophie M.

"Enfin un guide qui couvre TOUS les cas ! J'avais vidé le cache DNS mais mon navigateur gardait encore l'ancienne IP. La section sur le cache des navigateurs m'a sauvée."

6 février 2026

Marc D.

"Problème résolu en 5 minutes grâce à la section sur le cache DNS. Je ne savais pas qu'il fallait aussi redémarrer mDNSResponder. Excellent guide !"

6 février 2026

Claire L.

"Très complet, j'aurais aimé plus d'exemples de commandes pour vérifier que ça fonctionne, mais sinon toutes les solutions sont là."

6 février 2026

Questions fréquentes

Pourquoi mes modifications du fichier hosts ne fonctionnent pas sur Mac ?

Les causes les plus courantes sont : le cache DNS n'a pas été vidé, une erreur de syntaxe dans le fichier hosts, le navigateur utilise son propre cache DNS, ou les permissions du fichier sont incorrectes. Commencez par vider le cache DNS avec : sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder

Comment vider le cache DNS sur macOS ?

Sur macOS Monterey et versions ultérieures, utilisez : sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder. Sur les versions antérieures, utilisez : sudo killall -HUP mDNSResponder. Redémarrez ensuite votre navigateur.

Mon navigateur ignore toujours le fichier hosts, que faire ?

Videz le cache DNS du navigateur lui-même. Pour Chrome : chrome://net-internals/#dns puis "Clear host cache". Pour Firefox : about:networking#dns puis "Clear DNS Cache". Pour Safari, fermez complètement l'application (Cmd+Q) et rouvrez-la.

Comment vérifier que le fichier hosts fonctionne correctement ?

Utilisez la commande ping dans le Terminal : ping votre-domaine.local. Si vous voyez "127.0.0.1" ou l'IP que vous avez configurée, cela fonctionne. Vous pouvez aussi utiliser : dscacheutil -q host -a name votre-domaine.local pour voir quelle IP est résolue.

Le fichier hosts fonctionne avec ping mais pas dans le navigateur, pourquoi ?

C'est généralement un problème de cache du navigateur. Videz le cache DNS du navigateur spécifiquement. Chrome et Firefox ont leurs propres caches DNS indépendants du système. Essayez aussi d'ouvrir une fenêtre de navigation privée pour tester.

Dois-je redémarrer mon Mac après avoir modifié le fichier hosts ?

Non, un redémarrage n'est généralement pas nécessaire. Vider le cache DNS avec les commandes appropriées suffit. Cependant, si rien ne fonctionne, un redémarrage peut aider à réinitialiser tous les services réseau.

Articles similaires

7 min de lecture
fichier hostspermissionsmacOS

Permission refusée fichier hosts Mac

Solutions complètes pour résoudre les erreurs de permission refusée lors de la modification du fichier hosts sur Mac. Commandes, outils, dépannage.

L

Locahl Team

10 min de lecture
fichier hostsmacOSredémarrage

Modifications hosts perdues au redémarrage

Vos modifications hosts disparaissent après redémarrage sur Mac ? Causes possibles, SIP, agents système et solutions durables.

L

Locahl Team

4 min de lecture
localhostdépannageERR_CONNECTION_REFUSED

Localhost n’autorise pas la connexion : comment corriger

Corrigez « localhost n’autorise pas la connexion » (ERR_CONNECTION_REFUSED) dans Chrome, sous Windows, Mac, XAMPP et VS Code : serveur, port, IPv6 vs IPv4, fichier hosts, pare-feu.

É

Équipe Locahl

Outils développeurs

4 min de lecture
fichier hostsréinitialiserpar défaut

Réinitialiser le fichier hosts par défaut (Windows, Mac, Linux)

Réinitialisez et restaurez le fichier hosts par défaut sur Windows, macOS et Linux. Copiez le contenu par défaut exact, sauvegardez d’abord, puis videz le DNS pour appliquer.

É

Équipe Locahl

Outils développeurs

4 min de lecture
fichier hostsdépannageDNS

Fichier hosts qui ne fonctionne pas ? Solutions Windows, Mac, Linux

Le fichier hosts est ignoré ou /etc/hosts ne s’applique pas ? Corrigez-le sous Windows, Mac et Linux : flush DNS, syntaxe, IPv6, fins de ligne, caches de résolveur et permissions.

É

Équipe Locahl

Outils développeurs