📦 Feature: Structure données JSON projets + Navigation rapide

- Ajout data/projects.json avec 3 projets de test
- Fonctions PHP: loadJsonData, getProjects, getProjectsByCategory, getProjectBySlug, getAllTechnologies
- Gestion erreurs fichier manquant/JSON invalide
- Section navigation rapide sur page d'accueil (Projets, Compétences, Me Découvrir)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-22 23:54:26 +01:00
parent e19c60c19b
commit a4a41933c4
3 changed files with 193 additions and 0 deletions

55
data/projects.json Normal file
View File

@@ -0,0 +1,55 @@
{
"projects": [
{
"id": 1,
"title": "Site E-commerce XYZ",
"slug": "ecommerce-xyz",
"category": "vedette",
"thumbnail": "ecommerce-xyz-thumb.webp",
"url": "https://example.com",
"github": "https://github.com/user/project",
"technologies": ["PHP", "JavaScript", "Tailwind CSS", "MySQL"],
"context": "Client souhaitant moderniser sa boutique en ligne pour améliorer l'expérience utilisateur et augmenter les conversions.",
"solution": "Développement d'une solution e-commerce sur mesure avec panier persistant, paiement sécurisé Stripe, et interface d'administration.",
"teamwork": "Projet réalisé en collaboration avec un designer UI/UX. J'ai pris en charge l'intégration et le développement backend.",
"duration": "3 mois",
"screenshots": [
"ecommerce-xyz-screen-1.webp",
"ecommerce-xyz-screen-2.webp",
"ecommerce-xyz-screen-3.webp"
]
},
{
"id": 2,
"title": "Application de Gestion",
"slug": "app-gestion",
"category": "vedette",
"thumbnail": "app-gestion-thumb.webp",
"url": null,
"github": "https://github.com/user/app-gestion",
"technologies": ["React", "Node.js", "PostgreSQL", "Docker"],
"context": "Startup ayant besoin d'un outil interne pour gérer ses ressources et planifier ses projets.",
"solution": "Application web full-stack avec authentification, gestion des rôles, tableaux de bord et exports PDF.",
"teamwork": null,
"duration": "4 mois",
"screenshots": [
"app-gestion-screen-1.webp"
]
},
{
"id": 3,
"title": "Site Vitrine Restaurant",
"slug": "restaurant-vitrine",
"category": "secondaire",
"thumbnail": "restaurant-thumb.webp",
"url": "https://restaurant-example.com",
"github": null,
"technologies": ["HTML", "CSS", "JavaScript"],
"context": "Restaurant local souhaitant une présence en ligne simple.",
"solution": null,
"teamwork": null,
"duration": "2 semaines",
"screenshots": []
}
]
}