direction: right web: "Interface web\n[Conteneur : JavaScript]" { class: muted } api: "API [Conteneur : Node.js]" { controleur: "Contrôleur HTTP\n[Composant : Express]\nReçoit les requêtes et\nvérifie la session" catalogue: "Service Catalogue\n[Composant : module Node.js]\nListe les produits\net leurs stocks" commandes: "Service Commandes\n[Composant : module Node.js]\nCrée la commande, enchaîne\npaiement et confirmation" { class: accent } paiementclient: "Client Paiement\n[Composant : module Node.js]\nDialogue avec le\nservice de paiement" notifications: "Notifications\n[Composant : module Node.js]\nCompose et envoie\nles e-mails" controleur -> catalogue: "Transmet les demandes\nde catalogue" controleur -> commandes: "Transmet\nles commandes" commandes -> paiementclient: "Demande le débit" commandes -> notifications: "Demande la\nconfirmation" } base: "Base de données\n[Conteneur : PostgreSQL]" { shape: cylinder } paiement: "Service de paiement\n[Système externe]" { class: muted } mail: "Service de mail\n[Système externe]" { class: muted } web -> api.controleur: "Appelle\n(JSON/HTTPS)" api.catalogue -> base: "Lit\n(SQL/TCP)" api.commandes -> base: "Lit et écrit\n(SQL/TCP)" api.paiementclient -> paiement: "Débite la carte\n(JSON/HTTPS)" api.notifications -> mail: "Envoie les e-mails\nde commande (SMTP)"