[{"data":1,"prerenderedAt":177},["ShallowReactive",2],{"navigation_docs_en":3,"-en-architecture":78,"-en-architecture-surround":172},[4,14,40,54,60,66,72],{"title":5,"path":6,"stem":7,"children":8},"The essentials","/en/proposition","en/1.proposition/1.index",[9,10],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Your need, understood","/en/proposition/comprehension","en/1.proposition/2.comprehension",{"title":15,"path":16,"stem":17,"children":18},"Overview","/en/architecture","en/2.architecture/1.index",[19,20,24,28,32,36],{"title":15,"path":16,"stem":17},{"title":21,"path":22,"stem":23},"Technical choices","/en/architecture/stack","en/2.architecture/2.stack",{"title":25,"path":26,"stem":27},"Security & compliance","/en/architecture/securite","en/2.architecture/3.securite",{"title":29,"path":30,"stem":31},"The modules","/en/architecture/modules","en/2.architecture/4.modules",{"title":33,"path":34,"stem":35},"Partner integration","/en/architecture/partenaires","en/2.architecture/5.partenaires",{"title":37,"path":38,"stem":39},"Information system","/en/architecture/systeme-information","en/2.architecture/6.systeme-information",{"title":41,"path":42,"stem":43,"children":44},"The plan","/en/roadmap","en/4.roadmap/1.index",[45,46,50],{"title":41,"path":42,"stem":43},{"title":47,"path":48,"stem":49},"The method","/en/roadmap/methodologie","en/4.roadmap/2.methodologie",{"title":51,"path":52,"stem":53},"The budget","/en/roadmap/budget","en/4.roadmap/3.budget",{"title":55,"path":56,"stem":57,"children":58},"Vortex-Soft","/en/equipe","en/5.equipe/1.index",[59],{"title":55,"path":56,"stem":57},{"title":61,"path":62,"stem":63,"children":64},"Specification","/en/cdc","en/6.cdc/1.index",[65],{"title":61,"path":62,"stem":63},{"title":67,"path":68,"stem":69,"children":70},"Infrastructure","/en/infrastructure","en/7.infrastructure/1.index",[71],{"title":67,"path":68,"stem":69},{"title":73,"path":74,"stem":75,"children":76},"Mockups","/en/maquette","en/8.maquette/1.index",[77],{"title":73,"path":74,"stem":75},{"id":79,"title":15,"badge":80,"body":81,"category":80,"description":165,"extension":166,"links":80,"meta":167,"navigation":169,"path":16,"seo":170,"stem":17,"tags":80,"__hash__":171},"docs_en/en/2.architecture/1.index.md",null,{"type":82,"value":83,"toc":157},"minimark",[84,88,93,96,99,103,106,118,129,132,136,143,147,150],[85,86,87],"p",{},"The architecture answers three constraints: accounting rigour, an unstable network, and an operator who is not an IT specialist. Every component we do not add is an outage you will not have.",[89,90,92],"h2",{"id":91},"end-to-end-architecture","End-to-end architecture",[94,95],"amtm-architecture-map",{},[97,98],"amtm-stack-schematic",{},[89,100,102],{"id":101},"why-a-modular-monolith-not-micro-services","Why a modular monolith, not micro-services",[85,104,105],{},"This is a deliberate choice, and it runs against what you will be offered elsewhere.",[85,107,108,109,113,114,117],{},"Your need is measured in ",[110,111,112],"strong",{},"tens of operations per minute",", not tens of thousands per second. A properly tuned PostgreSQL handles 10,000 to 30,000 transactions per second: the database will never be your bottleneck. Micro-services, on the other hand, would force a message bus, orchestration, distributed monitoring and cross-service tracing on you — that is ",[110,115,116],{},"three times the operating cost",", for capacity you have no use for.",[85,119,120,121,124,125,128],{},"So we keep the ",[110,122,123],{},"module boundaries"," — they structure the code and the Git repository — but ",[110,126,127],{},"one deployment to operate",". The day a module has to be extracted, the boundary already exists.",[130,131],"amtm-isometric-stack",{},[89,133,135],{"id":134},"the-ledger-is-the-centre","The ledger is the centre",[85,137,138,139,142],{},"Everything else derives from it. Balances, trial balance, reports, accounting and regulatory statements are not separate tables to keep in sync: they are ",[110,140,141],{},"reads of the journal",". That is what makes the classic gap between “what the screen says” and “what accounting says” impossible.",[89,144,146],{"id":145},"ready-to-be-resold","Ready to be resold",[85,148,149],{},"Your §3.2 creates a publisher profile responsible for managing licences; your chapter 25 asks for multi-company administration. Module boundaries and isolation are therefore drawn with that future in mind: a second company is onboarded without a rewrite, and rate cards, thresholds, charts of accounts, currencies and roles are data, not code.",[85,151,152,153,156],{},"Version 1 is deployed for ",[110,154,155],{},"one"," legal entity. Isolation is delivered and usable; support for opening a second entity is quoted separately.",{"title":158,"searchDepth":159,"depth":159,"links":160},"",2,[161,162,163,164],{"id":91,"depth":159,"text":92},{"id":101,"depth":159,"text":102},{"id":134,"depth":159,"text":135},{"id":145,"depth":159,"text":146},"A modular monolith, sized to be operated without an ops team.","md",{"icon":168},"lucide:layers",true,{"title":15,"description":165},"2rN3mKs8tSA7rJPRUzGeFcxu8s_9-bFPeRw-i3uaEdU",[173,175],{"title":11,"path":12,"stem":13,"description":174,"children":-1},"What we read in your 28 chapters, and what we draw from it.",{"title":21,"path":22,"stem":23,"description":176,"children":-1},"Every technology justified by a constraint of your trade.",1787177558126]