PORTPAL : voir les logiciels qui squattent vos ports et les fermer en un clic
⏱️ Temps de lecture estimé : 3 minutes
https://github.com/wisher567/Portpal
📌 PORTPAL est un tableau de bord de bureau qui affiche tous les ports en écoute sur votre machine, identifie le processus coupable et le tue en un clic. Le tout en local, sans terminal.
La scène est tristement familière. Vous lancez un serveur de dev et Node vous crache un EADDRINUSE : le port 3000 est déjà pris. Commence alors la chasse habituelle — lsof, netstat, copier-coller d’un kill — pour découvrir qu’un vieux processus d’un projet oublié squatte toujours la place. PortPal veut mettre fin à ce rituel.
L’application est un vrai logiciel de bureau, construit avec Tauri 2 : backend Rust, fenêtre web React. Elle s’ouvre sur un dashboard temps réel de tous les ports en écoute : nom du processus, PID, nombre de connexions, framework détecté. On survole la ligne, on clique sur ✕, le processus est tué. Si l’outil connaît la commande de démarrage, un bouton ↻ le relance dans un nouveau terminal. Les processus morts affichent un badge « stopped » avec un bouton de redémarrage persistant.

Ce qui m’intéresse vraiment, c’est le moteur de détection. PortPal ne se contente pas de lister des numéros : il reconnaît React (3000), Vite (5173), Angular (4200), Django (8000), Node (4000), Postgres, Redis, MySQL ou MongoDB, et va chercher un package.json, un Cargo.toml ou un go.mod à proximité pour nommer le projet d’où vient le serveur. Résultat : au lieu d’un « node » anonyme, vous lisez le nom du projet qui tourne.
La version 0.2 ajoute un vrai volet monitoring. Des sparklines de trafic animées dans les métriques, une page de logs historiques qui enregistre démarrages, arrêts et pics de connexions avec horodatage, et des cartes regroupées par projet et framework. On sépare les ports « Dev Frameworks » des autres applications système, avec un bouton Kill All quand tout part en cacahuète. Le tout dans une fenêtre sans chrome, façon app moderne. Un tray système ferme la boucle : une icône-feu alerte sur les conflits, et un thread d’arrière-plan continue d’écrire les logs même fenêtre fermée.
La carte des ports est la partie la plus sympa : une topologie réseau en D3.js, nœuds colorés par framework, déplacement à la souris et zoom à la molette. C’est un peu gadget, mais voir d’un coup d’œil comment vos services se parlent, c’est concret.
Points clés :
- ⚡ Tuer un processus qui bloque un port en un clic, sans terminal
- 🧠 Détection du framework et du projet via
package.json,Cargo.toml,go.mod - 🗺️ Carte topologique D3.js des communications entre services
- 📈 Sparklines de trafic et journal des événements en arrière-plan
- 🖥️ Tray système avec alerte de conflit, logs même fenêtre fermée
PortPal vit en local : le scan passe par sysinfo et les outils du système, rien ne part dans le cloud. L’app couvre Windows, macOS et Linux (installateurs .msi, .dmg, .deb/AppImage), sous licence MIT, avec le code sur GitHub. Je trouve l’approche honnête : pas de SaaS, pas de compte, juste un outil qui répond à une douleur précise. La nuance, c’est que la détection repose beaucoup sur les ports par défaut — un service lancé sur un port exotique sera identifié moins finement.






