Story 3.1: data projects json

This commit is contained in:
2026-02-04 17:03:04 +01:00
parent c9369df683
commit d520fe848f
5 changed files with 185 additions and 23 deletions

View File

@@ -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 |