PnlTracker
Développeur

Plugins

Guide de compilation et de packaging des plugins pour PnlTracker.

PnlTracker dispose d'un système de plugins permettant d'étendre ses fonctionnalités sans modifier le code source de l'application. Les plugins sont développés dans le dossier plugins-dev/ et compilés au format .zip pour être importés dans l'application. C'est très pratique pour ajouter des fonctionnalités personnalisées tout en conservant une base de code propre.

Prérequis

  • Node.js ≥ 20
  • pnpm installé

Compiler un plugin

Remplacez hello-plugin par le nom de votre plugin :

PLUGIN=hello-plugin npx vite build --config plugins-dev/vite.config.plugin.ts

Exemples avec les plugins inclus :

PLUGIN=trade-stats-plugin npx vite build --config plugins-dev/vite.config.plugin.ts

PLUGIN=file-processor-plugin npx vite build --config plugins-dev/vite.config.plugin.ts

PLUGIN=instrument-type-fixer npx vite build --config plugins-dev/vite.config.plugin.ts

Exemples inclus

Le dossier plugins-dev/ contient plusieurs plugins exemples que vous pouvez utiliser comme point de départ :

PluginDescription
hello-pluginPlugin de démonstration illustrant les modales, toasts et emplacements de page sur le dashboard, les transactions, le calendrier et la vue quotidienne.
trade-stats-pluginAffiche un résumé rapide des dernières performances de trading dans une modale.
file-processor-pluginUpload, traitement et téléchargement de fichiers directement dans le navigateur.
instrument-type-fixerCorrection en masse du type d'instrument pour tous les trades d'un compte.
tradingview-converterConvertit les exports TradingView (backtests) au format Standard CSV de PnlTracker.

Compiler une version release

La version release est optimisée et minifiée. Elle est destinée à la distribution.

PLUGIN=hello-plugin RELEASE=true npx vite build --config plugins-dev/vite.config.plugin.ts

Installation dans PnlTracker

  1. Allez dans Paramètres > Plugins.
  2. Cliquez sur Importer un plugin et sélectionnez le fichier .zip généré.
  3. Activez le plugin, puis cliquez sur Exécuter.
Le code source complet du système de plugins est disponible dans le dossier plugins-dev/. Consultez les fichiers README et les exemples pour créer vos propres extensions.

Slots de page

Les plugins peuvent injecter du contenu dans les pages existantes via des slots. Chaque slot est identifié par un ID. Les slots disponibles sont :

SlotPageDescription
page-dailyVue quotidienneInjection dans la page Daily
page-calendarCalendrierInjection dans la page Calendar
trade-filtersFiltres de tradesInjection dans le composant TradeFilters

Composants UI

Les plugins ont accès à des composants UI prêts à l'emploi :

  • UIButton : bouton
  • UIInput : champ de saisie
  • UISelect : liste déroulante

SDK

Le SDK expose des fonctions de calcul (P&L, APPT, winrate, profit factor, recovery factor, Sharpe ratio, etc.), un accès API (get/post/put/delete), des notifications toast, la détection de thème et la locale i18n.

Copyright © 2026