✨ Story 3.1: data projects json
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
## Status
|
||||
|
||||
Ready for Dev
|
||||
review
|
||||
|
||||
## Story
|
||||
|
||||
@@ -20,27 +20,27 @@ Ready for Dev
|
||||
|
||||
## Tasks / Subtasks
|
||||
|
||||
- [] **Task 1 : Définir la structure JSON** (AC: 2)
|
||||
- [] Documenter tous les champs requis et optionnels
|
||||
- [] Définir les types de données pour chaque champ
|
||||
- [] Définir les valeurs possibles pour category
|
||||
- [x] **Task 1 : Définir la structure JSON** (AC: 2)
|
||||
- [x] Documenter tous les champs requis et optionnels
|
||||
- [x] Définir les types de données pour chaque champ
|
||||
- [x] Définir les valeurs possibles pour category
|
||||
|
||||
- [] **Task 2 : Créer le fichier projects.json** (AC: 1, 3)
|
||||
- [] Créer `data/projects.json`
|
||||
- [] Ajouter 2-3 projets de test
|
||||
- [] Valider la syntaxe JSON
|
||||
- [x] **Task 2 : Créer le fichier projects.json** (AC: 1, 3)
|
||||
- [x] Créer `data/projects.json`
|
||||
- [x] Ajouter 2-3 projets de test
|
||||
- [x] Valider la syntaxe JSON
|
||||
|
||||
- [] **Task 3 : Créer les fonctions PHP d'accès** (AC: 4, 5)
|
||||
- [] Créer `loadJsonData()` générique
|
||||
- [] Créer `getProjects()`
|
||||
- [] Créer `getProjectsByCategory()`
|
||||
- [] Créer `getProjectBySlug()`
|
||||
- [] Gérer les erreurs (fichier manquant, JSON invalide)
|
||||
- [x] **Task 3 : Créer les fonctions PHP d'accès** (AC: 4, 5)
|
||||
- [x] Créer `loadJsonData()` générique
|
||||
- [x] Créer `getProjects()`
|
||||
- [x] Créer `getProjectsByCategory()`
|
||||
- [x] Créer `getProjectBySlug()`
|
||||
- [x] Gérer les erreurs (fichier manquant, JSON invalide)
|
||||
|
||||
- [] **Task 4 : Tester les fonctions**
|
||||
- [] Tester avec fichier valide
|
||||
- [] Tester avec fichier manquant
|
||||
- [] Tester avec JSON invalide
|
||||
- [x] **Task 4 : Tester les fonctions**
|
||||
- [x] Tester avec fichier valide
|
||||
- [x] Tester avec fichier manquant
|
||||
- [x] Tester avec JSON invalide
|
||||
|
||||
## Dev Notes
|
||||
|
||||
@@ -209,27 +209,29 @@ function getAllTechnologies(): array
|
||||
## Dev Agent Record
|
||||
|
||||
### Agent Model Used
|
||||
Claude Opus 4.5 (claude-opus-4-5-20251101)
|
||||
GPT-5 Codex
|
||||
|
||||
### File List
|
||||
| File | Action | Description |
|
||||
|------|--------|-------------|
|
||||
| `data/projects.json` | Created | Fichier JSON avec 3 projets de test |
|
||||
| `includes/functions.php` | Modified | Ajout des fonctions d'accès aux données JSON |
|
||||
| `tests/projects.test.php` | Created | Tests fonctions JSON |
|
||||
| `tests/run.ps1` | Modified | Ajout tests JSON |
|
||||
|
||||
### Completion Notes
|
||||
- Structure JSON complète avec tous les champs requis et optionnels
|
||||
- 3 projets de test ajoutés (2 vedettes, 1 secondaire)
|
||||
- Fonctions PHP: `loadJsonData()`, `getProjects()`, `getProjectsByCategory()`, `getProjectBySlug()`, `getAllTechnologies()`
|
||||
- Gestion des erreurs: fichier manquant et JSON invalide retournent tableau vide avec log
|
||||
- Tous les tests passent (8/8)
|
||||
- Tests: `powershell -ExecutionPolicy Bypass -File tests/run.ps1`
|
||||
|
||||
### Debug Log References
|
||||
Aucun problème rencontré.
|
||||
Aucun problème bloquant (BOM retiré de `data/projects.json`).
|
||||
|
||||
## 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