
Domaines locaux wildcard : limites du fichier hosts & dnsmasq
Le fichier hosts ne gère pas les wildcards comme *.monappli.test. Découvrez pourquoi, et comment configurer des domaines locaux wildcard avec dnsmasq sur macOS et Linux.
Gérez vos fichiers hosts sans terminal
ToggleHosts vous permet de gérer vos environnements visuellement sur Windows, macOS et Linux, avec flush DNS automatique et sauvegardes.
Paiement unique
**Le fichier hosts ne gère pas les wildcards, une ligne comme 127.0.0.1 *.monappli.test ne fonctionnera pas. Le fichier hosts ne fait correspondre que des noms d’hôtes exacts** : chaque sous-domaine doit être sur sa propre ligne. Quand vous avez besoin que *.monappli.test (n’importe quel sous-domaine) résolve en local, utilisez dnsmasq, un résolveur DNS léger qui prend en charge les règles wildcard.
Pourquoi le fichier hosts n’a pas de wildcards
Le fichier hosts est une table de correspondance plate : une IP, un ou plusieurs noms exacts par ligne. Aucune correspondance de motif, donc *, regex et plages sont ignorés. Pour quelques sous-domaines connus, listez-les simplement :
127.0.0.1 monappli.test api.monappli.test admin.monappli.testVoir le guide de syntaxe du fichier hosts pour le format exact. Cela ne pose problème que lorsque les sous-domaines sont dynamiques ou trop nombreux à maintenir.
Domaines locaux wildcard avec dnsmasq
dnsmasq résout un domaine et tous ses sous-domaines avec une seule règle.
macOS (Homebrew)
brew install dnsmasq
echo 'address=/monappli.test/127.0.0.1' >> $(brew --prefix)/etc/dnsmasq.conf
sudo brew services start dnsmasqPuis indiquez à macOS d’envoyer les requêtes .test à dnsmasq :
sudo mkdir -p /etc/resolver
echo 'nameserver 127.0.0.1' | sudo tee /etc/resolver/testDésormais nimporte-quoi.monappli.test résout vers 127.0.0.1 sans éditer le fichier hosts.
Linux
sudo apt install dnsmasq
echo 'address=/monappli.test/127.0.0.1' | sudo tee /etc/dnsmasq.d/monappli.conf
sudo systemctl restart dnsmasqSur les configurations systemd-resolved, assurez-vous que dnsmasq est le résolveur pour .test ou ajustez /etc/resolv.conf, puis videz le DNS sur Linux.
Vérifier le résultat
dig foo.monappli.test @127.0.0.1
ping bar.monappli.testLes deux doivent résoudre vers 127.0.0.1. Choisissez d’abord un TLD sûr, voir quel TLD utiliser pour le développement local.
Fichier hosts vs dnsmasq : que choisir
- Quelques sous-domaines fixes : le fichier hosts est plus simple et sans service.
- Sous-domaines dynamiques ou nombreux : dnsmasq avec une règle wildcard.
Pour les associations fixes du quotidien, ToggleHosts gère les entrées hosts avec des bascules sûres et un flush DNS automatique : vous ne sortez dnsmasq que lorsque vous avez réellement besoin de wildcards.
_Dernier test : juin 2026 sur macOS et Ubuntu 24.04._
Sources et ressources externes
- Documentation de dnsmasq
- Comment fonctionne le DNS (Cloudflare Learning)
- Le fichier hosts expliqué (Wikipédia)
Questions fréquentes
Non. Le fichier hosts ne fait correspondre que des noms d’hôtes exacts. Une ligne comme 127.0.0.1 *.monappli.test ne fonctionne pas, chaque sous-domaine doit être listé explicitement.
Utilisez dnsmasq. Une seule règle comme address=/monappli.test/127.0.0.1 résout monappli.test et tous ses sous-domaines vers 127.0.0.1.
Créez /etc/resolver/test avec « nameserver 127.0.0.1 » pour que macOS envoie toutes les requêtes .test à dnsmasq.
Si vous n’avez que quelques sous-domaines fixes, listez-les dans le fichier hosts. Utilisez dnsmasq quand les sous-domaines sont dynamiques ou nombreux.
Articles similaires
Sous-domaines sur localhost en développement local (Guide 2026)Développement local
Sous-domaines sur localhost en développement local (Guide 2026)
4 min de lecture
Comment synchroniser WSL2 et le fichier hosts Windows (Guide 2026)Développement local
Comment synchroniser WSL2 et le fichier hosts Windows (Guide 2026)
5 min de lecture
Modifier le fichier hosts sans droits admin : est-ce possible ?Modifier le fichier hosts
Modifier le fichier hosts sans droits admin : est-ce possible ?
4 min de lecture