đ§© Mendix â RAD / Low-Code (Business Apps & SI)
Positionnement IDEO-Lab : WinDev + BPM/workflows + gouvernance âenterpriseâ. Page densifiĂ©e : modĂ©lisation (domain/UI), logique (microflows/nanoflows), collaboration mĂ©tier/dev, ALM, CI/CD, dĂ©ploiements cloud/on-prem.
Mendix en bref
RAD / Low-Code orienté SI : vitesse + gouvernance + collaboration métier/dev.
Low-CodeBusiness AppsSIComposants & tooling
Studio Pro (IDE), Portal/Dev Portal, Team Server, monitoring/runtime, marketplace.
Studio ProPortalTeam ServerModélisation visuelle
Domain model, pages/UI model, rĂšgles, sĂ©curitĂ©, navigation : âmodel-drivenâ.
DomainUIModel-DrivenMicroflows / Nanoflows
Logique serveur vs client, orchestration, validations, erreurs standardisées.
LogicServer/ClientUse-casesBPM / Workflows
Process automation, user tasks, inbox, SLA, cas long-running + orchestration SI.
BPMWorkflowsOrchestrationCollaboration métier/dev
Backlog, feedback, co-design, source of truth, devops âintegratedâ.
CollabBacklogFeedbackALM & Gouvernance
Environnements, rĂŽles, policies, releases, contrĂŽle des changements, audit.
ALMGovernanceAuditCI/CD & Releases
Build, packages, promotion, smoke tests, rollback : discipline enterprise.
CI/CDOpsRollbackDéploiement & runtime
Cloud/container, options, HA, logs/monitoring, secrets, config par env.
CloudContainersHAPerformance & data
Pagination, index, N+1, cache, read models, monitoring KPI/SLO.
PerfDataObservabilityUse-cases SI
Portails, back-office, workflow, modernisation legacy, intégration API.
CRUDWorkflowModernizeComparatif RAD
Mendix vs OutSystems vs WinDev : vitesse, gouvernance, workflow, lock-in, SI.
RADTradeoffsSICarte mentale (macro)
Objectif réaliste (quand ça marche)
- Apps métier & SI : workflows + UI + intégrations rapidement.
- Programme multi-apps : conventions, modules réutilisables, gouvernance.
- Co-construction : mĂ©tier/dev parlent âprocess + Ă©cran + rĂšgleâ (langage commun).
RĂšgles dâarchitecture (anti-spaghetti)
IDEO-Lab âMendix cleanâ :
1) Domain modules stables (Core)
2) Use-cases dans Logic modules (Services)
3) UI modules lĂ©gers (pas dâIO direct)
4) Integrations isolées (Adapters)
5) Workflow = orchestration long-running (BPM)
6) Contrats API + erreurs standardisées + corrId
Le low-code réussit quand tu imposes des conventions dÚs J1 : naming, modules, erreurs, paging, logs, release discipline.
Type & cible
Positionnement IDEO-Lab
Mendix â WinDev (rapid app) + BPM/workflows + gouvernance enterprise
=> idéal pour : UI + process + intégrations SI
Vocabulaire âĂ cadrerâ (dĂšs le dĂ©part)
| Concept | But | RĂšgle |
|---|---|---|
| Domain model | vérité data | stabilité + migrations maßtrisées |
| Pages/UI | expérience | UI fine, pas de logique SI |
| Microflows | use-cases serveur | transactions courtes + erreurs |
| Nanoflows | logique client | UX / offline / perf |
| Workflows | process long | orchestration + user tasks |
Points forts (les vrais)
- Modélisation visuelle : data + UI + logique + sécurité + process.
- Collaboration métier/dev : backlog/feedback et langage commun (process).
- Industrialisation : pratiques ALM + environnements + gouvernance.
- SI-friendly : intégrations API, modernisation legacy (façade).
Ce que tu âgagnesâ en productivitĂ©
Tu accéléres surtout :
- écrans CRUD standards
- workflows & approbations
- intégrations SI récurrentes
- réutilisation de composants
- discipline release (si bien posée)
Le gain nâest pas âmagiqueâ : il vient des conventions et du reuse.
Tradeoffs (Ă assumer)
- Discipline indispensable : modules, patterns, contrats.
- Lock-in : à gérer par Core stable + APIs propres + doc.
- UX extrĂȘme : Ă valider via POC si design trĂšs spĂ©cifique.
- Perf : comme partout : index/paging/read models.
Anti-lock-in (pragmatique)
1) Core métier documenté (rÚgles, DTO, erreurs)
2) APIs versionnées (REST)
3) Integrations isolées (Adapters)
4) Data ownership clair (source of truth)
5) Export âknowledgeâ (docs + modĂšles + mapping)
Checklist décision (à imprimer)
- â Portefeuille dâapps mĂ©tier (multi-teams) â besoin de gouvernance ?
- â Workflows/approbations/SLA = cĆur du produit ?
- â SI : APIs Ă intĂ©grer (ERP/CRM/legacy) ?
- â Conventions acceptĂ©es (naming, modules, errors, paging) ?
- â Pipeline DEVâQAâPROD + rollback plan ?
- â KPI run (latence p95, error rate, MTTR) ?
Qui fait quoi ?
| Bloc | RĂŽle | Quand | Output |
|---|---|---|---|
| Studio Pro | IDE visuel (modĂšles, UI, flows, workflows) | Build | App + modules |
| Portal | Hub collab : backlog/feedback/devops | Plan/Run | Source of truth |
| Team Server | Repo (commits/revisions liés aux stories) | Build | Historique + traçabilité |
| Runtime | Exécution + logs + monitoring + scale | Run | Opérations |
Studio Pro : IDE âmodel-drivenâ
- Domain model (entités/associations).
- Pages (UI) + navigation.
- Microflows/nanoflows (logique).
- Workflows (process automation).
- Sécurité (roles, access rules).
Garde-fous (templates)
Templates IDEO-Lab recommandés :
- Module Core (Domain + Services)
- Module UI (pages only)
- Module Integration (adapters)
- Module Workflow (process)
- Module Foundation (logging, auth, http)
Portal : collaboration & DevOps âintĂ©grĂ©sâ
- Backlog (stories), feedback, gouvernance équipe.
- Alignement mĂ©tier/dev : mĂȘme rĂ©fĂ©rentiel.
- Traçabilité : releases, décisions, incidents.
Rituel minimal (qui marche)
Weekly:
- review backlog + feedback
- review incidents + KPI
- review tech debt hotspots
- plan next release + rollback plan
Team Server : repo & révisions
Pratique :
- commit fréquent
- lier commits aux stories
- branches/lines de travail (si applicable)
- policy : "no big bang commits"
Objectif : passer de âdev visuelâ Ă âdev industrialisĂ©â (traceable).
Runtime : run & ops
Run essentials :
- logs structurés + corrId
- health checks + smoke tests
- config par environnement
- secrets externalisés
- scaling + HA si critique
Domain model âpropreâ (exemple)
Customer(Id, Name, Email, Status, CreatedAt)
Order (Id, CustomerId, Total, Status, CreatedAt)
Line (OrderId, ProductId, Qty, Price)
Index:
- Customer.Email
- Order(CustomerId, CreatedAt DESC)
- Line(OrderId)
RĂšgles dâor
- Nommer âmĂ©tierâ, pas âtechâ.
- Assocations explicites (ownership clair).
- Contraintes proches du métier (unique, mandatory).
- Ăviter âGod entityâ (dĂ©couper).
Un domain mal conçu = dette exponentielle, mĂȘme en low-code.
UI model : patterns enterprise
| Pattern | But | Note |
|---|---|---|
| List â Details | back-office | pagination obligatoire |
| Master/Detail | commandes + lignes | validation serveur |
| Wizard | création multi-étapes | state stable |
| Inbox | tùches workflow | SLA / priorité |
RĂšgle UX :
- aucune liste sans paging
- aucun formulaire sans validation inline
- aucune action sensible sans confirm + audit
Security : RBAC + access rules
- RĂŽles (Admin, Manager, User, Auditor)
- Permissions par module (UI & services)
- Data access rules (par tenant/ownership)
- Audit sur actions critiques
Migrations : âdiscipline dataâ
Bonnes pratiques :
- changements petits & fréquents
- scripts/plan de rollback
- environnements identiques (staging â prod)
- tests smoke data (create/update key entities)
Microflow (serveur) vs Nanoflow (client)
| Type | OĂč | IdĂ©al pour |
|---|---|---|
| Microflow | Server | use-cases, data writes, intégrations SI |
| Nanoflow | Client | UX, offline, validations légÚres, perf UI |
RĂšgle simple
- Tout ce qui touche DB/HTTP = server (microflow)
- Le client = UX + pré-validation + offline
- Un use-case = une façade stable (service)
Pattern Use-case (exemple : CreateOrder)
CreateOrder(input):
1) validate input (business rules)
2) begin tx
3) insert Order
4) insert Lines
5) insert AuditEvent
6) commit
7) return DTO (OrderSummary)
Orchestration âcourteâ, audit intĂ©grĂ©, et DTO stable = maintenance facile.
Erreurs standardisées
Response:
- status: ok|error
- error.code: VALIDATION|AUTH|CONFLICT|TECH
- error.messageUser
- error.messageTech (logs only)
- corrId
| Code | Quand | Effet UX |
|---|---|---|
| VALIDATION | input invalide | inline |
| AUTH | droits | blocked |
| CONFLICT | unique/versions | message + retry |
| TECH | infra | fallback + corrId |
Transactions : anti-locks
- Transactions courtes et atomiques.
- Valider avant la tx (si possible).
- Ordre stable dâaccĂšs aux entitĂ©s (anti-deadlock).
Anti-deadlock:
toujours toucher :
Customer -> Order -> Line -> Audit
Pourquoi workflows ?
- Process métier long-running (jours/semaines).
- Approvals, validations, escalades, exceptions.
- Orchestration SI : appels API + tĂąches humaines.
- Traçabilité : qui a fait quoi, quand, pourquoi.
Différence microflow vs workflow
Microflow = use-case court (ms â sec)
Workflow = processus long (min â jours)
Workflow = état + tùches + transitions + audit
Workflow = âmoteur BPM intĂ©grĂ©â, pas un simple enchaĂźnement dâactions.
Design dâun workflow âindustrial gradeâ
Ex: Purchase Request
Start -> Validate -> Manager Approval -> Finance Approval -> Create PO -> Notify -> End
RĂšgles :
- transitions explicites
- erreurs = état + retry
- timeouts & escalades
- audit sur décisions
User tasks
- Attribution (role / groupe / personne).
- Formulaire de décision.
- Commentaires obligatoires si rejet.
- Traçabilité + horodatage.
SLA / timers
- Deadline + escalade.
- Rappels automatiques.
- Timeout = chemin alternatif.
Patterns workflows (ceux qui reviennent tout le temps)
| Pattern | But | Remarque |
|---|---|---|
| Approval chain | approbations multi-niveaux | escalade + timeout |
| Parallel tasks | tĂąches en parallĂšle | join + rĂšgles de quorum |
| Exception path | cas KO | réparation + retry |
| Human-in-the-loop | décision humaine | audit + justification |
| Orchestration SI | enchaĂźner APIs | idempotency + retries |
Inbox : productivité & pilotage
Inbox = vue unifiée des tùches :
- tri par SLA
- filtres (app/process/status)
- assignation / délégation
- suivi âoĂč ça bloqueâ
KPI workflow : temps moyen par étape, backlog, SLA breach rate.
Checklist workflow (anti-incident)
- â Ătats & transitions listĂ©s + diagramme validĂ© mĂ©tier.
- â Qui valide quoi (roles) + audit.
- â Timers/escalades dĂ©finis.
- â Exceptions & retries gĂ©rĂ©s.
- â Idempotency sur intĂ©grations SI.
- â ObservabilitĂ© : corrId + mĂ©triques par Ă©tape.
Ce que tu dois mettre en place (simple)
- Backlog âpropreâ (stories â value).
- Feedback utilisateur (in-app / support).
- Review réguliÚre : métier + dev + ops.
- Definition of Done : tests + logs + rollback.
Collaboration = la âkiller featureâ des plateformes low-code enterprise.
Rituels âqui marchentâ
Daily: tri incidents + blocages
Weekly: review backlog + feedback + KPI
Release: smoke tests + backout plan + monitoring renforcé
Monthly: refactor top hotspots + gouvernance modules
Environnements (pipeline standard)
DEV -> QA/UAT -> PREPROD -> PROD
RĂšgle : staging â prod (config, scale, intĂ©grations)
RĂŽles (exemple)
- Developer: build/dev
- QA: validation, test
- Release Manager: promotion PROD
- Ops: runtime, monitoring
- Auditor: accĂšs logs/audit
Change discipline
- Release notes (what/why/risk).
- Backout plan (rollback concret).
- FenĂȘtre de dĂ©ploiement + owner incident.
- Monitoring renforcĂ© post-release (24â48h).
Audit âenterpriseâ
Audit event:
- who / what / when / where
- corrId
- before/after (metadata)
- justification (si rejet/override)
Pipeline minimal viable (pro)
1) Build DEV
2) Package / version
3) Deploy QA
4) Smoke tests
5) Approval
6) Deploy PROD
7) Monitor KPI
8) Rollback si seuils dépassés
Artifacts Ă archiver
| Artifact | Contenu | Pourquoi |
|---|---|---|
| Package/version | release reproductible | traceability |
| Release notes | changes + risques | ops |
| Test report | smoke/perf/security | quality proof |
| Backout plan | actions rollback | incident speed |
Tests âROIâ
- Smoke : login + parcours critique.
- Data : create/update sur entitĂ©s cĆur.
- RBAC : permissions sur actions sensibles.
- Perf : latence p95 sur endpoints clés.
Rollback : 3 niveaux
N1 rollback app : revenir release N-1
N2 rollback config : feature flag OFF
N3 rollback data : restore snapshot / scripts
Quality gates (avant PROD)
Gates:
- smoke OK
- 0 blockers
- KPI perf OK
- rollback plan ready
- monitoring dashboards prĂȘts
Options de déploiement (résumé)
| Option | Idéal pour | Remarque |
|---|---|---|
| Mendix Cloud | go-to PaaS | scaling + ops simplifiés |
| Cloud privé/K8s | policies internes | infra/ops plus exigeants |
| On-prem | contraintes fortes | runbooks + patching |
Cloud-native : discipline
- config externalisée
- stateless app nodes
- storage géré (db/object store)
- logs centralisés
- scaling horizontal
HA : principes
- Multi-AZ si critique (selon plateforme).
- DB HA + backups testés.
- Observabilité + SLO (p95, error rate).
Ops : runbook minimal
Incident:
- identifier app + env + corrId
- vérifier erreurs/latence
- isoler intégration fautive (adapter)
- rollback si nécessaire
- post-mortem + action corrective
3 erreurs qui tuent
1) listes sans pagination (charge massive)
2) filtres/tri cÎté UI
3) ORDER BY sur colonne non indexée
Keyset pagination (si gros volumes)
ORDER BY CreatedAt DESC, Id DESC
WHERE (CreatedAt, Id) < (:lastCreatedAt, :lastId)
LIMIT :size
Observabilité (KPI)
KPI:
- p95 latency (top endpoints)
- error rate
- workflow SLA breach rate
- MTTR
- rollback rate
Sans KPI, tu ne pilotes ni la perf ni le process (workflows).
TrĂšs bon fit
- Back-office : RBAC + audit + exports.
- Workflows : approvals, SLA, inbox, exceptions.
- Portails : self-service, onboarding.
- Modernisation legacy : façade UI + process + APIs.
Ă benchmarker
- UX ultra-custom + contraintes design strictes.
- Algorithmes bas niveau / temps rĂ©el extrĂȘme.
- Interop exotique (libs rares) : POC obligatoire.
POC 2 semaines = verdict : UX, perf, intégrations, gouvernance.
Matrice rapide (pragmatique)
| Solution | Idéal pour | Attention |
|---|---|---|
| Mendix | business apps + BPM/workflows + SI | discipline modules + perf + lock-in |
| OutSystems | enterprise low-code + ALM trÚs cadré | architecture obligatoire + gouvernance |
| WinDev | apps métier rapides (desktop) | web/enterprise à valider selon cas |
Carte de choix
Besoin SI + process long + collaboration métier/dev -> Mendix
Besoin programme enterprise + ALM/promotion stricts -> OutSystems
Besoin desktop CRUD rapide (Windows) -> WinDev
Risques & mitigations
| Risque | SymptĂŽme | Mitigation |
|---|---|---|
| Dette | delivery ralentit | conventions + modules + gates |
| Lock-in | sortie difficile | core stable + APIs + docs |
| Perf | latence | index/pagination/read models |
| Workflow chaos | états confus | diagramme + SLA + audit + exceptions |
Playbook âdĂ©marrer Mendix en entrepriseâ (10 jours)
- Conventions : naming, modules, errors, paging, logs/corrId.
- Core domain minimal (Customer/Order) + services stables.
- Adapters intégrations (ERP/CRM) isolés.
- Workflows : 1 process critique (approval) + SLA.
- Pipeline DEVâQAâPROD + smoke tests + rollback.
- KPI dashboards (p95, errors, SLA breaches, MTTR).
10 rĂšgles âanti-galĂšreâ
- Domain model propre (pas âgod entityâ).
- UI = pages, pas dâIO direct.
- Use-cases en microflows/services, transactions courtes.
- Workflows = process long + SLA + audit.
- Integrations = adapters isolés.
- Erreurs standard + corrId.
- Pagination obligatoire.
- Release notes + backout plan.
- Smoke tests avant PROD.
- KPI run : p95, error rate, SLA breach, MTTR.
Architecture âĂ copierâ
Modules :
- Core (domain + services)
- UI (pages)
- Integrations (adapters)
- Workflow (process)
- Foundation (logging/auth/http)
Pipeline :
DEV -> QA -> PROD
Rollback : N-1 / config / data
