Vue d'ensemble
Des maquettes Figma, des prototypes d'interaction et un fichier JSON. C'est tout ce qui existait au départ. Le défi : transformer ces éléments disparates en une application React fluide, fiable et suffisamment bien architecturée pour accueillir demain une vraie API — sans tout reconstruire.
Le projet
Refonte front-end complète en React : SPA responsive, routing, composants modulaires, gestion d'erreurs et styles Sass fidèles aux maquettes.
Le client
Kasa, acteur majeur de la location d'appartements entre particuliers. Une plateforme qui doit inspirer confiance dès le premier écran.
Le problème
Des maquettes et des données qui existaient séparément, sans architecture applicative. Pas de navigation réelle, pas de composants réutilisables, pas de logique front structurée.
L'objectif
Construire une application fidèle au design, robuste dans son comportement et conçue pour évoluer — du JSON local d'aujourd'hui à l'API de demain.
L'enjeu n'était pas de « faire du React ». Il était de construire une architecture front qui tient la route : composants réutilisables, comportements d'interface précis, gestion des cas limites et un code suffisamment propre pour qu'un autre développeur puisse le reprendre demain.
Résultats concrets
Design pixel-perfect
L'interface reproduit fidèlement les maquettes Figma et les prototypes d'interaction — sur mobile, tablette et desktop, sans compromis.
Composants prêts à scaler
Cards, Slideshow, Collapse, Layout : chaque composant est autonome, documenté et réutilisable. Ajouter un écran ne fragilise pas l'existant.
Navigation sans faille
Routing complet avec React Router : chaque page, chaque paramètre, chaque cas d'erreur (404, ID invalide) est géré proprement.
Architecture future-proof
Le jour où le JSON local est remplacé par une API, seule la couche de données change. Le reste de l'application tient — sans refactoring.
Avant / Après
Le problème
La difficulté de ce projet ne tenait pas au nombre d'écrans. Elle tenait à la rigueur nécessaire pour que chaque couche — données, composants, navigation, styles — fonctionne ensemble sans friction.
Concrètement, il fallait résoudre quatre défis simultanément :
- Fidélité au design sans rigidité — Reproduire les maquettes au pixel près tout en construisant un système suffisamment flexible pour évoluer au-delà du brief initial.
- Des composants qui tiennent en conditions réelles — Un Slideshow qui boucle sans bug, un Collapse qui s'anime proprement, des Cards qui s'adaptent à n'importe quel contenu.
- Un routing robuste jusqu'aux cas limites — Pas seulement les pages « heureuses ». Aussi les 404, les ID inexistants, les URL mal formées. C'est là que la plupart des projets cassent.
- Une architecture prête pour l'après — Le JSON local est un point de départ, pas une finalité. Le code devait être structuré pour que le passage à une API se fasse sans tout réécrire.
C'est cette combinaison d'exigences qui sépare un exercice d'intégration d'une vraie construction applicative.
Notre approche
Nous avons traité ce projet comme la construction d'un produit — pas comme un exercice de style React.
Architecture — Penser en système, pas en pages
- Découpage en composants autonomes avec des responsabilités claires
- Séparation stricte entre la couche de données (JSON), la logique applicative et le rendu
- Organisation des fichiers pensée pour la lisibilité et la maintenabilité à long terme
Composants — Construire pour réutiliser
- Slideshow avec navigation, boucle et gestion des cas à une seule image
- Collapse avec animation fluide et états ouverts/fermés
- Cards avec rendu dynamique adapté au contenu de chaque logement
- Layout partagé pour garantir la cohérence visuelle entre les pages
Routing — Gérer le prévisible et l'imprévisible
- React Router avec paramètres dynamiques pour les fiches logement
- Redirection 404 pour les routes inexistantes
- Gestion des ID invalides avec retour gracieux — pas d'écran blanc, pas de crash
Styles — Fidélité et maintenabilité
- Sass organisé en modules, aligné sur la structure des composants
- Responsive mobile-first fidèle aux maquettes Figma
- Pas de framework CSS — chaque ligne de style est intentionnelle
La qualité de ce projet ne vient pas de la stack. Elle vient de la discipline appliquée au découpage, à la gestion des états et à la solidité du comportement dans les cas que personne ne teste — mais que tout utilisateur finit par rencontrer.
Stack technique
- React
- React Router
- Sass (modules)
- JSON local (source de données)
- ESLint, Prettier, Stylelint (qualité de code)
- Git / GitHub
- Chrome DevTools
Le résultat
Le résultat est une application qui ressemble exactement aux maquettes — et qui fonctionne exactement comme un vrai produit. Pas un prototype, pas une démo : une SPA complète, robuste et prête à grandir.
- Une interface pixel-perfect sur tous les écrans — mobile, tablette, desktop
- Des composants modulaires que l'on peut réutiliser, étendre ou remplacer sans casser l'existant
- Un routing complet qui gère les parcours normaux et les cas d'erreur
- Un responsive fidèle aux maquettes Figma jusque dans les détails
- Un code propre, lisible et prêt à accueillir une API réelle sans refonte
L'application ne montre pas seulement des logements. Elle montre comment un front-end bien construit peut porter une expérience crédible — même à partir d'un simple fichier JSON.
Ce que ce projet révèle
Ce projet démontre une compétence essentielle : savoir construire un front-end qui ne se contente pas d'afficher des écrans, mais qui structure une vraie logique applicative — composants isolés, navigation robuste, gestion d'états cohérente et architecture pensée pour durer au-delà du brief initial.
Si vous avez des maquettes qui attendent de prendre vie, un front-end à structurer proprement ou un projet React qui a besoin de fondations solides — c'est exactement ce type de construction que nous maîtrisons.

