graph TD
%% Définition des nœuds principaux
A[Analyse des besoins] -->|développement| B[Conception système]
B -->|développement| C[Conception détaillée]
C -->|développement| D[Codage]
D -->|validation| E[Tests unitaires]
E -->|validation| F[Tests d'intégration]
F -->|validation| G[Tests système]
G -->|validation| H[Tests d'acceptation]
%% Liens de validation croisés
A -.->|validation| H
B -.->|validation| G
C -.->|validation| F
%% Annotations des nœuds
A1[Définition des exigences<br>Expression des besoins]
B1[Architecture globale<br>Interfaces principales]
C1[Design des composants<br>Algorithmes]
D1[Programmation<br>Implémentation]
E1[Validation des modules<br>individuels]
F1[Validation des<br>interactions]
G1[Validation de<br>l'architecture]
H1[Validation des<br>besoins initiaux]
%% Connexion des annotations
A --- A1
B --- B1
C --- C1
D --- D1
E --- E1
F --- F1
G --- G1
H --- H1
%% Style des nœuds par type
style A fill:#ffdac1,stroke:#d95204,stroke-width:2px
style B fill:#ffdac1,stroke:#d95204,stroke-width:2px
style C fill:#ffdac1,stroke:#d95204,stroke-width:2px
style D fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
style E fill:#e8daef,stroke:#6a1b9a,stroke-width:2px
style F fill:#e8daef,stroke:#6a1b9a,stroke-width:2px
style G fill:#e8daef,stroke:#6a1b9a,stroke-width:2px
style H fill:#e8daef,stroke:#6a1b9a,stroke-width:2px
%% Style des annotations
style A1 fill:#f9f9f9,stroke:#aaa,stroke-width:1px
style B1 fill:#f9f9f9,stroke:#aaa,stroke-width:1px
style C1 fill:#f9f9f9,stroke:#aaa,stroke-width:1px
style D1 fill:#f9f9f9,stroke:#aaa,stroke-width:1px
style E1 fill:#f9f9f9,stroke:#aaa,stroke-width:1px
style F1 fill:#f9f9f9,stroke:#aaa,stroke-width:1px
style G1 fill:#f9f9f9,stroke:#aaa,stroke-width:1px
style H1 fill:#f9f9f9,stroke:#aaa,stroke-width:1px
%% Groupes des phases (simplifié pour compatibilité)
subgraph Développement
A
B
C
end
subgraph Implémentation
D
end
subgraph Validation
E
F
G
H
end