1. Pourquoi partager un environnement #
Montrer sans déployer.
Cas d'usage #
- Faire valider une fonctionnalité par un client ou un chef de produit avant de la déployer.
- Déboguer à deux sur le même environnement.
- Tester un webhook (paiement, GitHub) qui doit appeler une URL publique.
2. Avec ngrok #
La solution la plus simple et la plus maintenue.
Étapes #
# Vagrantfile : publier le port 80 de la machine sur le port 8080 de l'hôte
# config.vm.network "forwarded_port", guest: 80, host: 8080
vagrant up
ngrok config add-authtoken <JETON> # compte ngrok requis
ngrok http 8080 # affiche l'URL publique https://…
ngrok http 8080 --basic-auth "demo:MotDePasse-Solide" # protéger l'accèsAlternatives #
| Outil | Particularité |
|---|---|
Cloudflare Tunnel (cloudflared) | Gratuit, domaine personnalisé, contrôle d'accès |
| Tailscale Funnel | Exposition depuis un réseau Tailscale |
| Réseau privé Vagrant + VPN | Partage sans exposition publique, entre membres d'une équipe |
3. Le plugin vagrant-share #
L'approche historique.
Utilisation #
Le plugin vagrant-share ajoute la commande vagrant share qui crée le tunnel pour vous. Il s'appuie lui-même sur ngrok.
vagrant plugin install vagrant-share
vagrant share # partage HTTP de la machine
vagrant share --ssh # partage aussi l'accès SSH (à éviter)
vagrant connect --ssh <NOM> # côté collègueErreur Courante : vagrant-share n'est plus activement maintenu : préférez lancer ngrok ou cloudflared directement.Sécurité #
- Ne partagez jamais SSH publiquement, ni une machine contenant des données réelles.
- Protégez le lien (authentification) et coupez le tunnel dès la démonstration terminée.
- Une URL de tunnel est publique : quiconque la connaît peut y accéder.
Bonne Pratique : Pour un partage durable, déployez un environnement de recette plutôt que d'exposer un poste de développement.
