first commit
This commit is contained in:
46
docs/ARCHITECTURE.md
Normal file
46
docs/ARCHITECTURE.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# Architecture de netslim-blog
|
||||
|
||||
`netslim-blog` est une application qui consomme `netslim-core` et ajoute deux modules locaux :
|
||||
- `Post` pour le domaine éditorial ;
|
||||
- `Site` pour les intégrations applicatives propres au blog.
|
||||
|
||||
## Dépendances vers le core
|
||||
|
||||
Le projet s’appuie sur :
|
||||
- `Netig\Netslim\Kernel\...`
|
||||
- `Netig\Netslim\Identity\...`
|
||||
- `Netig\Netslim\Settings\...`
|
||||
- `Netig\Netslim\AuditLog\...`
|
||||
- `Netig\Netslim\Notifications\...`
|
||||
- `Netig\Netslim\Taxonomy\...`
|
||||
- `Netig\Netslim\Media\...`
|
||||
|
||||
`ADMIN_HOME_PATH` pointe vers `/admin`, qui sert de tableau de bord au back-office du blog.
|
||||
|
||||
## Frontière entre le dépôt et le core
|
||||
|
||||
Dans ce dépôt, le code applicatif local est essentiellement :
|
||||
- `src/Post/`
|
||||
- `src/Site/`
|
||||
- `templates/`
|
||||
- `assets/`
|
||||
- `config/`
|
||||
- `public/`
|
||||
|
||||
Le code transverse et les modules partagés vivent dans `vendor/netig/netslim-core/` après installation Composer.
|
||||
Les répertoires runtime persistants (`var/`, `database/`, `public/media/`) restent toutefois ceux du projet blog lui-même.
|
||||
|
||||
## Démonstration des capacités du core
|
||||
|
||||
Le module `Site` démontre concrètement :
|
||||
- `Settings` via les réglages de titre, baseline, meta description et pagination ;
|
||||
- `Authorization` via les pages d’administration réservées aux permissions d’admin ;
|
||||
- `AuditLog` via la traçabilité des actions sur les réglages, notifications et articles ;
|
||||
- `Notifications` via une page d’envoi manuel et l’historique des dispatches.
|
||||
|
||||
Le module `Post` reste propriétaire :
|
||||
- des routes publiques et d’administration des contenus ;
|
||||
- des migrations `posts`, `post_media`, `posts_fts` ;
|
||||
- des usages concrets de `Taxonomy` et `Media`.
|
||||
|
||||
En pratique, si une évolution relève de `Kernel`, `Identity`, `Settings`, `AuditLog`, `Notifications`, `Taxonomy` ou `Media`, elle doit être développée dans le dépôt `netslim-core`, puis intégrée ici via Composer.
|
||||
Reference in New Issue
Block a user