
TribuneJustice
Plateforme legaltech conçue et développée pour un expert juridique : escrow, consultations vidéo, messagerie temps réel, bilingue FR/EN — 41 vulnérabilités fermées, LCP de 5 s à 1,5 s.
Mon rôle
Tech Lead
Période
Novembre 2025 — en cours
Failles colmatées
Deux campagnes d'audit (pentest externe + revue interne), fermées avant toute exploitation
Incident post-déploiement
Déploiements zero-downtime avec auto-récupération des caches périmés
Temps de recherche avocat
Indexation Typesense facettée : spécialité, ville, disponibilité
Refonte frontend
Service d'authentification monolithique découpé en 4 services Angular Signals
TribuneJustice connecte des clients à des avocats certifiés, avec paiements en escrow, consultations vidéo et suivi de dossiers en temps réel. C'est le produit digital de M. Badjeu Kuitchouha Ghislain, expert juridique, qui en a eu l'idée et rédigé les spécifications ; j'ai été consulté pour le construire. J'ai dirigé et réalisé toute la technique — backend Laravel, frontend Angular SSR, blog Next.js — pendant 8 mois. Deux campagnes d'audit (pentest externe + revue interne) ont ensuite identifié 41 failles : toutes fermées sans interrompre les utilisateurs actifs.
01. Le Contexte — Le produit digital d'un expert juridique
TribuneJustice est le produit digital de M. Badjeu Kuitchouha Ghislain, expert juridique : il en a eu l'idée et rédigé les spécifications. Il m'a consulté pour construire la plateforme — j'ai conçu le modèle de données (MCD), l'architecture, le backend Laravel, le frontend Angular et le blog Next.js, livrés en 8 mois (~1 650 interventions), en échangeant avec lui sur chaque décision produit. Dans un domaine qui exige une confidentialité absolue et une intégrité financière irréprochable, la sécurité ne peut pas être un après-coup : après le lancement, nous avons fait auditer la plateforme par un pentest externe puis une revue interne. Verdict : 41 failles — SSRF sur le proxy d'images du blog, sessions Redis sans TTL, service d'authentification monolithique de 594 lignes. Chaque mise à jour menaçait d'interrompre les parcours d'escrow en cours.
"En legaltech, la faille de sécurité d'aujourd'hui est le procès de demain. Construire pour un client, c'est livrer un produit qui survit à ses propres audits."
02. Construction, Refonte & Durcissement
J'ai traité les 41 failles sans interrompre l'activité. Côté backend, les transactions financières ont été encapsulées dans des verrous pessimistes (lockForUpdate) reliés à la machine à états Laravel déterministe de la Service Request — l'entité centrale qui porte le cycle de vie complet du dossier : création, assignment, suivi, paiement, résolution. Côté frontend, le service d'authentification monolithique (594 lignes, 87 consommateurs) a été découpé en 4 services TypeScript spécialisés basés sur les Angular Signals. En parallèle, la recherche SQL lente a été remplacée par un index Typesense.
Machine à états & verrous pessimistes
Élimine les race conditions sur les paiements en escrow lors des demandes simultanées.
Frontend découplé (Angular Signals)
4 services spécialisés — état, API, token, permissions — avec typage strict et gestion fine des états.
Hardening OWASP Top 10
SSRF par listes blanches, headers CSP/HSTS, sessions à TTL borné, cookies JWT HTTP-only, mode sudo.
Moteur de recherche Typesense
Filtrage des avocats par spécialité, ville et disponibilité en moins de 300 ms.
03. Impact & Résultats Métier
Le déploiement global s'est effectué sans la moindre minute d'arrêt. La charge serveur a été considérablement allégée (suppression des requêtes N+1, cache Redis sur 10 endpoints clés). Le chargement est passé de 5 secondes à moins de 1,5 seconde (LCP), les images de 68 Mo à 3,9 Mo (−94 % en WebP). La plateforme est désormais hautement évolutive : 3 nouveaux modules métier ont été intégrés sans régression.
Un projet similaire ?
Parlons de votre besoin. Je reviens sous 24h avec une analyse concrète.
