-
Notifications
You must be signed in to change notification settings - Fork 2
/
DiagrammesDeploiement.qmd
118 lines (99 loc) · 4.06 KB
/
DiagrammesDeploiement.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# Diagrammes de déploiement et de composants
Ce chapitre contient des informations sur les diagrammes de déploiement et de composants en UML. Les détails se trouvent dans le chapitre F31/A37\ {{< fa solid book >}}.
## Diagrammes de déploiement
Un diagramme de déploiement présente le déploiement sur l'**architecture physique**. Il sert à documenter:
1. comment les fichiers exécutables seront affectés sur les nœuds de traitement, et
2. la communication entre composants physiques.
Voici les éléments importants:
- Types de nœuds:
- **Nœud physique (équipement)**: Ressource de traitement physique (par exemple, de l'électronique numérique) dotée de services de traitement et de mémoire destinés à exécuter un logiciel. Ordinateur classique, cellulaire, etc.
- **Nœud d'environnement d'exécution (EEN, *execution environment node*)**: Ressource de traitement logiciel qui s'exécute au sein d'un nœud externe (comme un ordinateur) et offrant elle-même un service pour héberger et exécuter d'autres logiciels, par exemple:
- un système d'exploitation (OS) est un logiciel qui héberge et qui exécute des programmes;
- une machine virtuelle (JVM ou .NET);
- un moteur de base de données (par exemple PostgreSQL) exécute les requêtes SQL;
- un navigateur Web qui héberge et qui exécute JavaScript;
- un moteur de *workflow*;
- un conteneur de servlets ou conteneur Docker.
La @fig-DiagrammeDeploiement est un exemple de diagramme de déploiement (laboratoire).
La @fig-iTunesDiagrammeDeploiement est un exemple de diagramme de déploiement pour le logiciel iTunes d'Apple.
```{.plantuml genurl="true" #fig-DiagrammeDeploiement caption="Diagramme de déploiement du système à développer pour le laboratoire." }
@startuml
!include normal.pumlinclude
skinparam componentStyle uml2
node "Navigateur moderne" as bm {
component [Application frontale\nminimaliste, par exemple\nles pages Web et\nun peu de JavaScript] as GUI
}
node "Système de gestion\ndes apprentissages\n(SGA)" as SGA << Système >> {
interface Routage as Router
[Application conçue\nselon la méthodologie\nproposée par Larman] as App
database "Solution\nsimple" as SimpleDB {
}
}
node "Système de gestion\ndes bordereaux\n(SGB)" as SGB << Système >> #CCCCCC {
note as SGBNote
<&arrow-circle-left> Source pour les
infos sur les cours,
les étudiant(e)s, etc.
<&arrow-circle-right> Destination pour les
résultats des question-
naires et des devoirs.
end note
}
GUI -l-( Router : API REST niveau 1
Router -- App
App -- SimpleDB
App -l- SGB : API REST
note as NP1
Nœud
physique
end note
note as NE
Nœud
d'environnement
d'exécution
end note
NE .up. App
NP1 .up. SGB
@enduml
```
```{.plantuml genurl="true" #fig-iTunesDiagrammeDeploiement caption="Diagramme de déploiement pour iTunes d'Apple avec un ordinateur, un iPad et le service Web d'Apple, selon [ce modèle UML](https://www.uml-diagrams.org/apple-itunes-uml-deployment-diagram-example.html) de Kirill Fakhroutdinov (utilisé avec permission)."}
@startuml
scale 0.7
left to right direction
node "Apple Web Server" << device >>#PaleTurquoise {
node iTunes as iTW << website >>#LightSalmon {
artifact iTunesSetup.exe << application >>
}
node "iTunes Store" as iTS << website >>#LightSalmon {
rectangle "Media Library"
}
}
'iTW -down- iTS
node "Home Computer" as HC << device >>#LightSalmon {
node " " as wb << web browser >>#LightSalmon
rectangle iTunes as iT << application >>#red
rectangle "Media Library" as ML1 #LimeGreen
iT - ML1
}
node "iPhone/iPad/etc." as MD << mobile device >>#LightSalmon {
node "iOS" as MDOS << OS >>#LightSalmon
rectangle "Media Library" as ML2 #LimeGreen
}
note as N1
Les médiathèques sont
synchronisées entre
les appareils par iTunes.
end note
N1 .r. ML1
N1 .r. ML2
' HC *-- ML1
' HC *-l- wb
HC -- MD : USB
'iT .u.> HC
iT -- iTS : << protocol >>\niTunes Store Protocol
' MD *-- MDOS
' MD *-- ML2
wb -- iTW : << protocol >>\nHTTP
MDOS -- iTS : << wireless protocol >>\niTunes Store Protocol
@enduml
```