Architecture#Architecture ## Overview ```text Navigateur ↓ Nginx :8080 ├── SPA React / TypeScript / Vite / Material UI └── API Symfony / PHP-FPM ├── PostgreSQL ├── Redis → Symfony Messenger ├── stockage documentaire privé └── SMTP / Gmail API / Microsoft Graph ``` Nginx is the single entry point to the compose. PostgreSQL is the source of truth. Redis uses AOF and transports messages asynchronously. ## Secure feed Symfony checks JWT signature, session, account activity and role. The controller resolves each relationship in the current organization; repositories filter reads by tenant. The audit log records sensitive mutations. ## Roles and documents `SUPER_ADMIN → ADMIN → RISK_MANAGER → VIEWER`. `AUDITOR` and `ACTION_OWNER` inherit reading. The documents add ACLs `READ`, `EDIT`, and `MANAGE`. ## Evolution rules Any resource must filter by organization, revalidate relationships, authorize API side, log mutations, migrate schema, and p