first commit
This commit is contained in:
79
docs/DEVELOPMENT.md
Normal file
79
docs/DEVELOPMENT.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# Développement
|
||||
|
||||
Ce document sert de guide quotidien : lancer le projet, savoir où placer une modification et vérifier le résultat avant push.
|
||||
|
||||
Pour une première découverte du dépôt, commence plutôt par [ONBOARDING.md](ONBOARDING.md).
|
||||
|
||||
## Démarrage local
|
||||
|
||||
Prérequis : PHP 8.4+, Composer, Node.js 18+, `pdo`, `pdo_sqlite`, `fileinfo`, `gd`, `json`, `mbstring`, `session`, `dom`, `simplexml`.
|
||||
|
||||
```bash
|
||||
composer install
|
||||
composer frontend:install
|
||||
composer frontend:build
|
||||
cp .env.example .env
|
||||
composer provision
|
||||
composer start
|
||||
```
|
||||
|
||||
Pour recompiler le SCSS en continu :
|
||||
|
||||
```bash
|
||||
npm run watch
|
||||
```
|
||||
|
||||
## Où placer une modification ?
|
||||
|
||||
### Backend local au projet
|
||||
|
||||
- `src/Post/` : domaine éditorial du blog
|
||||
- `src/Site/` : intégrations applicatives du blog (dashboard, réglages, audit, notifications de démonstration)
|
||||
|
||||
### Code transverse provenant du core
|
||||
|
||||
`Kernel`, `Identity`, `Settings`, `AuditLog`, `Notifications`, `Taxonomy` et `Media` proviennent de `netslim-core` et ne vivent pas dans `src/` de ce dépôt.
|
||||
|
||||
Règle pratique :
|
||||
- si la modification concerne seulement `Post`, `Site` ou les assets/templates du blog, elle a sa place ici ;
|
||||
- si elle concerne les modules du core, elle doit être portée dans `netslim-core`, puis intégrée via Composer.
|
||||
|
||||
### Frontend
|
||||
|
||||
- templates de domaine : `src/<Domaine>/UI/Templates/`
|
||||
- partials applicatifs transverses : `templates/Kernel/partials/`
|
||||
- scripts d’écran : `assets/js/`
|
||||
|
||||
## Points d’attention fonctionnels
|
||||
|
||||
Le blog démontre les modules transverses du core :
|
||||
- `Settings` pilote le titre, la baseline, la meta description, l’introduction et la pagination ;
|
||||
- `AuditLog` trace les modifications de réglages, les notifications envoyées et les opérations CRUD sur les articles ;
|
||||
- `Notifications` envoie un email de démonstration depuis `/admin/notifications` ;
|
||||
- `Authorization` réserve les pages d’administration transverses aux administrateurs.
|
||||
|
||||
## Vérifications avant push
|
||||
|
||||
```bash
|
||||
composer test
|
||||
composer stan
|
||||
composer cs:check
|
||||
```
|
||||
|
||||
Et si le frontend a changé :
|
||||
|
||||
```bash
|
||||
composer frontend:build
|
||||
```
|
||||
|
||||
Raccourci utile pour les vérifications backend :
|
||||
|
||||
```bash
|
||||
composer qa
|
||||
```
|
||||
|
||||
Pour la couverture :
|
||||
|
||||
```bash
|
||||
composer test:coverage
|
||||
```
|
||||
Reference in New Issue
Block a user