79 lines
3.9 KiB
Markdown
79 lines
3.9 KiB
Markdown
# Onboarding
|
|
|
|
Ce document sert de rampe d'accès au projet. Il n'essaie pas de tout expliquer : il te donne le bon ordre de lecture, les fichiers à ouvrir en premier et une première modification simple à réaliser sans te perdre.
|
|
|
|
## L'idée du projet en une minute
|
|
|
|
`netslim-blog` est une application blog concrète construite sur `netslim-core`.
|
|
|
|
Les idées à retenir sont simples :
|
|
|
|
- le code local est organisé par **domaines fonctionnels**, avec ici surtout `Post` et `Site` ;
|
|
- les modules partagés (`Kernel`, `Identity`, `Settings`, `AuditLog`, `Notifications`, `Taxonomy`, `Media`) viennent de `netslim-core` ;
|
|
- chaque domaine suit la même structure : `Application`, `Domain`, `Infrastructure`, `UI` ;
|
|
- l'application sert de cas réel pour faire vivre le socle partagé dans un projet éditorial.
|
|
|
|
## Ce qu'il faut comprendre la première heure
|
|
|
|
Si tu dois vite te repérer, concentre-toi sur ces deux flux :
|
|
|
|
- la **médiathèque** (`Media`) avec son picker intégré à l'éditeur ;
|
|
- la relation explicite `Post ↔ Media` via `data-media-id` et `post_media` ;
|
|
- le tableau de bord `/admin` et les pages `/admin/settings`, `/admin/audit-log`, `/admin/notifications`, qui montrent comment le blog intègre les modules transverses du core.
|
|
|
|
Ils donnent une bonne vision de l'état actuel du projet : modularité, ports inter-domaines, UI admin et coordination frontend/backend.
|
|
|
|
## Ordre de lecture conseillé
|
|
|
|
1. [../README.md](../README.md) pour la vue d'ensemble et le démarrage rapide
|
|
2. [ARCHITECTURE.md](ARCHITECTURE.md) pour comprendre la structure du dépôt
|
|
3. `public/index.php`, `bootstrap.php`, puis `vendor/netig/netslim-core/src/Kernel/Runtime/Bootstrap.php`, `vendor/netig/netslim-core/src/Kernel/Runtime/RuntimePaths.php`, `vendor/netig/netslim-core/src/Kernel/Runtime/DI/container.php`, `vendor/netig/netslim-core/src/Kernel/Runtime/Http/`, `vendor/netig/netslim-core/src/Kernel/Runtime/Routing/Routes.php`
|
|
4. `src/Site/` puis `src/Post/` pour suivre les modules locaux
|
|
5. `vendor/netig/netslim-core/src/Settings/`, `AuditLog/`, `Notifications/` et `Media/` pour comprendre les briques transverses démontrées par le blog
|
|
6. [FRONTEND.md](FRONTEND.md) si tu touches à Twig, SCSS ou à l'éditeur
|
|
7. [DEVELOPMENT.md](DEVELOPMENT.md) pour le workflow quotidien
|
|
|
|
## Comment lire un domaine
|
|
|
|
Parcourir un domaine dans cet ordre :
|
|
|
|
1. `UI/Http/Routes.php`
|
|
2. `UI/Http/*Controller.php`
|
|
3. `Application/`
|
|
4. `Domain/`
|
|
5. `Infrastructure/`
|
|
|
|
Ce parcours part d'une route ou d'un écran réel, puis remonte vers les cas d'usage et les implémentations.
|
|
|
|
## Première modification conseillée
|
|
|
|
Choisir une évolution **petite mais verticale** dans un domaine existant. Par exemple :
|
|
|
|
- ajuster un message ou un champ dans `/admin/settings` ;
|
|
- modifier un partial Twig partagé ;
|
|
- faire une petite évolution dans `Post` ou `Site` ;
|
|
- ajuster un style ou un comportement lié à la médiathèque.
|
|
|
|
Éviter comme première tâche :
|
|
|
|
- un nouveau domaine complet ;
|
|
- une modification transverse dans `netslim-core` sans avoir d'abord compris son impact ;
|
|
- un changement d'architecture ;
|
|
- une abstraction générique "pour préparer plus tard".
|
|
|
|
## Ce qu'il faut garder en tête
|
|
|
|
- un service applicatif sert de façade ; les workflows sensibles vivent dans des use cases dédiés ;
|
|
- un contrôleur traduit HTTP vers l'application ;
|
|
- `Infrastructure/` contient les implémentations concrètes ;
|
|
- le code transverse vient du package `netslim-core` ;
|
|
- le frontend reste simple, mais les écrans riches ont leurs scripts dédiés dans `assets/js/`, puis copiés dans `public/assets/js/` au build.
|
|
|
|
## Après la première lecture
|
|
|
|
Quand tu te sens à l'aise :
|
|
|
|
- passe à [DEVELOPMENT.md](DEVELOPMENT.md) pour le travail quotidien ;
|
|
- garde [ARCHITECTURE.md](ARCHITECTURE.md) comme document de référence avant une évolution structurelle ;
|
|
- ouvre [FRONTEND.md](FRONTEND.md) avant de toucher à l'éditeur, à la modale de médiathèque ou aux assets.
|