2025 — 2026
Amarris Immo
Développeur Full-Stack React · Symfony
- Secteur
- Gestion locative · Immobilier · LMNP
- Équipe
- 10 personnes
- Lieu
- Nantes · Full-remote
Deux SaaS immobiliers, dont un en solo : bundle JS −52 %, dette PHPStan à zéro, Symfony 7.4 / API Platform 4.
En bref
- Bundle JS initial −52 % (443 → 213 Ko gzip) par code splitting, malgré +16 % de code front
- PHPStan niveau 8 : 207 erreurs en baseline ramenées à 0
- Montée de version PHP 8.4, Symfony 7.4 LTS, Doctrine 3, API Platform 4.3
- Tests : front de 53 à 1 518 tests (couverture 30 → 74 %), back de 231 à 655 méthodes de test
- Refonte du moteur de facturation (pattern Strategy) et écrans de clôture comptable SCI
Groupe d’expertise comptable et de conseil. Mission au sein du pôle immobilier, sur deux applications SaaS de gestion locative et de gestion financière pour propriétaires (LMNP, LMP, SCI), utilisées par plusieurs milliers de clients.
Contexte
Intervention sur deux projets en parallèle : Immo-GL (gestion locative, seul développeur full-stack du projet, 96 % des commits sur la période) et Immo-Solo (gestion financière et clôture comptable, développeur front-end React dans une équipe de 8 développeurs, 1 PO et 1 designer).
Point de départ sur Immo-GL : un bundle front monolithique, 207 erreurs PHPStan neutralisées en baseline, une couverture de tests faible et une stack en retard de plusieurs versions majeures.
Objectif : sur Immo-GL, reprendre seul une application en production auprès de plusieurs milliers de clients pour la rendre plus rapide, plus sûre à faire évoluer et à jour de ses versions LTS, tout en livrant les évolutions métier (facturation, baux) ; sur Immo-Solo, livrer au sein de l’équipe front les écrans de clôture comptable des SCI.
Stack : front-end React 18/TypeScript avec Material-UI, React Query et Vite, back-end PHP 8.4/Symfony 7.4 avec API Platform (JSON-LD), PostgreSQL 16, Docker. Tests PHPUnit et Jest, analyse statique PHPStan.
Réalisations
Immo-GL
- Performance front : passage d’un bundle monolithique à 37 chunks, 9 routes en chargement différé ; bundle d’entrée réduit de 52 % (443 → 213 Ko gzip, 1 450 → 658 Ko brut), mesuré sur les builds Vite réels avant/après
- Montée de version complète : PHP 8.3 → 8.4, Symfony 6.4 → 7.4 LTS, Doctrine ORM 2 → 3, DBAL 3 → 4, API Platform 3.2 → 4.3, PHPUnit 10.2 → 11.5, sur 26 migrations Doctrine, configurations Docker et CI comprises
- Qualité statique : PHPStan niveau 8, 207 erreurs de la baseline corrigées en 7 lots, fichier de baseline supprimé
- Tests : front de 53 à 1 518 tests (12 → 103 suites), couverture des lignes de 30 à 74 % ; back de 231 à 655 méthodes de test (1 412 tests, 4 394 assertions)
- Analyse et refonte du moteur de facturation : étude du système existant (factures, prorata, révisions de loyer, régularisations de charges), architecture fondée sur le pattern Strategy avec calculateurs priorisés et registre
- Audit de performance back : requêtes N+1, index manquants en base
- Refactoring front-end : simplification du tunnel de création de baux, sortie progressive de Recoil, refonte de la gestion d’erreurs des formulaires
- Audit qualité : violations DRY et SRP identifiées, plan de refactoring priorisé par retour sur investissement, guide de bonnes pratiques React/Vite
- Correction de bugs critiques en production (prorata, PDF de quittances, autorisations des garants)
- Génération de documents PDF (quittances, factures) via DomPDF et stockage objet MinIO
Immo-Solo
- Écrans de clôture comptable SCI : génération des documents de clôture (PV d’AG, rapports de gestion, cerfa), gestion des statuts et des workflows d’envoi de la liasse fiscale
- Migration du parcours de clôture en 6 phases : extraction de la logique de validation, nouveau stepper, statuts d’envoi, fenêtres de confirmation
- Cessation et cession de bien : blocage des biens cédés ou en cessation d’activité, gestion des états et des traductions
- Refactoring des formulaires : harmonisation de la gestion d’erreurs (React Hook Form et Yup), patterns réutilisables pour les formulaires complexes
- Internationalisation (i18next) et cohérence des clés de traduction
Résultats
- Chargement initial allégé de 52 % alors que la base de code front a grossi de 16 % sur la même période
- Dette statique éteinte (207 → 0 erreurs PHPStan) et stack entièrement à jour sur les versions LTS
- Filet de sécurité multiplié : ×28 sur les tests front, ×2,8 sur les méthodes de test back
- 1 134 commits (503 back, 631 front) : application full-stack tenue en autonomie complète, en production auprès de plusieurs milliers d’utilisateurs
- Fonctionnalités de clôture SCI livrées : les utilisateurs génèrent leurs documents fiscaux directement depuis l’application
Un besoin similaire ?
Parlons de votre projet et voyons comment je peux vous aider, en full-remote.