Aller au contenu

Audit Dynamique Frontend (Tech + Immo)

Date d'audit : Mars 2026
Scope : apps/drwh_tech + apps/drwh_immo

Cet audit inventorie les contenus actuellement codés en dur dans les deux sites et ceux qui doivent être exposés via l'API backend pour rendre le site entièrement dynamique.


Résumé exécutif

pie title Répartition des contenus (Mars 2026)
    "Statique (hardcodé)" : 70
    "Dynamique (API réelle)" : 15
    "Mock/Simulé" : 15

!!! warning "État actuel" - Les deux frontends utilisent majoritairement des données codées en dur (articles, projets, services, jobs, FAQ, testimonials, stats) - Les formulaires contact et carrière simulent l'envoi (pas d'appel API réel) - Côté Immo, un client API existe pour les propriétés — avec mode mock


État par domaine

drwh_tech — Contenus statiques détectés

Contenu Fichier Priorité API à implémenter
Blog listing src/app/blog/page.tsx P1 GET /blog/articles
Blog détail src/app/blog/[slug]/page.tsx P1 GET /blog/articles/:slug
Services src/app/services/page.tsx P1 GET /services
Services section homepage src/components/ServicesSection.tsx P1 GET /services
Réalisations/Works src/components/WorksSection.tsx P2 GET /works
Carrières listing src/app/carriere/page.tsx P1 GET /careers?domain=tech
Carrière détail src/app/carriere/[slug]/page.tsx P1 GET /careers/:slug
Formulaire contact src/app/contact/page.tsx P0 POST /contact/tech
Formulaire carrière src/app/carriere/[slug]/page.tsx P0 POST /careers/:slug/apply
Témoignages src/components/TestimonialsSection.tsx P2 GET /testimonials?domain=tech
Stats (chiffres clés) src/components/WorksSection.tsx P2 GET /works/stats

drwh_immo — Contenus statiques détectés

Contenu Fichier Priorité API à implémenter
Propriétés src/lib/data/properties.ts P0 GET /properties
Propriétés constants src/lib/constants.ts P0 GET /properties/:id
Blog listing src/app/blog/page.tsx P1 GET /blog/articles?category=immo
Blog détail src/app/blog/[id]/page.tsx P1 GET /blog/articles/:id
Projets src/app/projets/page.tsx P1 GET /projects
Projet détail src/app/projets/[id]/page.tsx P1 GET /projects/:id
Lots src/lib/data/lots.ts P1 GET /lots
Formulaire contact src/app/contact/page.tsx P0 POST /contact/immo
Formulaire carrière src/app/carriere/ P0 POST /careers/:id/apply

Niveaux de priorité

graph LR
    P0[🔴 P0 — Critique\nFormulaires contact et carrière\nDonnées bloquantes] --> P1[🟠 P1 — Important\nBlog listings et détails\nServices et offres d'emploi]
    P1 --> P2[🟡 P2 — Confort\nTémoignages & statistiques\nRéalisations]
    style P0 fill:#e74c3c,color:#fff
    style P1 fill:#f39c12,color:#fff
    style P2 fill:#27ae60,color:#fff

P0 — Bloquants (à implémenter en premier)

Ces APIs sont critiques car leur absence bloque des fonctionnalités clés :

API Impact si absent
POST /contact/tech Les messages de contact Tech ne partent pas
POST /contact/immo Les messages de contact Immo ne partent pas
POST /careers/:slug/apply Impossible de postuler à une offre
GET /properties Le catalogue immobilier est vide

P1 — Important

API Composant impacté
GET /blog/articles?category=tech Blog Tech listing
GET /blog/articles/:slug Détail article Tech
GET /services Page services + homepage
GET /careers?domain=tech Page carrières Tech
GET /projects Liste des projets Immo
GET /lots Lotissement Immo

P2 — Confort

API Composant impacté
GET /testimonials?domain=tech Témoignages Tech
GET /works Réalisations Tech
GET /works/stats Chiffres clés homepage

Variables d'environnement concernées

# drwh_tech & drwh_immo
NEXT_PUBLIC_API_URL=http://localhost:3000/api   ← Pointe l'API backend
NEXT_PUBLIC_ENABLE_MOCKING=false                ← Désactiver le mock

Couches techniques en place

drwh_tech

src/lib/
├── public.service.ts     ← Appels API backend (liste, détail, contact)
└── fallback-content.ts   ← Données statiques de secours si API indisponible

Stratégie : Le frontnd appelle d'abord public.service.ts. Si l'API répond avec une erreur ou des données vides, il bascule sur fallback-content.ts.

drwh_immo

src/lib/api/
└── client.ts             ← Client API : GET /properties, /properties/:id, /properties/search

Feature flags disponibles :

  • NEXT_PUBLIC_ENABLE_MOCKING — Active les données mock
  • NEXT_PUBLIC_MOCK_DELAY — Délai simulé (ms)

Plan de migration vers 100% dynamique

flowchart TD
    A[1. Implémenter P0\nAPIs formulaires\ncritiques] --> B[2. Implémenter P1\nBlog + Services\n+ Offres d'emploi]
    B --> C[3. Activer les appels\nAPI en production\nENABLE_MOCKING=false]
    C --> D[4. Implémenter P2\nTémoignages + Stats\n+ Réalisations]
    D --> E[✅ Site 100% dynamique]
    style A fill:#e74c3c,color:#fff
    style B fill:#f39c12,color:#fff
    style C fill:#0066FF,color:#fff
    style D fill:#27ae60,color:#fff
    style E fill:#8e44ad,color:#fff

Liens complémentaires