Refatoring : Working state
This commit is contained in:
@@ -87,7 +87,7 @@ Le projet a un double objectif : fonctionner comme un vrai blog, et servir de ba
|
||||
|
||||
- Articles avec éditeur WYSIWYG, slugs stables et recherche full-text
|
||||
- Catégories pour filtrer les articles
|
||||
- Médias : téléversement d'images converties en WebP avec déduplication
|
||||
- Médias : téléversement d'images converties en WebP avec déduplication par utilisateur
|
||||
- Comptes utilisateurs avec trois rôles : user, editor, admin
|
||||
- Réinitialisation de mot de passe par e-mail
|
||||
- Flux RSS des 20 derniers articles
|
||||
@@ -101,6 +101,9 @@ C'est précisément son intérêt. Le code ne se cache pas derrière des couches
|
||||
|
||||
Ce guide accompagne cette progression. Le chapitre 2 pose les bases du langage, les chapitres suivants expliquent les choix d'architecture, et le chapitre 8 montre comment faire évoluer le projet concrètement. L'objectif n'est pas d'impressionner, c'est d'être compréhensible.
|
||||
|
||||
> **Note de mise à jour architecture** — le code actuel utilise des classes concrètes nommées `*ApplicationService`, des contrôleurs sous `Http/` et des implémentations PDO sous `Infrastructure/`. Quelques exemples pédagogiques plus loin gardent volontairement les noms courts `PostService`, `UserService`, etc. pour alléger les explications ; ils correspondent respectivement à `PostApplicationService`, `UserApplicationService`, `MediaApplicationService`, `CategoryApplicationService`, `AuthApplicationService` et `PasswordResetApplicationService`.
|
||||
|
||||
|
||||
**À qui s'adresse ce guide ?** Le lecteur visé sait déjà programmer — en Python, JavaScript, ou dans un autre langage — et est à l'aise avec les concepts fondamentaux : variables, boucles, fonctions, objets. En revanche, il n'a jamais ou peu écrit de PHP. Le chapitre 2 ne réexplique pas ces concepts : il montre comment PHP les traite, en insistant sur les endroits où le langage fait des choix inhabituels ou impose des conventions qui peuvent surprendre.
|
||||
|
||||
### 1.4 Interface de l'application
|
||||
@@ -571,7 +574,7 @@ Contient les migrations SQL qui construisent le schéma de la base de données.
|
||||
```
|
||||
database/ ← migrations SQL, une par table
|
||||
└── migrations/ ← exécutées dans l'ordre alphanumérique
|
||||
├── 001_create_users.php
|
||||
├── 001_create_schema.php
|
||||
├── 002_create_categories.php
|
||||
├── 003_create_posts.php
|
||||
├── 004_create_media.php
|
||||
@@ -583,7 +586,7 @@ database/ ← migrations SQL, une par table
|
||||
Chaque fichier retourne un tableau associatif avec les requêtes SQL. Voici la migration qui crée la table `users` :
|
||||
|
||||
```php
|
||||
// database/migrations/001_create_users.php
|
||||
// database/migrations/001_create_schema.php
|
||||
return [
|
||||
'up' => "
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
|
||||
Reference in New Issue
Block a user