Fichier hosts ne fonctionne pas après modification sur Mac : Guide complet de dépannage
Vos modifications du fichier hosts ne prennent pas effet ? Découvrez toutes les solutions : cache DNS, permissions, syntaxe, navigateurs. Guide de dépannage étape par étape pour macOS.
Locahl Team
Sommaire
- Pourquoi le fichier hosts ne fonctionne pas : Les causes principales
- 1. Le cache DNS n'a pas été vidé
- 2. Erreur de syntaxe dans le fichier hosts
- 3. Le navigateur utilise son propre cache DNS
- 4. Problèmes de permissions
- 5. Conflits avec d'autres services
- Solution 1 : Vider le cache DNS système (la solution la plus courante)
- Pour macOS Monterey et versions ultérieures
- Pour macOS Big Sur et versions antérieures
- Vérifier que le cache a été vidé
- Solution 2 : Vérifier la syntaxe du fichier hosts
- Format correct
- Exemples corrects
- Exemples incorrects (à éviter)
- Vérifier la syntaxe avec une commande
- Solution 3 : Vider le cache DNS du navigateur
- Google Chrome
- Mozilla Firefox
- Safari
- Navigation privée pour tester
- Solution 4 : Vérifier les permissions du fichier hosts
- Permissions correctes
- Vérifier les permissions actuelles
- Corriger les permissions si nécessaire
- Solution 5 : Vérifier que le fichier hosts est bien lu
- Tester la résolution DNS
- Vérifier le contenu du fichier
- Solution 6 : Problèmes spécifiques aux domaines .local
- Pourquoi .local peut être lent ou ne pas fonctionner
- Solutions alternatives
- Solution 7 : Désactiver temporairement les VPN et proxies
- Tester sans VPN
- Vérifier les paramètres réseau
- Solution 8 : Redémarrer les services réseau
- Solution 9 : Vérifier les conflits avec d'autres applications
- Applications de sécurité
- Applications de gestion de hosts
- Applications VPN
- Checklist de dépannage complète
- Outils pour simplifier la gestion
- Avantages d'une application dédiée
- Conclusion
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 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.
Simplifiez la gestion de votre fichier hosts
Locahl vous permet de gérer votre fichier hosts visuellement, sans toucher au terminal. Flush DNS automatique, environnements multiples, et sauvegardes incluses.
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 :
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponderCette 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 :
sudo killall -HUP mDNSResponderVérifier que le cache a été vidé
Pour confirmer que le cache a bien été vidé, vous pouvez utiliser :
dscacheutil -q host -a name votre-domaine.localCette 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 :
IP_ADDRESS DOMAIN_NAME # Commentaire optionnelPoints 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
127.0.0.1 monprojet.local
127.0.0.1 api.monprojet.local # API locale
192.168.1.100 staging.example.comExemples incorrects (à éviter)
# 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.1Vérifier la syntaxe avec une commande
Vous pouvez vérifier rapidement s'il y a des erreurs de syntaxe :
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
doneSolution 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
Navigation privée pour tester
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 :
-rw-r--r-- 1 root wheel /etc/hostsVérifier les permissions actuelles
ls -l /etc/hostsVous devriez voir quelque chose comme : -rw-r--r-- 1 root wheel
Corriger les permissions si nécessaire
Si les permissions sont incorrectes :
sudo chmod 644 /etc/hosts
sudo chown root:wheel /etc/hostsSolution 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 :
dscacheutil -q host -a name votre-domaine.localOu utilisez ping :
ping -c 1 votre-domaine.localSi 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 :
cat /etc/hosts | grep votre-domaineSolution 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 :
127.0.0.1 monprojet.test
127.0.0.1 monprojet.localhostCes 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 :
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plistNote : 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 9,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, découvrez comment modifier le fichier hosts sur Mac ou comment gérer plusieurs fichiers hosts pour différents projets.
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
Avis des lecteurs
"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
"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
"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
Permission refusée fichier hosts Mac : Toutes les solutions
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.
Locahl Team
Pourquoi vos modifications du fichier hosts disparaissent au redémarrage (et comment y remédier)
Vos modifications du fichier hosts disparaissent après redémarrage sur Mac ? Découvrez pourquoi macOS réinitialise le fichier hosts et toutes les solutions pour rendre vos modifications permanentes.
Locahl Team
Terminal vs Interface graphique : Pourquoi les développeurs abandonnent le terminal pour gérer leur fichier hosts
Pourquoi de plus en plus de développeurs abandonnent le terminal pour gérer leur fichier hosts au profit d'interfaces graphiques comme Locahl. Avantages, inconvénients, productivité.
Locahl Team