80 lines
2.2 KiB
Markdown
80 lines
2.2 KiB
Markdown
# 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
|
||
```
|