RousselTMLEARNING

Automatisation

Partager un environnement Vagrant : ngrok et le plugin vagrant-share

Rendre une application qui tourne dans une machine Vagrant accessible à un collègue ou un client : redirection de ports, ngrok, plugin vagrant-share, et précautions de sécurité.

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.
Tunnel de partage
Le service de tunnel reçoit les requêtes publiques et les relaie par la connexion ouverte depuis le poste.

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ès

Alternatives #

OutilParticularité
Cloudflare Tunnel (cloudflared)Gratuit, domaine personnalisé, contrôle d'accès
Tailscale FunnelExposition depuis un réseau Tailscale
Réseau privé Vagrant + VPNPartage 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ègue
Erreur 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.

Articles liés

Vagrant : vue d'ensemble et vocabulaire (box, provider, provisioner, Vagrantfile)

Les notions indispensables pour suivre la formation Vagrant : à quoi sert Vagrant, le cycle de vie d'un envir…

Vagrant multi-machines : déployer un cluster Docker Swarm prêt à l'emploi

Construire avec un seul Vagrantfile un cluster Docker Swarm de trois nœuds (un manager, deux workers) dont la…

Les plugins Vagrant : étendre providers, provisioners et commandes

Comprendre le système de plugins de Vagrant : ce qu'un plugin peut ajouter (provider, provisioner, commande, …

Pour aller plus loin

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !