diff --git a/.github/workflows/create-docs.yml b/.github/workflows/create-docs.yml index 468df44..b981713 100644 --- a/.github/workflows/create-docs.yml +++ b/.github/workflows/create-docs.yml @@ -9,6 +9,8 @@ jobs: build: name: Deploy docs runs-on: ubuntu-latest + env: + PUMLURL: "https://www.plantuml.com/plantuml/" steps: - name: Checkout main uses: actions/checkout@v2 diff --git a/documentation/docs/developpeur/deploiements/prod.md b/documentation/docs/developpeur/deploiements/prod.md index 127d083..47e1176 100644 --- a/documentation/docs/developpeur/deploiements/prod.md +++ b/documentation/docs/developpeur/deploiements/prod.md @@ -6,29 +6,58 @@ Nous avons choisi d'exécuter les composantes de cette application avec Docker, Voici un diagramme de déploiement expliquant la relation des composantes et comment les images Docker sont créées et déployées dans un serveur. ```plantuml - @startuml - [Navigateur moderne (Windows/Android)] as Navigateur - [MongoDB] as MongoDB - Navigateur -> "docker-compose.yml" - [Docker] as Docker - "docker-compose.yml" -> [evaluetonSavoir-backend (Express, Javscript)] - [evaluetonSavoir-backend (Express, Javscript)] -> API_REST - [evaluetonSavoir-backend (Express, Javscript)] -> SOCKET_SALLE - [evaluetonSavoir-routeur (nginx)] as routeur - API_REST -> routeur - SOCKET_SALLE -> routeur - [evaluetonSavoir-frontend (Vue + TypeScript React)] as frontend - routeur -> frontend - [Docker hub] as DockerHub - [image-evaluetonSavoir-backend] -> DockerHub - [image-evaluetonSavoir-routeur] -> DockerHub - [image-evaluetonSavoir-frontend] -> DockerHub - [GitHub] as GitHub - "backend-deploy.yml" <- GitHub - "routeur-deploy.yml" <- GitHub - "frontend-deploy.yml" <- GitHub - Navigateur <--> evalsa.etsmtl.ca : chargée à partir des pages web - @enduml +@startuml +skinparam style strictuml +skinparam component { + BackgroundColor<> LightBlue + BackgroundColor<> lightgreen +} +node "evalsa.etsmtl.ca" { + artifact "docker-compose.yml" as compose + node "Docker" as docker { + [evaluetonsavoir-routeur\n(nginx)] <> as ROC + [evaluetonsavoir-frontend\n(vite + TypeScript React)] <> as FEC + component "evaluetonsavoir-backend\n(Express, Javascript)" <> as BEC { + port API_REST + port SOCKET_SALLE + } + } + database "MongoDB" as BD + BD -- BEC + +} + +node "Docker hub" { + component evaluetonsavoir-routeur <> as RO { + } + component evaluetonsavoir-frontend <> as FE { + } + component evaluetonsavoir-backend <> as BE { + } +} + +node "GitHub" { + artifact "routeur-deploy.yml" <> as RO_D + artifact "backend-deploy.yml" <> as BE_D + artifact "frontend-deploy.yml" <> as FE_D +} + +BE <-- BE_D : on commit +FE <-- FE_D +RO <-- RO_D + +BEC <.. BE : "pull à 5h du matin" +FEC <.. FE +ROC <.. RO + +node "Navigateur moderne\n(Windows/Android)" as browser { + [React App] as RA_NAV +} + +RA_NAV <.. FEC : chargée à partir des pages web +RA_NAV ..> API_REST : API REST +RA_NAV <..> SOCKET_SALLE : WebSocket +@enduml ``` ## Prérequis diff --git a/documentation/docs/developpeur/index.md b/documentation/docs/developpeur/index.md index 14e4554..4d53da6 100644 --- a/documentation/docs/developpeur/index.md +++ b/documentation/docs/developpeur/index.md @@ -30,7 +30,6 @@ Afin de faciliter le déploiement de masse : ```plantuml @startuml - package Proxy{ component Nginx } @@ -54,6 +53,7 @@ Backend --right-> MongoDb Backend --up-> Nginx Frontend --up-> Nginx + @enduml ``` diff --git a/documentation/mkdocs.yml b/documentation/mkdocs.yml index 4c0909a..e938af1 100644 --- a/documentation/mkdocs.yml +++ b/documentation/mkdocs.yml @@ -50,8 +50,7 @@ plugins: - search - offline - plantuml: - default: https://www.plantuml.com/plantuml/ # default - puml_url: http://localhost:8080/plantuml # dev + puml_url: !ENV [PUMLURL,'http://localhost:8080'] # dev puml_keyword: plantuml theme: light: material/deep-purple-light