← Retour au portfolio
💼 Projet client

🏠 GEST'IMMO

Site vitrine public et un gros intranet métier pour un réseau immobilier de 500+ conseillers.

Mission freelance · 1 an

Le projet

Gest'immo France est un réseau immobilier qui compte plus de 500 conseillers. La mission couvrait le site vitrine public (présentation des services, formulaire de contact, interface moderne) mais surtout un intranet métier complet pour gérer le quotidien du réseau. C'est de loin la plus grosse partie du projet, avec énormément de règles métier. Pour donner une idée, l'intranet réunit une trentaine de modèles, une cinquantaine de migrations et une vingtaine de services métier, construits sur plusieurs mois. Seul le site vitrine est accessible ici, l'intranet restant confidentiel.

Fonctionnalités clés

  • Site vitrine responsive avec formulaire de contact
  • Intranet métier confidentiel (accès privé) avec beaucoup de logique métier
  • Devis et factures : statuts, remises, conditions de paiement, numérotation automatique et export PDF
  • Module de signature électronique développé en interne (workflow public sécurisé par token et code à 6 chiffres, multi-signataires, positionnement des zones, hachage SHA256 des documents)
  • Espace RH et recrutement : formations, demandes avec validation et suivi des candidatures
  • Reporting URSSAF avec exports CSV et PDF, simulations et tarifications
  • Commandes de communication, catalogue de services et mini-sites pour les conseillers
  • Tableaux de bord adaptés au rôle (admin, manager, collaborateur)
  • Rôles et permissions par entité, journal d'activité complet pour l'audit

Architecture & choix techniques

Côté code, j'ai gardé une organisation en couches avec des services métier, des DTO, des Enums, des Form Requests pour la validation et des Policies pour les droits. Des events et leurs listeners gèrent les notifications par mail et l'audit, et les routes sont découpées par rôle. Côté déploiement, j'ai mis en place un pipeline GitLab en plusieurs étapes. D'abord une étape qualité qui fait tourner PHPStan niveau 7, Laravel Pint et le build des assets, puis une étape de tests PHPUnit sur une base MySQL dédiée avec suivi de la couverture. Le déploiement en production commence toujours par un backup complet de la base MySQL, passe le site en mode maintenance, envoie le code par rsync, optimise les caches et joue les migrations. Un job de rollback manuel permet de restaurer le dernier backup en cas de souci. C'est un projet qui m'a pris du temps mais qui est vraiment abouti et robuste.