Tous les champs de apps.json : type, valeur par défaut et rôle
La boîte de dialogue Modifier l’app affiche les mêmes champs sous les mêmes noms. Les champs qui ne s’appliquent pas au
type sélectionné sont grisés dans la boîte de dialogue mais tout de même enregistrés, à une exception près :
stopCommand n’est enregistré que lorsque killMode vaut command.

- La liste
killMode. Les champs qu’elle n’utilise pas restent grisés.
| Champ | Type | Obligatoire | Utilisé par | Rôle |
|---|---|---|---|---|
id |
chaîne | oui | tous | Clé unique. Lettres, chiffres, ., _, -, ne commençant pas par -. Voir Vue d’ensemble. |
name |
chaîne | oui | tous | Libellé dans la barre latérale. Non vide. |
group |
chaîne | oui | tous | Titre de la barre latérale sous lequel l’app est listée. Non vide dans une modification manuelle ; la boîte de dialogue enregistre un groupe vide sous le nom Apps. Texte libre ; un nouveau nom crée un nouveau groupe. |
type |
chaîne | oui | tous | web, desktop, static ou cli. Voir Types d’app. |
command |
chaîne | tous sauf static |
tous | Exécutée dans un terminal pour démarrer l’app, via cmd /c sous Windows et $SHELL -c ailleurs (/bin/sh si SHELL n’est pas défini). Facultative pour static. |
cwd |
chaîne | non | tous avec une command |
Dossier dans lequel la commande s’exécute. Par défaut, le dossier de travail de Moonpool lui-même. Accepte les jetons et ./. Voir Chemins et environnement. |
port |
entier, de 1 à 65535 | non | tous | En cours tant que quelque chose répond sur ce port en local (IPv4 ou IPv6). Lu par killMode port. |
processName |
chaîne | non | tous, surtout desktop |
En cours tant qu’un processus portant ce nom existe. Insensible à la casse, avec ou sans .exe : my-app correspond donc à my-app.exe. Sous Linux, 15 caractères ou moins. Lu par killMode processName. |
mcpProcessName |
chaîne | non | tous avec un processName |
Motif à caractères génériques pour le nom de processus du serveur MCP de cette app. * correspond à n’importe quelle suite de caractères, ? à un seul caractère. Insensible à la casse, comparé au nom entier, et .exe est facultatif. Un processus correspondant est considéré comme le serveur MCP de l’app (la sous-ligne MCP de la barre latérale) et n’a pas besoin de mcp comme premier argument. Voir mcpProcessName. |
url |
chaîne | static uniquement |
web, static |
Page à ouvrir. Seules les URL http://, https://, mailto: et file:// sont ouvertes. |
openBrowser |
booléen, false par défaut |
non | tout type avec une url (la boîte de dialogue le grise pour desktop et cli) |
Ouvre url automatiquement dès que Moonpool détecte que l’app est démarrée (voir ci-dessous). |
killMode |
chaîne | non | tous | Nettoyage supplémentaire à l’arrêt et au redémarrage : processName, port, command ou none. Voir Arrêter et redémarrer. |
stopCommand |
chaîne | non | killMode command |
Commande exécutée à l’arrêt. Ignorée dans tous les autres modes. |
env |
objet de chaînes | non | tous | Variables d’environnement supplémentaires. La boîte de dialogue les modifie à raison d’un KEY=VALUE par ligne. |
icon |
chaîne | non | tous | Image de la barre latérale : un chemin de fichier, une URL http(s) ou un URI data:. Définissez-la depuis Choisir une icône… dans le menu contextuel de l’app ou à la main. |
note |
chaîne | non | tous | Info-bulle affichée quand vous survolez l’app dans la barre latérale. |
Une entrée utilisant env et killMode :
{ "id": "api", "name": "API", "group": "Web apps", "type": "web", "command": "npm start", "port": 3000, "env": { "PORT": "3000", "NODE_ENV": "development" }, "killMode": "port"}Voir Trouver et arrêter le processus qui utilise un port
pour comprendre comment port et killMode fonctionnent ensemble.
mcpProcessName
Section intitulée « mcpProcessName »Par défaut, Moonpool considère un processus comme le serveur MCP de l’app lorsque son nom correspond à
processName et que son premier argument est mcp, comme notes-app.exe mcp. Définissez
mcpProcessName lorsque le serveur s’exécute sous un autre nom : une app qui surveille un exe
alors que son serveur MCP en est un autre (mog.exe mcp), ou une copie renommée du serveur.
La valeur est un motif à caractères génériques. * correspond à n’importe quelle suite de caractères (y compris vide) et ?
à exactement un caractère. Il est comparé sans tenir compte de la casse au nom de processus entier, et un
motif sans .exe correspond aussi au nom avec .exe. Une valeur vide est considérée comme non définie.
{ "id": "destiny", "name": "Destiny", "group": "Desktop apps", "type": "desktop", "processName": "destiny", "mcpProcessName": "destiny-mcp-*"}Cela correspond à une copie renommée telle que destiny-mcp-2706210170.exe. Un processus qui correspond à
mcpProcessName est le serveur, qu’il ait été démarré avec mcp ou non, et il n’est jamais compté
comme l’app elle-même en cours d’exécution. Si le motif correspond aussi à processName lui-même (par exemple
destiny*), Moonpool exige toujours l’argument mcp, afin que la vraie app ne soit jamais confondue
avec son serveur MCP. Voir Configuration de MCP.
openBrowser
Section intitulée « openBrowser »Moonpool ouvre url une seule fois, lorsqu’une app lancée par Moonpool apparaît pour la première fois comme en cours. Cela
nécessite un port ou un processName pour la détecter. Sans l’un ni l’autre, « en cours » signifie seulement que le
processus du terminal est vivant, et le navigateur n’est pas ouvert automatiquement. Désactivez openBrowser
si votre commande ouvre elle-même un navigateur. Une entrée static sans commande ouvre url
chaque fois que vous appuyez sur Lancer, quelle que soit la valeur de openBrowser.
Deux apps configurées avec le même port sont signalées dans la barre latérale.
L’icône d’une app est la première de cette liste qui existe :
- Le champ
icon. icons\<id>.<ext>dans le dossier de configuration, par exempleicons\site.png.- Un fichier d’icône dans le dossier de l’app elle-même (son
cwd, ou le dossier d’uneurlfile:///). - Pour
desktop, l’icône de son.execompilé ou en cours d’exécution. - Pour
webetstatic, le/favicon.icodu site, une fois le serveur démarré. - Un glyphe correspondant au type.
La plupart des apps n’ont pas besoin de réglage d’icône.
Moonpool est un logiciel gratuit de FasterDB