Console web interactive pour exécuter des commandes shell avec interface utilisateur en temps réel
npm install metadidomi-console-webbash
npm install metadidomi-console-web
`
Commandes disponibles
$3
- cmd : Ouvre PowerShell dans le dossier System32
- cmd chemin/vers/dossier : Ouvre PowerShell dans le dossier spécifié
- cmd script.cmd ou cmd script.bat : Exécute un script batch
- commande : Exécute une commande shell directement (avec l'option "Commande brute" cochée)
$3
- server:list : Liste tous les serveurs actifs avec leur PID et uptime
- server:stop : Arrête le serveur sur le port par défaut (34123)
- server:stop PORT : Arrête le serveur sur le port spécifié
- server:stopall : Arrête tous les serveurs actifs
$3
- Ctrl+K : Interrompt le processus en cours (équivalent Ctrl+C)
- Ctrl+\ : Force l'arrêt du processus
- Ctrl+D : Envoie un EOF au processus
- Ctrl+Z : Met le processus en pause
- Ctrl+Q : Reprend l'exécution d'un processus en pause
- Ctrl+S : Affiche le statut du processus en cours
$3
- Commande brute : Cochez cette option pour exécuter des commandes shell directement
- Dossier de travail : Spécifiez un dossier de travail pour l'exécution de la commande
Accès distant
Par défaut, le serveur est accessible sur localhost:34123. Pour y accéder depuis d'autres machines :
$3
Exécutez dans PowerShell :
`powershell
ipconfig
`
Cherchez l'adresse IPv4 de votre carte réseau (par exemple : 192.168.1.100)
$3
Modifiez votre code pour écouter sur toutes les interfaces :
`javascript
const consoleWeb = require('metadidomi-console-web');
const http = require('http');
// Créez un serveur qui écoute sur toutes les interfaces (0.0.0.0)
const server = http.createServer();
server.listen(34123, '0.0.0.0', () => {
console.log('Console accessible sur http://VOTRE_IP:34123');
});
`
$3
- Depuis d'autres machines du réseau : http://VOTRE_IP:34123
- Exemple : http://192.168.1.100:34123
$3
- Assurez-vous que le port 34123 est autorisé dans votre pare-feu Windows
- Pour autoriser le port :
`powershell
New-NetFirewallRule -DisplayName "Console Web" -Direction Inbound -LocalPort 34123 -Protocol TCP -Action Allow
`
- Utilisez uniquement sur un réseau local sécurisé
- Ne pas exposer sur Internet sans sécurité supplémentaire
Caractéristiques
- Interface web moderne et responsive
- Exécution de commandes shell en temps réel
- Affichage des sorties en direct via Server-Sent Events (SSE)
- Support des commandes Windows PowerShell
- Interface utilisateur stylisée et intuitive
Utilisation
1. Dans votre projet Node.js, importez le module :
`javascript
const consoleWeb = require('metadidomi-console-web');
`
2. Le serveur démarrera automatiquement sur le port 34123 (par défaut)
3. Accédez à l'interface via : http://localhost:34123
Exemple de code
`javascript
// Exemple d'intégration dans une application Express existante
const express = require('express');
const app = express();
const consoleWeb = require('metadidomi-console-web');
// Votre code Express ici...
app.listen(3000, () => {
console.log('Application principale sur le port 3000');
console.log('Console web disponible sur http://localhost:34123');
});
`
Interface utilisateur
L'interface web inclut :
- Un champ de saisie pour les commandes
- Une zone d'affichage des résultats en temps réel
- Un historique des commandes
- Des styles CSS personnalisables
Configuration
Le fichier console-cmd.js peut être configuré avec les options suivantes :
- PORT : Port d'écoute du serveur (34123 par défaut)
- Autres options de configuration via app-paths.js
Personnalisation
Vous pouvez personnaliser l'apparence en modifiant :
- console-style.css pour les styles
- console-ui.html` pour la structure de l'interface