Environnement de développement Mac (2026)

Environnement de développement Mac (2026)

Mis à jour le 6 min de lecture

Configurez un environnement dev local sur Mac : MAMP, Laravel Valet, Docker, domaines .test, HTTPS local avec mkcert et checklist.

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.

Comment configurer un environnement de développement local sur Mac

Un setup de dev local Mac moderne combine un gestionnaire de paquets (Homebrew), un gestionnaire de versions de runtime (nvm, pyenv, rbenv), un serveur web local ou Docker, des domaines .test personnalisés via le fichier hosts, et du HTTPS local avec mkcert. Les sections ci-dessous détaillent chaque brique pas à pas.

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)

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.test
Vous retaperez cette commande combien de fois ce mois-ci ?Automatiser avec ToggleHosts

Laravel 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 secure

Docker : 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: myapp

Gestion 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.test

TLDs recommandés

TLDRecommandéNotes
.testOuiRéservé IETF
.localhostOuiToujours local
.localNonConflit Bonjour Mac
.devNonDomaine 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 dnsmasq

Maintenant, 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" localhost

Outils de productivité essentiels

Terminal

brew install --cask iterm2

Oh 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 20

Client base de données

brew install --cask tableplus

Organisation 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.test

Avec ToggleHosts

L'application ToggleHosts 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

Choisir la bonne stack

WordPress ou PHP classique

Choisissez MAMP, Herd ou Valet. MAMP est simple pour débuter, Valet est plus rapide pour les développeurs PHP, et Herd simplifie beaucoup la gestion des versions.

Laravel ou Symfony

Valet convient très bien aux projets PHP simples. Docker devient préférable si le projet dépend de Redis, workers, queues, services externes ou d'une configuration proche de la production.

Next.js, Node.js ou API

Un serveur dev natif suffit souvent, mais les domaines .test et HTTPS local deviennent importants pour les cookies, OAuth, webhooks et service workers.

Équipe ou agence

Standardisez les domaines locaux, les ports et les certificats. Documentez les mappings hosts dans le README et partagez les profils ToggleHosts au lieu de copier-coller des lignes à la main.

Dépannage rapide

Quand un domaine local ne répond pas :

dscacheutil -q host -a name monprojet.test
ping monprojet.test
lsof -i :3000
curl -I http://127.0.0.1:3000
curl -I http://monprojet.test:3000

Si l'IP directe fonctionne mais pas le domaine, corrigez DNS/hosts. Si les deux échouent, le serveur local n'écoute pas au bon endroit.

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 ToggleHosts
  4. Automatisation : dnsmasq, scripts, alias

Avec ces fondations solides, vous pouvez vous concentrer sur ce qui compte : écrire du code.

Sources et ressources externes

Questions fréquentes

MAMP pour débutants et WordPress. Laravel Valet pour PHP/Laravel avec performances max. Docker pour environnements reproductibles multi-services.

.test est recommandé car réservé par l'IETF. Évitez .local sur Mac (conflit Bonjour) et .dev (domaine réel nécessitant HTTPS).

Utilisez mkcert pour créer des certificats SSL locaux de confiance. Gratuit, simple via Homebrew, fonctionne avec tous les serveurs.

Utilisez des gestionnaires de versions : phpenv ou Homebrew pour PHP, nvm ou fnm pour Node.js. Docker permet aussi différentes versions par projet.

Articles similaires