Files
netslim-blog/docs/DEVELOPMENT.md
2026-03-20 22:16:20 +01:00

80 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 dattention fonctionnels
Le blog démontre les modules transverses du core :
- `Settings` pilote le titre, la baseline, la meta description, lintroduction 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 dadministration 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
```