lami1a logo

statuts & projects

Rapport d'estimation — www.liismaiil.org

Rapport d'estimation — www.liismaiil.org

Document préparé le : 2 août 2026

Destinataires : Associés / Investisseurs

Objet : Évaluation technique, architecture applicative et estimation financière du projet


Vue d'ensemble du projet

www.liismaiil.org est une plateforme de suivi et d'évaluation de stages/programmes internes, développée de juillet 2023 à mars 2026, couvrant :

  • Un espace de gestion des stagiaires (interns) avec statistiques hôte/invité
  • Un module de progression (stages) avec plateaux d'évaluation interactifs (drag & drop), minuteur et étapes guidées
  • Un module d'analyse (insight) avec visualisations de données custom (D3.js)
  • Un espace marketing public avec abonnement payant (Stripe)
  • Une intégration cartographique (Google Maps)

L'architecture s'appuie sur les route groups et parallel routes du Next.js App Router — un pattern avancé qui permet de charger plusieurs vues indépendantes (statistiques, templates, étapes) en parallèle sur une même page.


Architecture applicative — routes et patterns

Routes constatées dans le code

RouteGroupeRôle
/racinePage d'accueil
/interns(dashbord)Dashboard de suivi des stagiaires — statistiques hôte/invité
/insight(progress)Analyse de données — parallel routes @souras et @template chargées simultanément
/stages(progress)Suivi de progression — parallel route @steps pour les étapes d'évaluation
/subscription + /subscription/success(marketing)Tunnel d'abonnement payant (Stripe)
/about(marketing)Présentation publique
/confidentialite(marketing)Page légale

Le recours aux parallel routes (@souras, @template, @steps) sur /insight et /stages est une technique avancée du App Router : plusieurs "slots" indépendants sont rendus en même temps dans le même layout (par exemple les statistiques et le template de référence s'affichent côte à côte sans se bloquer mutuellement au chargement), ce qui complexifie l'architecture mais améliore nettement l'expérience utilisateur.

Modules de composants (50 composants React)

DossierContenu
components/internsStatistiques hôte/invité, vue D3 dédiée (InternsD3ViewWrapper)
components/insightVisualisations D3 (barres, catégories), templates, menu d'analyse
components/stage / components/spacePlateaux d'évaluation interactifs : EvalDragOrderBoard (classement par glisser-déposer), EvalClickBoard, EvalSuits, minuteur (timer/useLaunch), étapes guidées (StageSteps, StagesRehearsal)
components/mapsCarte interactive Google Maps (@vis.gl/react-google-maps)
components/authAuthentification (Firebase Auth + JWT)
components/frontNavigation, footer, tracking analytics, thème
components/organisation, components/liismaiil, components/presentation, components/search, components/sharedComposants transverses (organisation des données, présentation, recherche)

Visualisations de données — D3.js

Le module d'analyse ne s'appuie pas sur une librairie de graphiques prête à l'emploi mais sur D3.js directement, ce qui implique un travail de construction manuelle des visualisations (échelles, axes, transitions) :

  • InternsD3ViewWrapper.tsx — vue D3 dédiée au suivi des stagiaires
  • InsightBars.tsx, InsightCategories.tsx — graphiques en barres et par catégories
  • StatSouraDialog.tsx, WindowDialog.tsx — fenêtres de détail statistique
  • GuestStats.tsx, HostInterns.tsx, Interns.tsx — tableaux de bord associés

Plateaux d'évaluation interactifs

Les modules stage et space implémentent des interactions riches, plus coûteuses en développement qu'un simple formulaire :

  • Drag & drop de classement (EvalDragOrderBoard)
  • Sélection par clic (EvalClickBoard) et suites d'évaluation (EvalSuits)
  • Minuteur dédié aux sessions d'évaluation (timer/useLaunch.ts)
  • Parcours guidé par étapes (StageSteps, StagesRehearsal, OpenBoard)

Volume et complexité technique

Chiffres mesurés directement sur le codebase

IndicateurValeur
Fichiers source (TypeScript + React)129 fichiers
Lignes de code~14 200 lignes
Pages et routes10 routes (dont 3 slots de parallel routes) + 3 endpoints API
Composants React50 composants
Composants connectés au store (Redux)35 composants
Slices de state management (Redux)3 slices (stageSlice, guestPrismaSlice, searchSlice)
Fichiers utilisant Firebase/Firestore4 fichiers
Fichiers liés au paiement Stripe11 fichiers
Tests E2E Playwright6 suites (accueil, navigation, paiement, connexion, abonnement, smoke test)
Dépendances65 packages (45 production + 20 dev)

Stack technique

CoucheTechnologieUsage
FrameworkNext.js 14 (App Router)Route groups + parallel routes
InterfaceHeroUI + Tailwind CSS + Framer MotionDesign system + animations
StateRedux ToolkitGestion d'état globale
Base de donnéesFirebase/Firestore + Prisma (SQL)Architecture hybride, migration de données en cours (scripts d'export/synchronisation Firestore ↔ SQL)
AuthentificationFirebase Auth + JWT customapp/api/lib/authJwt.ts
PaiementStripe (checkout + session + webhooks)Abonnement récurrent
Visualisation de donnéesD3.jsGraphiques et tableaux de bord custom
CartographieGoogle Maps (@vis.gl/react-google-maps)Intégration carte interactive
TestsPlaywrightE2E automatisé (6 suites)
TypageTypeScript strict~97% du codebase (3 fichiers .jsx restants)

Note architecture : la présence de scripts dédiés (migrate:statistics, check:statistics, check:coherence, export:firestore) et de fichiers *-backup.json dans prisma/ indique un travail de migration de données de Firestore vers une base SQL (Prisma), avec des outils de vérification de cohérence — un chantier technique généralement plus long qu'une simple intégration de base de données neuve.


Estimation financière

Méthodologie

Estimation basée sur le volume de code mesuré, la complexité des modules interactifs (D3, drag & drop) et les standards du marché pour un développeur senior full-stack (React / Next.js / Firebase / Prisma).

Décomposition par module

ModuleHeures
Architecture Next.js App Router (route groups, parallel routes, middleware)40h
Authentification et gestion des profils (Firebase Auth + JWT)60h
Abonnement & paiement Stripe (checkout, session, webhooks)70h
Dashboard interns (statistiques hôte/invité + vue D3)130h
Module insight (visualisations D3 custom)140h
Module stages (plateaux d'évaluation drag & drop, minuteur, étapes)150h
Intégration cartographie Google Maps40h
Migration & synchronisation Firestore ↔ Prisma/SQL60h
Tests E2E Playwright (6 suites)30h
Qualité du code (TypeScript, ESLint, nettoyage)40h
Total760 heures

Équivalent : 95 jours de travail (base 8h/jour) soit environ 4,5 mois pour un développeur à temps plein.

Valorisation selon profil et marché

ProfilTarif journalierEstimation totale
Développeur senior — France (freelance)600 €/j57 000 €
Agence web — France800 €/j76 000 €
Développeur senior — Europe (freelance)400 €/j38 000 €
Développeur senior — Maghreb (freelance)250 €/j24 000 €

Comparaison avec le marché

Type de projet comparableFourchette marché
SaaS B2B avec dashboard et abonnement15 000 € — 35 000 €
Plateforme avec visualisations de données custom (D3)25 000 € — 45 000 €
Application avec cartographie interactive20 000 € — 35 000 €
www.liismaiil.org (cumul des trois + interactions drag & drop + migration de données)45 000 € — 70 000 €

Résumé exécutif

Ce que représente ce projet

www.liismaiil.org est une plateforme de suivi et d'évaluation avec des interactions riches, au-delà d'un simple CRUD :

  1. Un dashboard temps réel — statistiques hôte/invité sur les stagiaires
  2. Des visualisations de données custom en D3.js — pas de librairie clé-en-main, construction manuelle des graphiques
  3. Des plateaux d'évaluation interactifs — glisser-déposer, minuteur, parcours par étapes
  4. Un abonnement payant Stripe — tunnel complet checkout + webhooks
  5. Une architecture Next.js avancée — route groups et parallel routes pour des vues indépendantes chargées simultanément
  6. Une migration de données en cours — de Firestore vers une base SQL via Prisma, avec outils de vérification de cohérence

Indicateurs vérifiables statiquement

(Aucun audit Lighthouse live n'a été lancé pour ce rapport — les indicateurs ci-dessous sont uniquement ceux vérifiables directement dans le code, sans exécuter l'application.)

CritèreRésultat
TypeScript strict (tsconfig strict: true)🟢 Activé
Part du codebase en TypeScript🟢 ~97% (3 fichiers .jsx sur 117)
Tests E2E Playwright présents🟢 6 suites (accueil, navigation, paiement, connexion, abonnement, smoke)
Configuration ESLint🟢 Présente (.eslintrc.json, next lint)
Durée du projet🔵 Juillet 2023 → Mars 2026

Estimation finale

Entre 45 000 € et 70 000 € selon les standards du marché français, pour une application développée par 2 contributeurs principaux sur 32 mois.


Rapport généré le 2 août 2026 — données extraites directement du codebase (comptages de fichiers, lignes, dépendances, routes) Aucun audit Lighthouse ou build n'a été exécuté pour produire ce rapport — voir section "Indicateurs vérifiables statiquement"