specs/batch-cooking-architecture.md and specs/batch-cooking-modele.md are the clean markdown transcription of "Projet batch cooking.pdf" (a scanned/image-only PDF, no extractable text). The PDF itself is gitignored — source working document, not meant to be committed.
2 KiB
2 KiB
Architecture technique — Projet Batch-cooking
Documentation de l'architecture serveur/client de l'application.
Vue d'ensemble
L'application repose sur une architecture client-serveur classique :
- Un serveur exposant une API (échanges standards) et un canal websocket (communication temps réel)
- Plusieurs clients (Client 1, Client 2, Client 3...) connectés simultanément au serveur
- Une base de données PostgreSQL
flowchart TB
subgraph SERVER["Server"]
WS["Web socket"]
API["API"]
CALC["Calcul batch-cooking<br/><i>(TODO)</i>"]
IMPORT["Import d'une recette"]
IMP1["Import depuis source"]
IMP2["Traduction en étapes"]
IMP3["Sauvegarde"]
DB[("Database<br/>PostgreSQL")]
IMPORT --> IMP1 --> IMP2 --> IMP3 --> DB
CALC --> WS
end
C1["Client 1"]
C2["Client 2"]
C3["Client 3"]
API <--> C1
API <--> C2
API <--> C3
WS --> C1
WS --> C2
WS --> C3
style SERVER fill:none,stroke:#888,stroke-width:1px
Composants
API
Point d'entrée principal pour les échanges entre les clients et le serveur (requêtes classiques).
Web socket
Canal de communication temps réel entre le serveur et les clients connectés.
Module « Calcul batch-cooking »
Logique de calcul du batch-cooking (optimisation du planning/des recettes selon le planning). Statut : TODO — reste à développer.
Module « Import d'une recette »
Pipeline d'ajout d'une recette, en trois étapes :
- Import depuis source — récupération de la recette (via
sources) - Traduction en étapes — découpage en
step/tech_step - Sauvegarde — persistance en base de données
Database (PostgreSQL)
Stockage de l'ensemble des données de l'application (voir le modèle de données pour le détail des tables).
Notes
- Le module de calcul batch-cooking est le principal chantier restant côté serveur (TODO).
- Le websocket est utilisé pour la communication temps réel, en complément de l'API.