Partager un site
Ouvrir un domaine sur un téléphone ou une tablette du même Wi-Fi avec un QR code, ou l'envoyer à quelqu'un par un lien public (cloudflared, ngrok, localhost.run, Pinggy).
Un domaine .test ne répond que sur votre Mac. Partager l’ouvre ailleurs : sur un téléphone ou une tablette du même réseau, pour tester le site en vrai, ou sur Internet par un lien public, pour le montrer à un client ou recevoir un webhook.
Dans l’onglet Domaines d’un projet, cliquez sur l’icône de partage d’une ligne : la fenêtre Partager <domaine> s’ouvre, avec ses deux sections.

Tout est coupé par défaut, rien n’est enregistré : les partages vivent en mémoire et se ferment quand Joppa quitte. Le domaine doit être activé et le proxy démarré.
Sur le réseau local
Activez Partager sur le réseau local. Joppa ouvre un port sur l’adresse de votre Mac sur le réseau (Wi-Fi ou Ethernet) et affiche l’adresse, par exemple http://192.168.1.20:41306, avec un QR code. Sur le téléphone, connecté au même Wi-Fi, scannez le code avec l’appareil photo ou tapez l’adresse.
- Un port par domaine, toujours le même pour un domaine donné (entre 41000 et 41999) tant qu’il est libre : un favori sur le téléphone reste bon d’une fois sur l’autre.
- En HTTP simple. Le téléphone ne fait pas confiance à l’autorité de certification de Joppa, installée sur votre Mac seulement : une adresse en HTTPS afficherait une erreur de certificat. Pour un contexte sécurisé (service worker, caméra,
crypto.subtle), passez par un lien public, en HTTPS. - Le rechargement à chaud suit. Le client HMR de Vite (et celui de Next.js, d’Astro…) se reconnecte à l’adresse d’où vient la page : son WebSocket passe par le même port, et la page du téléphone se met à jour quand vous enregistrez un fichier.
- Le partage est gratuit.
Couper l’interrupteur ferme le port aussitôt.
Lien public
Un lien public donne une adresse https:// temporaire que tout le monde peut ouvrir, par un tunnel. Il est inclus dans Joppa Pro ; en version gratuite, la section affiche « Les liens publics sont inclus dans Joppa Pro ». Voir Licence et offres.
Choisissez le Tunnel, puis Ouvrir le tunnel. Après quelques secondes, l’adresse s’affiche avec un QR code, un bouton pour la copier et un pour l’ouvrir. Fermer arrête le tunnel.
| Tunnel | Compte | Ce qu’il faut |
|---|---|---|
| Cloudflare, sans compte (par défaut) | aucun | cloudflared, que Joppa télécharge s’il manque |
| ngrok, votre compte | ngrok | ngrok installé (brew install ngrok) et votre jeton |
| localhost.run, sans compte | aucun | ssh, déjà sur macOS |
| Pinggy, sans compte (60 min) | aucun | ssh ; un tunnel gratuit se ferme au bout de 60 minutes |
- cloudflared : s’il n’est ni dans le
PATHni déjà téléchargé, Télécharger cloudflared récupère la version épinglée par Joppa sur les publications GitHub de Cloudflare (environ 20 Mo) et vérifie son SHA-256 avant de l’installer dans le dossier de Joppa (voir Fichiers). Une archive dont l’empreinte ne correspond pas est supprimée. - ngrok : collez votre Jeton ngrok (dashboard.ngrok.com) et Enregistrer ; il est gardé dans le trousseau. Inutile si ngrok en a déjà un (
ngrok config add-authtoken). Le compte gratuit de ngrok affiche une page d’avertissement aux visiteurs avant le site. - localhost.run et Pinggy passent par
ssh; Joppa garde leurs clés d’hôte dans son propre fichierknown_hosts, sans toucher à~/.ssh.
Tant qu’un tunnel est ouvert, la barre d’état l’affiche en orange (« 1 tunnel ouvert ») ; un clic liste les domaines partagés, avec Fermer pour chacun et Tout fermer. Le domaine porte aussi le badge public dans la liste. Si le client du tunnel s’arrête (réseau coupé, refus du service), la fenêtre affiche « Le tunnel s’est fermé » avec ses derniers messages, et Réessayer.
Ce que voit l’application
Les deux partages passent par le proxy de Joppa, comme le navigateur de votre Mac :
- le serveur de dev reçoit le
Hostdu domaine (app.acme.test) etX-Forwarded-Proto: https, quelle que soit l’adresse tapée sur le téléphone :allowedHostsde Vite, les domaines de confiance de Laravel ou de Symfony n’ont rien à changer ; OriginetReferersont ramenés au domaine, pour que les protections CSRF acceptent les formulaires ;- les requêtes apparaissent dans Analytics et dans l’Inspecteur.
Dans l’autre sens, Joppa réécrit les URL absolues du domaine vers l’adresse partagée : https://app.acme.test/… devient http://192.168.1.20:41306/… ou https://….trycloudflare.com/…. Cela vaut pour les redirections (Location), les en-têtes CORS et CSP, et le corps des réponses texte (HTML, CSS, JavaScript, JSON, XML, SVG) jusqu’à 8 Mo. Les cookies perdent leur attribut Domain et, sur le réseau local en HTTP, leur attribut Secure (sinon le téléphone les refuserait et la session ne tiendrait pas).
Dans le terminal et pour l’IA
joppa share app.acme.test
joppa share app.acme.test --public
joppa share stop app.acme.test
Voir La commande joppa et les outils share_start, share_stop et share_status du serveur MCP.