dkprun – Documentation

dkprun est un utilitaire universel en Python pour exécuter, tester, analyser, préparer, automatiser et contrôler à distance des projets multilangages (Python, JS, C, Java, Bash…) sur tous les OS.

Introduction

dkprun vise à fournir un outil tout-en-un pour automatiser le cycle de vie de scripts/projets dans de multiples langages, quel que soit l’OS.
Il détecte l’environnement, gère les dépendances, lance les tests, propose du packaging, du contrôle distant (relay shell et SSH), et bien plus.

Installation

  1. Assurez-vous d’avoir Python 3.7+ et pip installés.
  2. Téléchargez le script dkprun.py et placez-le dans un dossier de votre PATH.
  3. (Facultatif) Rendez-le exécutable :
    chmod +x dkprun.py sur Linux/Mac
  4. Pour certains modules optionnels : pip install colorama psutil requests
  5. Installation rapide Windows

    Ouvrez PowerShell (en administrateur), puis copiez-collez :
    iwr -useb https://raw.githubusercontent.com/MJVhack/dkprun/refs/heads/main/install.ps1 | iex

    Le script installera Python si besoin, dkprun, et configurera le PATH automatiquement.

    Voir le script PowerShell (audit recommandé avant utilisation)

Sur Windows : ajoutez le dossier contenant dkprun.py à votre PATH utilisateur pour l’appeler de partout.

Commandes et options principales

dkprun -r -py script.py              # Exécute un script Python
dkprun -r -js app.js                 # Exécute un script Node.js
dkprun -anasyntax -py script.py      # Analyse la syntaxe Python
dkprun -installdependencies script.py# Installe les dépendances du script
dkprun -zip projet/                  # Zip le dossier projet
dkprun -clean                        # Nettoie les fichiers temporaires
dkprun -gendoc                       # Génère une doc Sphinx (si conf.py)
      

Extensions supportées

ExtensionLangageCommande utilisée
-pyPythonpython
-jsJavaScriptnode
-shBashbash
-rbRubyruby
-phpPHPphp
-cCgcc
-cppC++g++
-javaJavajavac/java
-c#C# (.NET)dotnet/csc
-ps1PowerShellpowershell
-batBatchcmd
-goGogo
-rsRustrustc
-ktKotlinkotlinc
-swiftSwiftswift
-htmlHTMLnavigateur

Principales options

Outils de transfert et réseau

Contrôle distant et SSH

Mode shell relay custom (TCP, usage local/LAN)

⚠️ Ce mode n'est pas sécurisé : à utiliser uniquement sur un LAN ou en labo.

Mode SSH natif (OpenSSH, sécurisé et universel)

Avantages : chiffrement fort, compatible avec tous les clients SSH, transferts SFTP possibles.
Pré-requis : OpenSSH doit être installé sur la machine cible.

# Sur la machine à contrôler :
dkprun -serverssh

# Sur le client :
dkprun -connectssh user@ip
      

Pensez à arrêter le serveur SSH avec -stopserverssh si vous n’en avez plus besoin !

Architecture & organisation du script

Comment ajouter un nouveau langage ?

  1. Ajouter la commande dans EXT_TO_COMMAND
  2. Ajouter la logique dans les fonctions associées (anasyntax, dependencies...)

FAQ & Conseils