# 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//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 ```