# module.json

Description du fichier module.json

## 📄 Description

Un fichier module.json est requis pour chaque module externe de Nelson ; il permet de le gérer facilement avec la fonction nmm.

module: identifiant unique (nom court du module, caractères alphanumériques), exemple : "module\_skeleton\_basic"

title: nom complet du module (nom convivial), exemple : "Module skeleton basic"

summary: description sur une ligne, exemple : "Skeleton of a basic nelson package"

version: numéro de version en utilisant le versionnement sémantique, exemple : "1.0.0"

platforms: plateformes supportées.

"all" pour toutes les plateformes

autres plateformes :

"win32" : Windows 32 bits

"win64" : Windows 64 bits

"maci64" : macOS 64 bits

"maci32" : macOS 32 bits

"glnxa64" : Linux 64 bits

"glnxa32" : Linux 32 bits

exemple : \["win64", "glnxa64"], le module ne sera disponible que sur Windows et Linux 64 bits.

nelson: versions de Nelson supportées, exemple : "<2.0.0" (par défaut)

builtin: true si le module nécessite un compilateur C/C++, false si le module contient uniquement des macros.

author: informations sur l'auteur : nom, email et site web

Exemple :

{

"name": "Allan CORNET",

"email": "<nelson.numerical.computation@gmail.com>",

"url": "<https://nelson-lang.github.io/nelson-website/>"

}

homepage: page d'accueil du module, exemple "<https://github.com/nelson-lang/module\\_skeleton\\_basic>"

description: description complète du module, format Markdown supporté, exemple : "nelson's module skeleton (macros only)"

copyright: description du copyright, exemple : "Copyright © 2019-present Allan CORNET"

license: licence sous laquelle la boîte à outils sera publiée, exemple : "BSD" ou "LGPLv2", ...

keywords: mots-clés décrivant votre module.

Exemple :

\["interpreter", "scientific-computing", "programming-language", "matrix-functions", "skeleton"]

dependencies: liste des dépendances de modules {} (par défaut) ou paires nom : url

{

"module\_a": "<https://module\\_a.git#v1.0.0>",

"module\_b": "<https://module\\_b.git#v1.0.0>"

}

## 💡 Exemple

Déployer les templates module\_skeleton et module\_skeleton\_basic

```matlab
if ~ismodule('module_skeleton_basic')
        nmm('install', 'https://github.com/nelson-lang/module_skeleton_basic.git#v1.0.0');
    end
    if ~ismodule('module_skeleton')
        nmm('install', 'https://github.com/nelson-lang/module_skeleton.git#v1.0.0');
    end
    modules_installed = nmm('list');
    edit([modules_installed.module_skeleton.path, 'module.json']);
    edit([modules_installed.module_skeleton_basic.path, 'module.json']);

```

## 🔗 Voir aussi

[nmm](https://nelson-9.gitbook.io/nelson/markdown/fr/modules_manager/nmm).

## 🕔 Historique

| Version | 📄 Description   |
| ------- | ---------------- |
| 1.0.0   | version initiale |
