Expose ton environnement local au monde entier !

Auteur(s) de l'article

Vous vous êtes peut-être déjà retrouvé dans le cas ou vous devez rapidement partager votre ajustement CSS, votre petite modification javascript sur un auto-complete ou le tout nouveau layout HTML d’une page avant de peaufiner le code.
Dans ces cas là, la meilleure solution qui s’offre à vous et de vous déplacer avec votre portable pour montrer votre travail à votre collègue. Mais comment faire lorsque votre collègue ou client se trouve à 3’000 Km de là ?
Plus ennuyeux encore, vous développez une app qui se repose sur des API externes implémentant le protocole PubSubHubbub (comme Instagram Real-Time) ou des interfaces de paiements qui nécessite une Postback URL (Postfinance, Datatrans, etc).
Vous avez l’option de déployer/publier régulièrement votre travail (souvent non-terminé car vous avez justement besoin d’un feedback) sur le web ou utiliser l’environnement de staging. Mais cela est peu être fastidieux et inadapté au besoin courant.

Ngrok

Ngrok partage votre environnement locale vers l’extérieur sans devoir configurer votre Firewall et vos DNS.
illustration ngrok

ngrok.com – How does it work?

Ngrok va créer un tunnel depuis Internet (ex: http://antistatique.ngrok.com) jusqu’à un port de votre machine locale. Vous pouvez ainsi communiquer l’URL à vos collègues ou clients pour qu’ils aient directement accès à votre application web que vous êtes en train de développer.
Ngrok offre d’autres avantages que la simple fonction de tunnelling, il permet d’inspecter les requêtes entrantes et de les rejouer.

Comment l’utiliser ?

  1. Télécharger le binaire pour votre système d’exploitation
  2. Lancer le binaire:.
./ngrok -subdomain=antistatique-gilles 80
Ceci va rediriger tous le traffic provenant de http://antistatique-gilles.ngrok.com vers http://localhost:80 de manière transparente.
Consulter la documentation utilisateur pour avoir toute les options.
  1. C’est tout !
Ah oui, j’oubliais, c’est un outil libre et en Open Source écrit en GO. Consulter le projet Github.

Alternative

Localtunnel – http://progrium.com/localtunnel
J’ai utilisé pendant longtemps Localtunnel (principalement la v1, la v2 étant un peu trop « beta »…). Un peu d’histoire sur son développement.
Localtunnel en NodeJS – https://github.com/shtylman/localtunnel
Pour les amoureux de NodeJS.
Forward (payant) – https://forwardhq.com
Si vous vous sentez pas en sécurité tant que vous ne devez pas payer quelques choses, Forward est fait pour vous.
VirtualHostX (payant) – http://clickontyler.com/virtualhostx
Pour ceux d’entre vous qui ne peuvent pas se passer d’une interface graphique et d’une jolie icône…
xip.io – xip.io
Pas vraiment dans le même registre, mais xip.io est un bon trick DNS pour tester son siteweb depuis un téléphone mobile ou une tablette du moment que vous êtes dans le même réseau. Vous pouvez aussi très bien utiliser l’une des solutions ci-dessous pour faire vos tests mobiles.
(crédit: photos)