Log in to leave a comment
No posts yet
Chaque matin, au moment de lancer nos serveurs de développement, un invité indésirable nous accueille souvent : le message Error: listen EADDRINUSE: address already in use :::3000. Plus les projets se multiplient, plus il devient fastidieux de se rappeler quel service utilise quel port. Le processus consistant à traquer les processus zombies pour leur envoyer un kill -9 est l'un des principaux coupables de la rupture du flux de travail ("flow") des développeurs.
Pour résoudre cet enfer des ports, Vercel Labs a apporté une réponse : Portless. L'ère où l'on accède à nos environnements locaux via des combinaisons de chiffres dénuées de sens est révolue ; place aux noms de services.
Portless n'est pas un simple wrapper qui connecte un domaine à un port. C'est un système de proxy intelligent qui opère entre la couche réseau du système d'exploitation et l'application.
Dès que vous exécutez la commande portless my-app npm run dev, le système s'active. D'abord, le CLI Portless scanne les ports disponibles du système (par défaut dans la plage 4000-4999) pour en trouver un de libre. Ensuite, il injecte le numéro de port trouvé dans la variable d'environnement PORT et exécute la sous-commande. Enfin, il enregistre le nom du service et le port alloué dans un magasin racine central (~/.portless) pour la gestion.
Portless exploite la spécification RFC 6761. Selon cette norme, les domaines se terminant par .localhost sont toujours résolus vers l'adresse de bouclage (127.0.0.1) sans nécessiter de modification manuelle de fichiers. Lorsqu'un navigateur envoie une requête, le proxy Portless, en attente sur le port 1355, analyse les en-têtes pour transmettre le trafic à l'application réelle.
Les versions récentes de Vite restreignent strictement l'accès via des proxys externes pour renforcer la sécurité. Si vous rencontrez une erreur 403 Forbidden en utilisant Portless, vous devez modifier votre fichier de configuration. Ajoutez le réglage allowedHosts: ['.localhost'] pour autoriser tous les sous-domaines en toute sécurité. De plus, dans la configuration hmr, vous devez faire correspondre le port client avec le port par défaut de Portless (1355) pour que le remplacement de module à chaud (Hot Module Replacement) ne soit pas interrompu.
Pour tester les API de géolocalisation ou les Service Workers, un contexte sécurisé est indispensable. Portless permet, via un simple drapeau, de générer une autorité de certification locale et de l'enregistrer dans le magasin de confiance du système. Cela vous permet de tester des politiques de cookies identiques à celles de la production, sans alertes de sécurité du navigateur.
Dans l'environnement de développement de 2026, Portless brille particulièrement lors de la collaboration avec des agents IA. Lorsque des agents comme Cursor ou Windsurf lancent des serveurs locaux, si les numéros de ports changent dynamiquement, la logique d'appel API écrite par l'agent finit souvent par casser.
En adoptant Portless, vous pouvez fournir à l'agent une adresse immuable telle que auth-service.localhost:1355. Cela permet à l'IA d'utiliser le nom du service plutôt qu'un numéro de port volatil pour comprendre la structure des dépendances du projet, augmentant ainsi la précision de la génération de code. Rédigez un guide à la racine du projet et incitez l'agent à gérer lui-même le proxy.
Le processus d'installation est simple. Installez le package globalement, démarrez le serveur proxy, puis ajoutez simplement le nom du service devant vos scripts d'exécution existants.
Pour les utilisateurs de Windows ou WSL2, l'accès peut être perturbé par des problèmes d'isolation réseau. Dans ce cas, vous devez activer le mode miroir réseau dans votre fichier de configuration. Le réglage networkingMode=mirrored permet d'abattre les barrières réseau entre l'hôte et l'environnement Linux.
| Élément de comparaison | Vercel Portless | Caddy / Nginx |
|---|---|---|
| Complexité de configuration | Zero Config | Élevée |
| Allocation de ports | Entièrement automatique | Désignation manuelle requise |
| Cible principale | Productivité dev local | Production et routage fixe |
Vercel Portless n'est pas seulement un outil pour masquer les numéros de ports. C'est une évolution qui aide les développeurs à se détacher des détails d'infrastructure de bas niveau pour se concentrer uniquement sur la création de valeur. Pour le développeur web moderne, la gestion des ports est désormais une dette technique qui doit être automatisée. Commencez dès maintenant à utiliser un environnement de développement plus intelligent, basé sur les noms.