Files
netslim-core/README.md

2.9 KiB

netslim-core

netslim-core est le socle réutilisable de la plateforme Netslim.

Il contient :

  • le Kernel technique ;
  • les modules partageables Identity, Settings, AuditLog, Notifications, Taxonomy et Media ;
  • les tests d'architecture et de modules du socle.

Ce dépôt est conçu pour être consommé par des projets applicatifs séparés via Composer.

Installation depuis le dépôt Git en HTTPS

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://git.netig.net/netig/netslim-core.git"
    }
  ],
  "require": {
    "netig/netslim-core": "dev-main"
  }
}

Option locale pendant le développement

Pour développer le core et une application consommatrice côte à côte, un path repository local reste pratique :

{
  "repositories": [
    {
      "type": "path",
      "url": "../netslim-core"
    }
  ],
  "require": {
    "netig/netslim-core": "dev-main"
  }
}

Ce que doit fournir une application consommatrice

Le package ne porte pas d'application concrète. Un projet consommateur doit fournir au minimum :

  • son propre config/modules.php ;
  • son point d'entrée HTTP (public/index.php) ;
  • ses templates applicatifs ;
  • son pipeline d'assets.

Si l'application active Identity et exécute le provisionnement initial, elle doit aussi définir ADMIN_USERNAME, ADMIN_EMAIL et ADMIN_PASSWORD dans son .env.

Si l'application active Notifications, elle doit configurer MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD, MAIL_ENCRYPTION, MAIL_FROM et MAIL_FROM_NAME pour permettre l'envoi effectif des emails transactionnels.

Les templates du socle supposent en particulier :

  • une feuille de styles servie sous /assets/css/main.css pour les layouts @Kernel ;
  • si l'UI admin du module Media est utilisée, un script servi sous /assets/js/media-admin.js ;
  • les caches, logs, médias et la base SQLite sont toujours résolus depuis le projet consommateur (var/, public/media/, database/), jamais depuis le package installé dans vendor/ ;
  • la destination du back-office peut être redéfinie via ADMIN_HOME_PATH si l'application consommatrice n'utilise pas /admin.

Surface publique

Le socle expose principalement :

  • Netig\Netslim\Kernel\... pour le runtime public ;
  • les interfaces applicatives documentées des modules partagés (Identity, Settings, AuditLog, Notifications, Taxonomy, Media) ;
  • les contrats publics sous Netig\Netslim\*/Contracts/ ;
  • les classes *Module des modules partagés.

La frontière détaillée entre API publique et API interne est documentée dans docs/PUBLIC_API.md.

Vérifications locales

composer install
composer qa

Quand netslim-core est installé via Composer, les chemins runtime détectent automatiquement la racine du projet consommateur pour les scripts CLI et les suites de tests qui n'appellent pas explicitement Bootstrap::create().