Pimili est une stack entièrement neuve : clients modernes, API en microservices, identité standard. Voici le schéma et les briques — volontairement à un niveau produit, sans détail d’implémentation sensible.
Mobile / Backoffice
│
▼
Passerelle API ←→ Fournisseur d’identité (OIDC)
│
▼
BFF
│
├── Service comptes
├── Service contrats
└── Service référentiel
(PostgreSQL par service)
Application mobile
Expo, React Native, TypeScript, Tamagui
Parcours employeur et assistant(e) maternel(le) : compte, profil, contrat.
Backoffice
React, Vite, TypeScript, MUI
Administration et opérations internes.
Passerelle API
Point d’entrée unique, validation des jetons
Expose la surface publique documentée (OpenAPI). Les clients n’appellent pas les microservices directement.
Fournisseur d’identité
OpenID Connect / JWT
Authentification des comptes ; clients distincts pour le mobile et le backoffice.
BFF
Node.js, TypeScript, Fastify
Façade : compose et relaie les appels vers les services métier.
Service comptes
PHP, Symfony, API Platform, Doctrine
Comptes, personnes, profils employeur / AM, agréments, inscription.
Service contrats
PHP, Symfony, API Platform, Doctrine
Domaine contrat de travail (agrégat et sections associées).
Service référentiel
PHP, Symfony, API Platform, Doctrine
Nomenclatures partagées (départements, PMI, vacances scolaires, …).
Bases de données
PostgreSQL
Une base par service métier, plus le stockage du fournisseur d’identité.
Exécution locale
Docker Compose
Stack complète en conteneurs pour le développement et les tests.
Tests
PHPUnit (services), tests Node (BFF), Playwright (parcours API)
Chaque évolution de comportement s’accompagne de tests ; les parcours publics sont vérifiés de bout en bout via la passerelle.
Contrat d’API
OpenAPI 3.1, catalogue de codes d’erreur
La surface exposée aux clients est documentée et versionnée avec le produit.