Environnement de développement local sur Mac : guide 2026
Configurez un environnement dev local parfait sur macOS. Comparatif MAMP vs Laravel Valet vs Docker, domaines .test, HTTPS local avec mkcert. Checklist complète.
Équipe Locahl
Sommaire
- Les composants d'un environnement local moderne
- MAMP : la solution débutant-friendly
- Points forts
- Points faibles
- Configuration de domaines locaux avec MAMP
- Laravel Valet : performance maximale
- Points forts
- Points faibles
- Configuration Valet
- Docker : flexibilité maximale
- Points forts
- Points faibles
- Exemple docker-compose.yml
- Gestion des domaines locaux
- Le fichier hosts
- TLDs recommandés
- Automatisation avec dnsmasq
- HTTPS local avec mkcert
- Pourquoi HTTPS en local ?
- Créer des certificats
- Outils de productivité essentiels
- Terminal
- Oh My Zsh
- Gestion de versions Node
- Client base de données
- Organisation des projets
- Structure recommandée
- Fichier hosts bien organisé
- Avec Locahl
- Checklist de configuration
- Première installation
- Nouveau projet
- Conclusion
Un environnement de développement local bien configuré est la base d'un workflow productif. Sur Mac, plusieurs options s'offrent à vous selon vos besoins. Ce guide couvre tout ce dont vous avez besoin pour créer un setup moderne et efficace en 2026.
Les composants d'un environnement local moderne
Un environnement de développement complet comprend :
- Serveur web (Apache, Nginx)
- Runtime/langage (PHP, Node.js, Python)
- Base de données (MySQL, PostgreSQL, SQLite)
- Gestionnaire de domaines locaux (fichier hosts, dnsmasq)
- Certificats SSL (pour HTTPS local)
- Outils de productivité (Terminal, éditeur)
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.
MAMP : la solution débutant-friendly
MAMP (Mac, Apache, MySQL, PHP) est la solution tout-en-un la plus simple.
Points forts
- Installation en 2 minutes
- Interface graphique complète
- phpMyAdmin intégré
- Idéal pour WordPress
Points faibles
- Performance moyenne
- Version gratuite limitée
- Pas de virtualisation
Configuration de domaines locaux avec MAMP
Par défaut, MAMP utilise localhost:8888. Pour des domaines personnalisés, éditez le fichier hosts :
127.0.0.1 monprojet.testLaravel Valet : performance maximale
Valet est une solution minimaliste et ultra-rapide pour PHP sur Mac.
Points forts
- Ultra-rapide (Nginx + PHP-FPM)
- Configuration minimale
- Domaines automatiques en .test
- HTTPS en une commande
Points faibles
- PHP uniquement
- Pas de conteneurisation
Configuration Valet
# Installer Valet
composer global require laravel/valet
valet install
# Parquer un dossier de projets
cd ~/Sites
valet park
# Sécuriser avec HTTPS
cd ~/Sites/mon-projet
valet secureDocker : flexibilité maximale
Docker permet de créer des environnements isolés et reproductibles.
Points forts
- Environnements isolés
- Reproductibles (même config pour toute l'équipe)
- Flexibilité maximale
- Proche de la production
Points faibles
- Courbe d'apprentissage
- Consommation ressources
Exemple docker-compose.yml
version: '3.8'
services:
web:
image: php:8.3-apache
ports:
- "80:80"
volumes:
- ./src:/var/www/html
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: myappGestion des domaines locaux
Le fichier hosts
Pour comprendre en détail le fichier hosts, consultez notre guide complet sur le fichier hosts.
# /etc/hosts
127.0.0.1 localhost
# Projets
127.0.0.1 blog.test
127.0.0.1 api.blog.test
# Client A
127.0.0.1 clienta.testTLDs recommandés
| TLD | Recommandé | Notes | |-----|------------|-------| | .test | Oui | Réservé IETF | | .localhost | Oui | Toujours local | | .local | Non | Conflit Bonjour Mac | | .dev | Non | Domaine réel, HTTPS requis |
Automatisation avec dnsmasq
Pour éviter d'éditer le fichier hosts pour chaque projet :
# Installer dnsmasq
brew install dnsmasq
# Rediriger tous les .test vers localhost
echo "address=/.test/127.0.0.1" >> /usr/local/etc/dnsmasq.conf
# Créer un resolver
sudo mkdir -p /etc/resolver
echo "nameserver 127.0.0.1" | sudo tee /etc/resolver/test
# Démarrer dnsmasq
sudo brew services start dnsmasqMaintenant, n'importe quel domaine en .test pointe vers localhost !
HTTPS local avec mkcert
Pourquoi HTTPS en local ?
- Tester Service Workers, Geolocation API
- Cookies sécurisés (SameSite, Secure)
- Éviter différences dev/prod
- OAuth et redirections
Créer des certificats
brew install mkcert
mkcert -install # Installe le CA racine
# Créer un certificat
mkcert myproject.test "*.myproject.test" localhostOutils de productivité essentiels
Terminal
brew install --cask iterm2Oh My Zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"Gestion de versions Node
brew install fnm
fnm install 20Client base de données
brew install --cask tableplusOrganisation des projets
Structure recommandée
~/Sites/
├── clients/
│ ├── client-a/
│ └── client-b/
├── personal/
│ ├── blog/
│ └── portfolio/
└── experiments/Fichier hosts bien organisé
# ===================
# LOCALHOST
# ===================
127.0.0.1 localhost
::1 localhost
# ===================
# PROJETS PERSONNELS
# ===================
127.0.0.1 blog.test
127.0.0.1 portfolio.test
# ===================
# CLIENT: Acme Corp
# ===================
127.0.0.1 acme.test
127.0.0.1 api.acme.testAvec Locahl
L'application Locahl simplifie cette gestion :
- Import/export de configurations
- Basculement rapide entre environnements
- Recherche instantanée
- Historique des modifications
Checklist de configuration
Première installation
- [ ] Installer Homebrew
- [ ] Installer Git
- [ ] Configurer SSH pour GitHub
- [ ] Installer serveur local (MAMP/Valet/Docker)
- [ ] Configurer fichier hosts ou dnsmasq
- [ ] Installer mkcert pour HTTPS
- [ ] Installer gestionnaires de versions
- [ ] Configurer terminal (iTerm2 + Oh My Zsh)
Nouveau projet
- [ ] Créer le dossier dans ~/Sites
- [ ] Ajouter entrée hosts
- [ ] Créer certificats SSL si nécessaire
- [ ] Configurer base de données
- [ ] Tester l'accès via le domaine local
Conclusion
Un environnement de développement local bien configuré vous fera gagner des heures chaque semaine. Que vous choisissiez MAMP pour sa simplicité, Valet pour sa performance, ou Docker pour sa flexibilité, les principes restent les mêmes :
1. Domaines locaux clairs : .test pour éviter les conflits 2. HTTPS systématique : mkcert rend ça trivial 3. Organisation rigoureuse : fichier hosts commenté ou outil comme Locahl 4. Automatisation : dnsmasq, scripts, alias
Avec ces fondations solides, vous pouvez vous concentrer sur ce qui compte : écrire du code.
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
"Le meilleur guide pour configurer son Mac de dev. La partie dnsmasq m'a fait gagner des heures."
18 décembre 2025
"Grâce à ce guide, j'ai enfin compris pourquoi utiliser .test au lieu de .local. Fini les lenteurs !"
2 janvier 2026
"Très complet. J'aurais aimé une section sur les bases de données mais sinon excellent."
15 janvier 2026
Questions fréquentes
Quel serveur local choisir entre MAMP, Valet et Docker ?
MAMP pour débutants et WordPress. Laravel Valet pour PHP/Laravel avec performances max. Docker pour environnements reproductibles multi-services.
Quel TLD utiliser pour mes domaines locaux ?
.test est recommandé car réservé par l'IETF. Évitez .local sur Mac (conflit Bonjour) et .dev (domaine réel nécessitant HTTPS).
Comment avoir HTTPS en local ?
Utilisez mkcert pour créer des certificats SSL locaux de confiance. Gratuit, simple via Homebrew, fonctionne avec tous les serveurs.
Comment gérer plusieurs versions de PHP ou Node ?
Utilisez des gestionnaires de versions : phpenv ou Homebrew pour PHP, nvm ou fnm pour Node.js. Docker permet aussi différentes versions par projet.
Mon domaine .local est très lent, pourquoi ?
macOS utilise Bonjour/mDNS pour .local, créant des délais. Utilisez .test ou .localhost, ou ajoutez l'entrée en IPv4 ET IPv6.
Articles similaires
Utiliser le fichier hosts pour le développement Docker sur Mac
Guide complet pour configurer le fichier hosts avec Docker et docker-compose sur macOS. Domaines locaux, réseaux Docker, et meilleures pratiques pour le développement de conteneurs.
Locahl Team
Configuration du fichier hosts pour le développement local Laravel/WordPress
Guide complet pour configurer le fichier hosts sur Mac pour le développement local avec Laravel et WordPress. Domaines locaux, virtual hosts, bonnes pratiques.
Locahl Team
Modifier le fichier hosts sur Mac : Terminal ou interface graphique (2026)
Comment éditer /etc/hosts sur macOS sans erreur ? Comparatif Terminal (sudo nano) vs interface graphique. Résolvez permissions denied et cache DNS en 2 minutes.
Équipe Locahl