Guide complet de la syntaxe et du format /etc/hosts
Référence complète de la syntaxe du fichier hosts : règles, formats IPv4/IPv6, exemples pratiques, erreurs courantes et bonnes pratiques pour macOS, Windows et Linux.
Locahl Team
Sommaire
- Introduction à la syntaxe du fichier hosts
- Structure de base
- Caractères séparateurs
- Format IPv4
- Syntaxe IPv4 standard
- Adresses IPv4 spéciales
- Exemples pratiques IPv4
- Format IPv6
- Syntaxe IPv6 de base
- Notation IPv6 simplifiée
- Exemples IPv6 pratiques
- Commentaires et organisation
- Syntaxe des commentaires
- Organisation avec des commentaires
- Alias et domaines multiples
- Syntaxe des alias
- Quand utiliser des alias
- Exemples d'alias pratiques
- Règles et contraintes
- Règles de syntaxe essentielles
- Limitations importantes
- Exemples d'erreurs courantes
- Validation et vérification
- Commandes de vérification
- Tests de validation
- Erreurs de syntaxe courantes
- Espaces invisibles et caractères spéciaux
- Format d'adresse IP invalide
- Ordre incorrect
- Bonnes pratiques de syntaxe
- Formatage cohérent
- Documentation
- Maintenance
- Outils pour valider la syntaxe
- Validation automatique
- Vérification en ligne de commande
- Cas d'usage avancés
- Configuration multi-environnements
- Configuration pour équipes
- Conclusion
Le fichier hosts est un élément fondamental de la configuration réseau de votre système. Maîtriser sa syntaxe et son format est essentiel pour éviter les erreurs et optimiser vos configurations. Ce guide de référence complet vous fournira toutes les informations nécessaires pour utiliser le fichier hosts efficacement.
Introduction à la syntaxe du fichier hosts
Le fichier hosts suit une syntaxe simple mais stricte. Chaque ligne représente une association entre une adresse IP et un ou plusieurs noms de domaine. La compréhension de cette syntaxe est la clé pour éviter les erreurs courantes qui peuvent empêcher vos configurations de fonctionner correctement.
Structure de base
La structure fondamentale d'une entrée dans le fichier hosts est la suivante :
adresse_IP nom_de_domaine [alias_1] [alias_2] ...Chaque composant a un rôle précis :
- adresse_IP : L'adresse IPv4 ou IPv6 vers laquelle le domaine sera résolu
- nom_de_domaine : Le nom de domaine principal
- alias : Des noms de domaine supplémentaires pointant vers la même IP (optionnel)
Caractères séparateurs
Le fichier hosts accepte plusieurs types de séparateurs entre l'adresse IP et les domaines :
- Espaces : Un ou plusieurs espaces
- Tabulations : Une ou plusieurs tabulations
- Mélange : Espaces et tabulations peuvent être mélangés
La convention la plus courante est d'utiliser des tabulations pour un alignement visuel propre :
127.0.0.1 localhost
192.168.1.100 serveur.local www.serveur.localSimplifiez 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.
Format IPv4
Les adresses IPv4 suivent le format classique en quatre octets séparés par des points. Chaque octet peut avoir une valeur entre 0 et 255.
Syntaxe IPv4 standard
# Localhost
127.0.0.1 localhost
# Adresse locale
192.168.1.100 monsite.local
# Adresse de blocage
0.0.0.0 site-bloque.comAdresses IPv4 spéciales
Certaines adresses IPv4 ont des significations particulières :
- 127.0.0.1 : Loopback local (localhost)
- 0.0.0.0 : Adresse non-routable, utilisée pour bloquer des domaines
- 192.168.x.x : Plage d'adresses privées (réseau local)
- 10.x.x.x : Plage d'adresses privées (réseau local)
- 172.16.x.x - 172.31.x.x : Plage d'adresses privées (réseau local)
Exemples pratiques IPv4
# Configuration de développement local
127.0.0.1 monapp.local
127.0.0.1 api.monapp.local
127.0.0.1 admin.monapp.local
127.0.0.1 cdn.monapp.local
# Redirection vers un serveur de staging
192.168.1.50 staging.monentreprise.com
192.168.1.50 www.staging.monentreprise.com
# Blocage de sites
0.0.0.0 distraction.com
0.0.0.0 www.distraction.com
0.0.0.0 api.distraction.comFormat IPv6
Le fichier hosts supporte également les adresses IPv6, le protocole de nouvelle génération. La syntaxe IPv6 est plus complexe mais suit les mêmes principes de base.
Syntaxe IPv6 de base
# Localhost IPv6
::1 localhost
# Adresse IPv6 complète
2001:db8::1 monsite.local
# Format abrégé
::1 monsite.localNotation IPv6 simplifiée
IPv6 utilise plusieurs mécanismes de simplification :
- Zéros comprimés : :: représente une série de zéros
- Zéros de début : Les zéros de début dans chaque groupe peuvent être omis
- Format mixte : IPv4 peut être intégré dans IPv6 (::ffff:192.168.1.1)
Exemples IPv6 pratiques
# Localhost en IPv6
::1 localhost
::1 localhost.localdomain
# Configuration dual-stack (IPv4 + IPv6)
127.0.0.1 monsite.local
::1 monsite.local
# Serveur IPv6 local
2001:db8::100 serveur.localCommentaires et organisation
Les commentaires sont essentiels pour maintenir un fichier hosts lisible et organisé, surtout quand vous gérez de nombreuses entrées.
Syntaxe des commentaires
Toute ligne commençant par le caractère # est traitée comme un commentaire et ignorée par le système :
# Ceci est un commentaire
127.0.0.1 monsite.local # Commentaire en fin de ligne (non recommandé)Note importante : Les commentaires en fin de ligne ne sont pas toujours supportés de manière fiable sur tous les systèmes. Il est préférable d'utiliser des lignes de commentaire dédiées.
Organisation avec des commentaires
Une bonne organisation facilite la maintenance :
# ============================================
# CONFIGURATION LOCALHOST
# ============================================
127.0.0.1 localhost
::1 localhost
# ============================================
# PROJETS DE DÉVELOPPEMENT LOCAL
# ============================================
# Application principale
127.0.0.1 monapp.local
127.0.0.1 www.monapp.local
# API Backend
127.0.0.1 api.monapp.local
127.0.0.1 v1.api.monapp.local
# ============================================
# SERVEURS DE STAGING
# ============================================
192.168.1.100 staging.monentreprise.com
# ============================================
# BLOCAGE DE SITES
# ============================================
0.0.0.0 site-indesirable.comAlias et domaines multiples
Une des fonctionnalités puissantes du fichier hosts est la possibilité d'associer plusieurs domaines à la même adresse IP sur une seule ligne.
Syntaxe des alias
# Un domaine principal avec des alias
127.0.0.1 monsite.local www.monsite.local api.monsite.local
# Format équivalent sur plusieurs lignes
127.0.0.1 monsite.local
127.0.0.1 www.monsite.local
127.0.0.1 api.monsite.localQuand utiliser des alias
Les alias sont utiles pour :
- Domaines multiples : Associer www et non-www à la même IP
- Sous-domaines : Grouper plusieurs sous-domaines d'un même projet
- Raccourcis : Créer des noms courts pour des domaines longs
Exemples d'alias pratiques
# Site avec variantes
127.0.0.1 example.com www.example.com m.example.com
# API avec versions
127.0.0.1 api.local v1.api.local v2.api.local api-v1.local
# Environnements multiples
192.168.1.100 prod.local production.local www.prod.local
192.168.1.101 dev.local development.local www.dev.localRègles et contraintes
Comprendre les règles et limitations du fichier hosts évite les erreurs frustrantes.
Règles de syntaxe essentielles
1. Une entrée par ligne : Chaque association IP/domaine doit être sur sa propre ligne 2. Pas de wildcards : Les wildcards (*.domaine.com) ne sont pas supportés 3. Pas de variables : Aucune substitution de variables n'est possible 4. Insensible à la casse : Les noms de domaine sont traités sans distinction majuscules/minuscules 5. Pas de ports : Les numéros de port ne peuvent pas être spécifiés dans le fichier hosts
Limitations importantes
- Pas de regex : Aucun pattern matching n'est disponible
- Pas de redirections HTTP : Le fichier hosts ne gère que la résolution DNS
- Pas de SSL/TLS : La configuration HTTPS est séparée
- Ordre de lecture : Le fichier est lu de haut en bas, la première correspondance gagne
Exemples d'erreurs courantes
# ❌ ERREUR : Wildcard non supporté
127.0.0.1 *.monsite.local
# ❌ ERREUR : Port dans le fichier hosts
127.0.0.1:3000 monsite.local
# ✅ CORRECT : Chaque sous-domaine explicitement déclaré
127.0.0.1 api.monsite.local
127.0.0.1 www.monsite.local
127.0.0.1 admin.monsite.localValidation et vérification
Après avoir modifié le fichier hosts, il est crucial de valider que vos modifications fonctionnent correctement.
Commandes de vérification
Sur macOS et Linux :
# Vérifier la résolution DNS
ping monsite.local
nslookup monsite.local
# Voir toutes les entrées actives
cat /etc/hostsSur Windows :
# Vérifier la résolution DNS
ping monsite.local
nslookup monsite.local
# Voir toutes les entrées actives
type C:\Windows\System32\drivers\etc\hostsTests de validation
1. Test de connectivité : Utilisez ping pour vérifier que le domaine résout vers la bonne IP 2. Test de navigation : Ouvrez le domaine dans un navigateur 3. Vérification du cache : Assurez-vous d'avoir vidé le cache DNS si nécessaire
Erreurs de syntaxe courantes
Même avec une bonne compréhension de la syntaxe, certaines erreurs sont fréquentes.
Espaces invisibles et caractères spéciaux
Les espaces invisibles ou les caractères spéciaux peuvent causer des problèmes :
# ❌ Problème potentiel : espaces invisibles
127.0.0.1 monsite.local
# ✅ Solution : réécrire la ligne manuellement
127.0.0.1 monsite.localFormat d'adresse IP invalide
# ❌ ERREUR : Adresse IP invalide
999.999.999.999 monsite.local
256.0.0.1 monsite.local
# ✅ CORRECT : Adresses IP valides
127.0.0.1 monsite.local
192.168.1.100 monsite.localOrdre incorrect
# ❌ ERREUR : Domaine avant IP
monsite.local 127.0.0.1
# ✅ CORRECT : IP avant domaine
127.0.0.1 monsite.localBonnes pratiques de syntaxe
Suivre ces bonnes pratiques garantit des configurations fiables et maintenables.
Formatage cohérent
- Utilisez des tabulations pour l'alignement visuel
- Gardez une structure cohérente dans tout le fichier
- Utilisez des commentaires pour organiser les sections
Documentation
- Commentez les entrées complexes ou non évidentes
- Ajoutez des dates pour les configurations temporaires
- Documentez la raison de chaque blocage ou redirection
Maintenance
- Révision régulière : Supprimez les entrées obsolètes
- Sauvegarde : Faites une copie avant modifications importantes
- Versioning : Considérez l'utilisation d'un outil de gestion comme Locahl pour suivre les changements
Outils pour valider la syntaxe
La validation manuelle peut être fastidieuse. Des outils peuvent vous aider :
Validation automatique
Locahl offre une validation automatique de la syntaxe lors de la saisie, détectant les erreurs avant qu'elles ne causent des problèmes. L'interface visuelle facilite également la détection d'erreurs de formatage.
Vérification en ligne de commande
# Vérifier la syntaxe de base (macOS/Linux)
cat /etc/hosts | grep -v "^#" | grep -v "^$" | awk '{print $1}' | while read ip; do
if ! [[ $ip =~ ^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$ ]] && ! [[ $ip =~ ^:: ]]; then
echo "Adresse IP invalide: $ip"
fi
doneCas d'usage avancés
Configuration multi-environnements
Pour gérer plusieurs environnements (dev, staging, prod) :
# Développement local
127.0.0.1 dev.monapp.local
127.0.0.1 api.dev.monapp.local
# Staging interne
192.168.1.100 staging.monapp.local
192.168.1.100 api.staging.monapp.local
# Production (pour tests locaux)
203.0.113.50 prod.monapp.localConfiguration pour équipes
Pour partager des configurations entre membres d'équipe :
# Configuration partagée - Projet Alpha
192.168.1.10 alpha.local
192.168.1.10 api.alpha.local
192.168.1.10 admin.alpha.local
# Configuration partagée - Projet Beta
192.168.1.11 beta.local
192.168.1.11 api.beta.localConclusion
Maîtriser la syntaxe et le format du fichier hosts est fondamental pour tout développeur ou administrateur système. Cette référence complète vous donne tous les outils nécessaires pour créer des configurations fiables et maintenables.
Rappelez-vous les points clés :
- Syntaxe simple mais stricte : IP suivie de domaines, séparés par espaces/tabulations
- Support IPv4 et IPv6 : Les deux formats sont supportés
- Commentaires essentiels : Utilisez-les pour organiser vos configurations
- Validation importante : Testez toujours après modifications
- Outils disponibles : Des solutions comme Locahl simplifient la gestion et la validation
Pour une gestion encore plus simple et sécurisée de vos configurations hosts, essayez Locahl à seulement 9,99€. Avec son interface visuelle intuitive, sa validation automatique et ses fonctionnalités de partage d'équipe, vous gagnerez un temps précieux tout en évitant les erreurs de syntaxe courantes.
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 une référence complète sur la syntaxe ! J'ai résolu plusieurs problèmes de configuration grâce à ce guide détaillé."
6 février 2026
"Très bien structuré avec des exemples concrets pour chaque cas d'usage. La section sur les erreurs courantes est particulièrement utile."
6 février 2026
"Guide de référence solide. Je le garde sous la main pour vérifier la syntaxe lors de mes configurations."
6 février 2026
Questions fréquentes
Quelle est la syntaxe exacte d'une entrée dans le fichier hosts ?
La syntaxe de base est : adresse_IP suivi d'espaces ou de tabulations, puis le nom de domaine, et optionnellement des alias supplémentaires sur la même ligne. Exemple : 127.0.0.1 monsite.local www.monsite.local
Peut-on utiliser des commentaires dans le fichier hosts ?
Oui, toute ligne commençant par le caractère # est considérée comme un commentaire et est ignorée par le système. Les commentaires sont très utiles pour organiser et documenter vos configurations.
Combien d'espaces faut-il entre l'adresse IP et le domaine ?
Le fichier hosts accepte un ou plusieurs espaces ou tabulations comme séparateur. La convention est d'utiliser au moins un espace, mais beaucoup utilisent des tabulations pour un alignement visuel plus propre.
Le fichier hosts supporte-t-il les wildcards (*.domaine.com) ?
Non, le fichier hosts ne supporte pas les wildcards. Chaque sous-domaine doit être déclaré explicitement sur sa propre ligne. Pour utiliser des wildcards, vous devrez utiliser un serveur DNS local comme dnsmasq.
Peut-on mélanger des adresses IPv4 et IPv6 dans le même fichier ?
Oui, absolument. Vous pouvez avoir des entrées IPv4 (127.0.0.1) et IPv6 (::1) dans le même fichier hosts. Chaque ligne est traitée indépendamment.
Y a-t-il une limite au nombre d'entrées dans le fichier hosts ?
Techniquement, il n'y a pas de limite stricte, mais un fichier très volumineux peut ralentir la résolution DNS. Pour des milliers d'entrées, considérez l'utilisation d'un serveur DNS local ou d'un outil de gestion comme Locahl.
Les majuscules et minuscules sont-elles importantes dans les noms de domaine ?
Non, les noms de domaine dans le fichier hosts sont insensibles à la casse. "MON SITE.LOCAL" et "monsite.local" sont traités de manière identique.
Articles similaires
Comment les équipes QA utilisent le fichier hosts pour tester les environnements staging
Guide complet pour les équipes QA : tester les environnements staging avant la propagation DNS, workflows de test, et meilleures pratiques pour le contrôle qualité.
Locahl Team
Résolution DNS expliquée : Comment votre ordinateur trouve les sites web
Guide complet expliquant comment fonctionne la résolution DNS. Le processus de recherche de domaines, le rôle du fichier hosts, et comment tout cela fonctionne ensemble.
Locahl Team
Fichier hosts : définition, emplacement et syntaxe (guide 2026)
Maîtrisez le fichier hosts en 5 minutes : localisation sur Mac/Windows/Linux, syntaxe, cas d'usage (dev local, blocage pubs) et erreurs à éviter. Guide mis à jour janvier 2026.
Équipe Locahl