Refactor core test runtime and simplify project documentation

This commit is contained in:
julien
2026-03-20 22:52:02 +01:00
parent 9b1dd9417c
commit 24b3bb4177
19 changed files with 266 additions and 132 deletions

View File

@@ -11,8 +11,6 @@ Ce dépôt est conçu pour être consommé par des projets applicatifs séparés
## Installation depuis le dépôt Git en HTTPS
### Pendant le développement du core
```json
{
"repositories": [
@@ -22,30 +20,14 @@ Ce dépôt est conçu pour être consommé par des projets applicatifs séparés
}
],
"require": {
"netig/netslim-core": "^0.3@dev"
}
}
```
### Après la première release taguée
```json
{
"repositories": [
{
"type": "vcs",
"url": "https://git.netig.net/netig/netslim-core.git"
}
],
"require": {
"netig/netslim-core": "^0.1"
"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, mais ce n'est pas le mode de consommation par défaut :
Pour développer le core et une application consommatrice côte à côte, un `path` repository local reste pratique :
```json
{
@@ -56,7 +38,7 @@ Pour développer le core et une application consommatrice côte à côte, un `pa
}
],
"require": {
"netig/netslim-core": "^0.3@dev"
"netig/netslim-core": "dev-main"
}
}
```
@@ -69,7 +51,7 @@ Le package ne porte pas d'application concrète. Un projet consommateur doit fou
- 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`. Ces variables ne sont plus exigées par le bootstrap du noyau seul.
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.
@@ -83,12 +65,8 @@ Les templates du socle supposent en particulier :
Le socle expose principalement :
- `Netig\Netslim\Kernel\...` pour le runtime public ;
- les interfaces applicatives documentées des modules partagés (`Netig\Netslim\Identity\Application\*ServiceInterface`, `Netig\Netslim\Settings\Application\SettingsServiceInterface`, `Netig\Netslim\AuditLog\Application\AuditLogServiceInterface`, `Netig\Netslim\Notifications\Application\NotificationServiceInterface`, `Netig\Netslim\Taxonomy\Application\TaxonomyServiceInterface`, `Netig\Netslim\Media\Application\MediaServiceInterface`) ;
- `Netig\Netslim\Settings\Contracts\...` ;
- `Netig\Netslim\AuditLog\Contracts\...` ;
- `Netig\Netslim\Notifications\Contracts\...` ;
- `Netig\Netslim\Taxonomy\Contracts\...` ;
- `Netig\Netslim\Media\Contracts\...` ;
- 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`](docs/PUBLIC_API.md).
@@ -100,8 +78,4 @@ composer install
composer qa
```
## Gouvernance du package
- `docs/PUBLIC_API.md` définit la frontière supportée entre le package et les projets consommateurs ;
> 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()`.
> 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()`.