PHPackages                             nabysyphpapi/xnabysygs-cli - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. nabysyphpapi/xnabysygs-cli

ActiveProject[CLI &amp; Console](/categories/cli)

nabysyphpapi/xnabysygs-cli
==========================

CLI globale du framework NAbySyPhp Rapid Api Générator — commandes nsy et koro

v1.5.2(1mo ago)047MITPHPPHP &gt;=8.1

Since Apr 23Pushed 1mo agoCompare

[ Source](https://github.com/paulisidore/xnabysygs-cli)[ Packagist](https://packagist.org/packages/nabysyphpapi/xnabysygs-cli)[ RSS](/packages/nabysyphpapi-xnabysygs-cli/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependenciesVersions (26)Used By (0)

NAbySyGS CLI — `xnabysygs-cli`
==============================

[](#nabysygs-cli--xnabysygs-cli)

CLI globale du framework **NAbySyGS**. Fournit les commandes `nsy` et `koro` disponibles partout sur votre système.

---

Installation globale
--------------------

[](#installation-globale)

```
composer global require nabysyphpapi/xnabysygs-cli
```

> Assurez-vous que le dossier `bin` global de Composer est dans votre `PATH` :
>
> - **Linux/macOS** : `~/.config/composer/vendor/bin` ou `~/.composer/vendor/bin`
> - **Windows** : `%APPDATA%\Composer\vendor\bin`

### Vérifier l'installation

[](#vérifier-linstallation)

```
nsy version
# ou
koro version
```

---

Fonctionnement général
----------------------

[](#fonctionnement-général)

La CLI détecte automatiquement la racine du projet NAbySyGS en remontant l'arborescence à partir du dossier courant (présence de `composer.json` + `vendor/`). Vous pouvez aussi la spécifier manuellement avec `--root`.

### Setup automatique au premier lancement

[](#setup-automatique-au-premier-lancement)

Toute commande `koro` (sauf `koro version`) vérifie si le framework NAbySyGS est installé et configuré dans le projet courant.

- Si le framework **n'est pas installé**, la CLI l'installe automatiquement via `composer require` et ouvre **`setup.html`** dans votre navigateur par défaut.
- Si le framework est installé mais **pas encore configuré** (pas d'`appinfos.php`), `setup.html` s'ouvre également.
- Une fois le setup complété depuis l'interface web, `appinfos.php` est généré et le setup ne se relance plus.

> En cas d'erreur durant le processus d'initialisation, un **log complet des opérations** est automatiquement ouvert dans le navigateur pour faciliter le diagnostic.

---

Commandes disponibles
---------------------

[](#commandes-disponibles)

```
koro init
koro create categorie  [-a] [-o] [-t ]
koro create action
koro create orm         [dossier]
koro create route      [dossier]
koro create observer   [nom]
koro db update
koro update
koro update cli
koro doc
koro log             [app|sql|error] [--month=mmyyyy | --m=mmyyyy]
koro user list       [--login ]
koro user create     --login  --password  --nom  [--prenom ] [--niveau ]
koro user delete     --id
koro user set-login  --id  --login
koro user set-pwd    --id  --password
koro user logout
koro version
koro help

```

`nsy` est un alias complet de `koro`. Tous les alias courts fonctionnent aussi : `i`, `c`, `cat`, `a`, `o`, `r`, `obs`, `event`, `v`, `h`.

---

Détail des commandes
--------------------

[](#détail-des-commandes)

### `koro init` — Initialiser un projet

[](#koro-init--initialiser-un-projet)

Crée un `composer.json` adapté à NAbySyGS, installe le framework et ouvre `setup.html` pour la configuration initiale.

```
koro init mon-projet-api
# alias
koro i mon-projet-api
```

- Peut être exécutée dans un **dossier vide** ou dans un **projet existant sans NAbySyGS**.
- Si `appinfos.php` est déjà présent, la CLI le détecte, le signale et arrête l'initialisation.
- Si une erreur survient, un log d'initialisation complet s'ouvre automatiquement dans le navigateur.

---

### `koro create categorie` — Créer un module complet

[](#koro-create-categorie--créer-un-module-complet)

Enregistre une catégorie dans `db_structure.php` et déclenche automatiquement `db update`.

```
koro create categorie  [-a] [-o] [-t ]
# alias
koro c cat  [-a] [-o] [-t ]
```

OptionDescription`-a` / `--action`Générer le fichier action API (`*_action.php`)`-o` / `--orm`Générer la classe ORM (nécessite `-t`)`-t` / `--table`Nom de la table associée**Exemple — Module client avec action, ORM et table :**

```
koro create categorie client -a -o -t clients
```

Cela écrit dans `db_structure.php` :

```
// ── categorie: client ──────────────────────────────── 2026-04-25 00:44 ──
N::$GSModManager::CreateCategorie("client", true, true, "clients");
N::$GSModManager::GenerateORMClass("xClient", "client", "clients");
// ── end: client ────────────────────────────────────────────────────────
```

Et génère automatiquement :

- `gs/client/client_action.php` — Endpoints Action API
- `gs/client/xClient/xClient.class.php` — Classe ORM

> `CreateCategorie` prépare également le module pour le routage par Action. Ajoutez `create route` pour activer le routage URL Laravel-style.

---

### `koro create action` — Créer un fichier action seul

[](#koro-create-action--créer-un-fichier-action-seul)

```
koro create action
# alias
koro c a
```

Enregistre uniquement le fichier action API dans `db_structure.php`.

---

### `koro create orm` — Créer une classe ORM seule

[](#koro-create-orm--créer-une-classe-orm-seule)

```
koro create orm   [dossier]
# alias
koro c o   [dossier]
```

Le dossier est optionnel (défaut : `` en minuscules).

**Exemple :**

```
koro create orm xProduit produits gs/produit
```

---

### `koro create observer` — Créer un observateur de table

[](#koro-create-observer--créer-un-observateur-de-table)

Enregistre un observateur (observer/event) sur une table dans `db_structure.php`. L'observateur est notifié à chaque opération sur la table (INSERT, UPDATE, DELETE).

```
koro create observer  [nom]
# alias
koro c obs  [nom]
koro c event  [nom]
```

Le paramètre `nom` est optionnel — il prend la valeur de `` par défaut.

**Exemple — Observer sur la table patient :**

```
koro create observer patient
# ou avec un nom personnalisé :
koro c event patient patientObserver
```

Écrit dans `db_structure.php` :

```
// ── categorie: patient ─────────────────────────────── 2026-04-25 00:46 ──
N::$GSModManager::GenerateTableObserver("patient", "patient");
// ── end: patient ───────────────────────────────────────────────────────
```

> Les observateurs permettent de réagir aux événements métier (audit, notifications, cascades) sans modifier la logique principale de l'API.

---

### `koro create route` — Créer un contrôleur de route URL

[](#koro-create-route--créer-un-contrôleur-de-route-url)

Enregistre un contrôleur de routage URL Laravel-style dans `db_structure.php`.

```
koro create route  [dossier]
# alias
koro c r  [dossier]
```

Le dossier est optionnel (défaut : `` en minuscules).

**Exemple :**

```
koro create route client client
```

Écrit dans `db_structure.php` :

```
// ── categorie: client_url ──────────────────────────── 2026-04-25 00:45 ──
N::$GSModManager::GenerateUrlRouteController("client", "client");
// ── end: client_url ────────────────────────────────────────────────────
```

> Le routage URL et le routage par Action **coexistent** dans le même projet. Vous pouvez les utiliser simultanément.

---

### `koro db update` — Synchroniser la structure

[](#koro-db-update--synchroniser-la-structure)

Appelle l'API du projet avec `Action=NABYSY_STRUCURE_UPDATE` pour appliquer les modifications de `db_structure.php` en base de données.

```
koro db update
# alias
koro db u
```

Cette commande est appelée **automatiquement** après chaque `koro create`. Elle peut être invoquée manuellement après toute modification directe de `db_structure.php`.

L'URL de l'API est lue depuis `__SERVER_URL__` dans `appinfos.php`. Vous pouvez la surcharger :

```
koro db update --url http://kssv5/api/shop
```

---

### `koro update` — Mettre à jour le framework

[](#koro-update--mettre-à-jour-le-framework)

Met à jour le package **nabysyphpapi/xnabysygs** dans le projet hôte courant via Composer.

```
koro update
# équivalent à :
composer update nabysyphpapi/xnabysygs
```

---

### `koro update cli` — Mettre à jour la CLI

[](#koro-update-cli--mettre-à-jour-la-cli)

Met à jour le package **nabysyphpapi/xnabysygs-cli** via Composer global (installation globale).

```
koro update cli
# équivalent à :
composer global update nabysyphpapi/xnabysygs-cli
```

> Ces deux commandes s'exécutent sans nécessiter d'être dans un projet NAbySyGS.

---

### `koro doc` — Ouvrir la documentation des routes

[](#koro-doc--ouvrir-la-documentation-des-routes)

Ouvre `api/describe?HTML=1` dans le navigateur par défaut. L'URL est construite depuis `__SERVER_URL__` dans `appinfos.php`, avec `__BASEDIR__` ajouté s'il est défini.

```
koro doc
# alias
koro d
```

Vous pouvez surcharger l'URL de base avec `--url` :

```
koro doc --url http://monapi.local
# ouvrira : http://monapi.local/api/describe?HTML=1
```

> Cette commande s'exécute sans nécessiter d'être dans un projet NAbySyGS si `--url` est fourni.

---

### `koro log` — Consulter le journal de l'application

[](#koro-log--consulter-le-journal-de-lapplication)

Génère une page HTML interactive et l'ouvre dans le navigateur par défaut. Les fichiers log sont lus depuis `[RACINE_PROJET]/log/`.

```
koro log                        # tous les fichiers du mois courant (multi-onglets)
koro log app                    # journal applicatif uniquement
koro log sql                    # requêtes SQL uniquement
koro log error                  # erreurs SQL uniquement
koro log --month 042026         # mois spécifique (avril 2026)
koro log app --m 012026         # journal applicatif de janvier 2026
```

**Fichiers reconnus dans `[RACINE]/log/` :**

FichierOnglet affiché`NAbySyGS_Log-mmyyyy.csv`📋 Journal applicatif`DebugLOGmmyyyy.csv`🗄️ Requêtes SQL \[bdd\]`DebugLOGErrormmyyyy.txt`⚠️ Erreurs SQL \[bdd\]- Sans argument de type, **tous les fichiers trouvés** pour le mois sont chargés, chacun dans son propre onglet.
- Si plusieurs bases ont des fichiers pour le même mois, un onglet est créé par base.
- Les entrées sont affichées en **ordre inverse** (plus récent en premier).
- Chaque onglet dispose d'une **DataTable** avec filtre, tri par colonne et pagination.

OptionDescription`--month `Mois cible (ex: `042026` pour avril 2026)`--m `Alias court de `--month`---

### `koro user` — Gestion des utilisateurs

[](#koro-user--gestion-des-utilisateurs)

Toutes les commandes `user` nécessitent une authentification. Le token JWT est sauvegardé dans `.nsy_token` à la racine du projet. Lors de la première utilisation (ou si le token est expiré), les credentials sont demandés interactivement.

#### `koro user list` — Lister les utilisateurs

[](#koro-user-list--lister-les-utilisateurs)

```
koro user list
koro user list --login pharmcp   # filtrer par login
```

Affiche un tableau avec : ID, NOM, PRENOM, LOGIN, NIVEAUACCES, PROFILE, ETAT.

---

#### `koro user create` — Créer un utilisateur

[](#koro-user-create--créer-un-utilisateur)

```
koro user create --login dupont --password secret --nom Dupont --prenom Jean --niveau 2
```

OptionDescription`--login`Login de l'utilisateur (requis)`--password`Mot de passe (requis)`--nom`Nom (requis)`--prenom`Prénom (optionnel)`--niveau`Niveau d'accès 1-4 (optionnel)---

#### `koro user delete` — Supprimer un utilisateur

[](#koro-user-delete--supprimer-un-utilisateur)

```
koro user delete --id 3
```

---

#### `koro user set-login` — Modifier le login

[](#koro-user-set-login--modifier-le-login)

```
koro user set-login --id 3 --login nouveau_login
```

---

#### `koro user set-pwd` — Modifier le mot de passe

[](#koro-user-set-pwd--modifier-le-mot-de-passe)

```
koro user set-pwd --id 3 --password nouveau_mdp
```

---

#### `koro user logout` — Déconnexion

[](#koro-user-logout--déconnexion)

Supprime le token sauvegardé localement. Les prochaines commandes `user` demanderont à nouveau les credentials.

```
koro user logout
```

> Le fichier `.nsy_token` est créé à la racine du projet hôte. Pensez à l'ajouter à votre `.gitignore`.

---

### `koro version`

[](#koro-version)

```
koro version
# alias
koro v
```

Affiche la version du CLI. **Seule commande qui ne déclenche pas le contrôle de setup.**

---

### `koro help`

[](#koro-help)

```
koro help
# alias
koro h
```

---

Fichiers de structure multiples
-------------------------------

[](#fichiers-de-structure-multiples)

Par défaut, toutes les déclarations sont écrites dans `db_structure.php` à la racine du projet. Vous pouvez utiliser des fichiers de structure alternatifs avec `--struct` :

```
koro create categorie commande -a -o -t commandes --struct structure/commerce.php
```

Si le fichier n'existe pas, il est créé automatiquement avec un en-tête documenté, et un `include_once` correspondant est injecté dans `appinfos.php`.

---

Options globales
----------------

[](#options-globales)

OptionDescription`--root `Racine du projet hôte (détectée automatiquement sinon)`--struct `Fichier de structure cible (défaut : `db_structure.php`)`--url `URL de l'API (prioritaire sur `__SERVER_URL__`)`--debug`Afficher les détails d'exécution---

Exemples complets
-----------------

[](#exemples-complets)

```
# Initialiser un nouveau projet
koro init mon-projet-api

# Module complet : catégorie + action + ORM + observer + route URL
koro create categorie client -a -o -t clients
koro create observer client
koro create route client client

# Module minimal (catégorie seule)
koro create categorie Pays

# ORM et route dans des sous-dossiers personnalisés
koro create orm xProduit produits gs/produit
koro create route produit gs/produit

# Depuis n'importe où avec --root
koro create categorie client -a -o -t clients --root /var/www/monprojet

# Fichier de structure alternatif
koro create categorie commande -a -o -t commandes --struct structure/commerce.php

# Synchronisation manuelle de la base
koro db update
koro db update --url http://kssv5/api/shop

# Mise à jour
koro update          # met à jour le framework
koro update cli      # met à jour la CLI

# Documentation des routes
koro doc
koro doc --url http://monapi.local

# Journal de l'application
koro log                        # tous les onglets — mois courant
koro log app                    # journal applicatif seulement
koro log sql --month 042026     # requêtes SQL d'avril 2026
koro log error --m 012026       # erreurs SQL de janvier 2026

# Gestion des utilisateurs
koro user list
koro user list --login pharmcp
koro user create --login dupont --password secret --nom Dupont --prenom Jean --niveau 2
koro user delete --id 3
koro user set-login --id 3 --login nouveau_login
koro user set-pwd --id 3 --password nouveau_mdp
koro user logout

# Debug activé
koro create orm xProduit produits --debug
```

---

Documentation des Routes — `/api/describe`
------------------------------------------

[](#documentation-des-routes--apidescribe)

Une fois votre projet configuré et vos routes URL déclarées, NAbySyGS expose automatiquement un endpoint de documentation :

```
# JSON brute (authentifiée)
curl http://votre-api.local/api/describe \
  -H "Authorization: Bearer "

# Interface web interactive
http://votre-api.local/api/describe?HTML=1
```

La version web permet d'annoter vos routes (titres, commentaires), d'exporter la documentation en **JSON ou PDF**, et de réimporter une version précédemment annotée. Voir la documentation du framework pour le détail complet.

---

**Linux/macOS** — ajoutez dans `~/.bashrc` ou `~/.zshrc` :

```
export PATH="$HOME/.config/composer/vendor/bin:$PATH"
# ou selon votre système :
export PATH="$HOME/.composer/vendor/bin:$PATH"
```

**Windows** — ajoutez dans les variables d'environnement système :

```
%APPDATA%\Composer\vendor\bin

```

---

Désinstallation
---------------

[](#désinstallation)

```
composer global remove nabysyphpapi/xnabysygs-cli
```

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance92

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

24

Last Release

39d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/19957023?v=4)[paulisidore](/maintainers/paulisidore)[@paulisidore](https://github.com/paulisidore)

---

Top Contributors

[![paulisidore](https://avatars.githubusercontent.com/u/19957023?v=4)](https://github.com/paulisidore "paulisidore (33 commits)")

### Embed Badge

![Health badge](/badges/nabysyphpapi-xnabysygs-cli/health.svg)

```
[![Health](https://phpackages.com/badges/nabysyphpapi-xnabysygs-cli/health.svg)](https://phpackages.com/packages/nabysyphpapi-xnabysygs-cli)
```

###  Alternatives

[seld/cli-prompt

Allows you to prompt for user input on the command line, and optionally hide the characters they type

24726.4M22](/packages/seld-cli-prompt)[illuminate/console

The Illuminate Console package.

13045.3M6.1k](/packages/illuminate-console)[php-tui/php-tui

Comprehensive TUI library heavily influenced by Ratatui

596920.8k12](/packages/php-tui-php-tui)[styleci/cli

The CLI tool for StyleCI

70464.1k9](/packages/styleci-cli)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
