✨ Story 3.2: router php urls
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
## Status
|
||||
|
||||
Ready for Dev
|
||||
review
|
||||
|
||||
## Story
|
||||
|
||||
@@ -21,34 +21,34 @@ Ready for Dev
|
||||
|
||||
## Tasks / Subtasks
|
||||
|
||||
- [] **Task 1 : Créer le router PHP** (AC: 2, 6)
|
||||
- [] Créer `includes/router.php`
|
||||
- [] Implémenter la classe Router
|
||||
- [] Méthode add() pour ajouter des routes
|
||||
- [] Méthode resolve() pour matcher une URL
|
||||
- [] Méthode dispatch() pour exécuter la route
|
||||
- [x] **Task 1 : Créer le router PHP** (AC: 2, 6)
|
||||
- [x] Créer `includes/router.php`
|
||||
- [x] Implémenter la classe Router
|
||||
- [x] Méthode add() pour ajouter des routes
|
||||
- [x] Méthode resolve() pour matcher une URL
|
||||
- [x] Méthode dispatch() pour exécuter la route
|
||||
|
||||
- [] **Task 2 : Configurer les routes** (AC: 3, 4)
|
||||
- [] Route `/` → pages/home.php
|
||||
- [] Route `/projets` → pages/projects.php
|
||||
- [] Route `/projet/{slug}` → pages/project-single.php
|
||||
- [] Route `/competences` → pages/skills.php
|
||||
- [] Route `/a-propos` → pages/about.php
|
||||
- [] Route `/contact` → pages/contact.php
|
||||
- [x] **Task 2 : Configurer les routes** (AC: 3, 4)
|
||||
- [x] Route `/` → pages/home.php
|
||||
- [x] Route `/projets` → pages/projects.php
|
||||
- [x] Route `/projet/{slug}` → pages/project-single.php
|
||||
- [x] Route `/competences` → pages/skills.php
|
||||
- [x] Route `/a-propos` → pages/about.php
|
||||
- [x] Route `/contact` → pages/contact.php
|
||||
|
||||
- [] **Task 3 : Créer la page 404** (AC: 5)
|
||||
- [] Créer `pages/404.php`
|
||||
- [] Design cohérent avec le site
|
||||
- [] Lien retour vers l'accueil
|
||||
- [x] **Task 3 : Créer la page 404** (AC: 5)
|
||||
- [x] Créer `pages/404.php`
|
||||
- [x] Design cohérent avec le site
|
||||
- [x] Lien retour vers l'accueil
|
||||
|
||||
- [] **Task 4 : Configurer le serveur** (AC: 1)
|
||||
- [] Créer `.htaccess` pour Apache
|
||||
- [] Documenter la config nginx équivalente
|
||||
- [x] **Task 4 : Configurer le serveur** (AC: 1)
|
||||
- [x] Créer `.htaccess` pour Apache
|
||||
- [x] Documenter la config nginx équivalente
|
||||
|
||||
- [] **Task 5 : Mettre à jour index.php**
|
||||
- [] Inclure le router
|
||||
- [] Définir toutes les routes
|
||||
- [] Appeler dispatch()
|
||||
- [x] **Task 5 : Mettre à jour index.php**
|
||||
- [x] Inclure le router
|
||||
- [x] Définir toutes les routes
|
||||
- [x] Appeler dispatch()
|
||||
|
||||
## Dev Notes
|
||||
|
||||
@@ -215,36 +215,38 @@ if (!$project) {
|
||||
## Dev Agent Record
|
||||
|
||||
### Agent Model Used
|
||||
Claude Opus 4.5 (claude-opus-4-5-20251101)
|
||||
GPT-5 Codex
|
||||
|
||||
### File List
|
||||
| File | Action | Description |
|
||||
|------|--------|-------------|
|
||||
| `includes/router.php` | Created | Router PHP simple (43 lignes) |
|
||||
| `includes/router.php` | Created | Router PHP simple |
|
||||
| `index.php` | Modified | Converti en front controller |
|
||||
| `.htaccess` | Created | Réécriture URLs Apache |
|
||||
| `pages/home.php` | Created | Page d'accueil |
|
||||
| `pages/projects.php` | Created | Page liste projets (placeholder) |
|
||||
| `pages/project-single.php` | Created | Page projet individuel |
|
||||
| `pages/skills.php` | Created | Page compétences (placeholder) |
|
||||
| `pages/about.php` | Created | Page à propos (placeholder) |
|
||||
| `pages/contact.php` | Created | Page contact (placeholder) |
|
||||
| `pages/404.php` | Created | Page erreur 404 |
|
||||
| `tests/router.test.php` | Created | Tests du router |
|
||||
| `tests/router.test.ps1` | Created | Vérif .htaccess |
|
||||
| `tests/run.ps1` | Modified | Ajout tests router |
|
||||
|
||||
### Completion Notes
|
||||
- Router PHP léger (43 lignes < 50 requis)
|
||||
- Router PHP léger (< 50 lignes)
|
||||
- Support des paramètres dynamiques {slug}
|
||||
- Trailing slash normalisé automatiquement
|
||||
- 404 pour routes inconnues
|
||||
- Pages placeholder créées pour futures stories
|
||||
- Tous les tests du router passent (8/8)
|
||||
- Tests: `powershell -ExecutionPolicy Bypass -File tests/run.ps1`
|
||||
|
||||
### Debug Log References
|
||||
Aucun problème rencontré.
|
||||
Aucun problème bloquant.
|
||||
|
||||
## Change Log
|
||||
|
||||
| Date | Version | Description | Author |
|
||||
|------|---------|-------------|--------|
|
||||
| 2026-01-22 | 0.1 | Création initiale | Sarah (PO) |
|
||||
| 2026-01-23 | 1.0 | Implémentation complète | James (Dev) |
|
||||
| 2026-02-04 | 1.0 | Implémentation complète | Amelia |
|
||||
|
||||
Reference in New Issue
Block a user