@startuml ' Images from https://freesvg.org/search/ ' Use to replace " ' Custom theme parameters skinparam BackgroundColor #grey skinparam DefaultFontSize 18 skinparam ParticipantBackgroundColor #darkgrey skinparam ParticipantFontColor #black skinparam ParticipantPadding 70 skinparam BoxPadding 70 skinparam NoteBackgroundColor %reverse_color("#darkgrey") skinparam NoteBackgroundColor #whitesmoke skinparam NoteFontColor #black skinparam SequenceArrowThickness 4 skinparam SequenceGroupBackgroundColor #black skinparam SequenceGroupBodyBackgroundColor #lightgrey skinparam SequenceMessageAlign direction skinparam SequenceDelayFontColor #black skinparam SequenceDelayFontSize 18 skinparam SequenceDelayFontStyle italic skinparam Shadowing true hide footbox ' Colors !$connectColor = "#maroon" !$disconnectColor = "#maroon" !$requestColor = "#orange" !$responseColor = "#royalblue" !$resourceColor = "#gold" !$importantColor = "#orangered" !$cookieColor = "#saddlebrown" !$sessionColor = "#darkgrey" !$phpColor = "#787CB5" !$clientColor = %lighten("#orange", 70) !$serverColor = %lighten("#royalblue", 70) ' Request box !procedure $request($content, $client="Client", $server="Server") group Requête hnote over $client $requestColor : Envoi $client -[$requestColor]>> $server : $content hnote over $server $requestColor : Réception end !endprocedure ' Response box !procedure $response($content, $client="Client", $server="Server") group Réponse hnote over $server $responseColor : Envoi $client <<[$responseColor]- $server : $content hnote over $client $responseColor : Réception end !endprocedure ' participant !procedure $participant($title, $name, $image="") !$avatar = $image + $title participant "$avatar" as $name !endprocedure ' Client !procedure $client($title="Navigateur", $name="Client", $image="\n") $participant($title, $name, $image) !endprocedure ' Client with cookies !procedure $clientWithCookies($title="Client", $clientTitle="Navigateur", $cookiesTitle="Cookies", $image="\n") box $image\n$title $clientColor $cookies($cookiesTitle) $client($clientTitle) end box !endprocedure ' Client with browser !procedure $clientWithBrowser($title="Client", $browserTitle="Navigateur", $image="\n") box $image\n$title $clientColor $client($browserTitle) end box !endprocedure ' Server !procedure $server($title="Server Web", $name="Server", $image="\n") $participant($title, $name, $image) !endprocedure ' Cookies !procedure cookies($title="Cookies", $name="Cookies", $image="\n") $participant($title, $name, $image) !endprocedure ' Session !procedure $session($title="Session", $name="Session", $image="\n") $participant($title, $name, $image) !endprocedure ' Server with session !procedure $serverWithSession($title="Serveur", $serverTitle="Serveur Web", $sessionTitle="Session", $image="\n") box $image\n$title $serverColor $server($serverTitle) $session($sessionTitle) end box !endprocedure ' Server with HTTP !procedure $serverWithHttp($title="Serveur", $serverTitle="Serveur Web", $image="\n") box $image\n$title $serverColor $server($serverTitle) end box !endprocedure ' PHP !procedure $php($title="Module PHP", $name="PHP", $image="\n") $participant($title, $name, $image) !endprocedure ' Database !procedure $database($title="Base de données", $name="Database", $image="\n") $participant($title, $name, $image) !endprocedure ' Server with PHP !procedure $serverWithPhp($title="Serveur", $serverTitle="Serveur Web", $phpTitle="Module PHP", $image="\n") box $image\n$title $serverColor $server($serverTitle) $php($phpTitle) end box !endprocedure ' Hacker with Server !procedure $hackerWithServer($title="Hacker", $serverTitle="Serveur Web", $image="\n") box $image\n$title $serverColor $server($serverTitle, "Hacker") end box !endprocedure ' Connect note !procedure $connect($message = "Ouverture de la connexion par le client") note right of Client : $message !endprocedure ' Disconnect note !procedure $disconnect($message = "Fermeture de la connexion par le serveur") note left of Server : $message !endprocedure ' Generate a Salt box !function $borderbox($message) !return "{{\nsalt\nskinparam shadowing true\n{+\n"+$message+"\n}\n}}\n" !endfunction ' Emphasis a resource !function $resource($url, $quotes=true) !if ($quotes == true) !return "« "+$resource($url, false)+" »" !else !return ""+$url+"" !endif !endfunction @enduml