v1.0 - Version stable: multi-PC, détection UI-DETR-1, 3 modes exécution

- Frontend v4 accessible sur réseau local (192.168.1.40)
- Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard)
- Ollama GPU fonctionnel
- Self-healing interactif
- Dashboard confiance

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Dom
2026-01-29 11:23:51 +01:00
parent 21bfa3b337
commit a27b74cf22
1595 changed files with 412691 additions and 400 deletions

View File

@@ -364,13 +364,17 @@ function App() {
const handleStepAdd = (stepData: Omit<Step, 'id'>) => {
console.log('Ajout étape:', stepData);
// IMPORTANT: Copie profonde pour éviter les références partagées avec d'autres étapes
const stepDataCopy = JSON.parse(JSON.stringify(stepData));
const newStep: Step = {
...stepData,
...stepDataCopy,
id: `step_${Date.now()}`,
executionState: StepExecutionState.IDLE,
validationErrors: [],
};
setWorkflow(prev => ({
...prev,
steps: [...prev.steps, newStep],
@@ -406,19 +410,25 @@ function App() {
const handleParameterChange = (stepId: string, param: string, value: any) => {
console.log('Changement paramètre:', stepId, param, value);
// IMPORTANT: Copie profonde de la valeur pour éviter les références partagées entre étapes
const valueCopy = value && typeof value === 'object'
? JSON.parse(JSON.stringify(value))
: value;
setWorkflow(prev => ({
...prev,
steps: prev.steps.map(step =>
step.id === stepId
? {
...step,
data: {
...step.data,
parameters: {
...step.data.parameters,
[param]: value
}
}
steps: prev.steps.map(step =>
step.id === stepId
? {
...step,
data: {
...step.data,
parameters: {
...step.data.parameters,
[param]: valueCopy
}
}
}
: step
),