finished third course

This commit is contained in:
khannurien
2026-02-19 20:41:46 +00:00
parent b77c0d47b7
commit f7a7dca41e
34 changed files with 1954 additions and 154 deletions

132
res/authentication.drawio Normal file
View File

@@ -0,0 +1,132 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/28.2.5 Chrome/138.0.7204.251 Electron/37.6.1 Safari/537.36" version="28.2.5" pages="2">
<diagram name="Stateful" id="2CEUOh8hhNnnwGxCOcMt">
<mxGraphModel dx="1426" dy="963" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="9g35GHuaYEsMOrcFAuSK-0" />
<mxCell id="9g35GHuaYEsMOrcFAuSK-1" parent="9g35GHuaYEsMOrcFAuSK-0" />
<mxCell id="9g35GHuaYEsMOrcFAuSK-2" value="" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};participant=umlActor;fontFamily=Lucida Console;" vertex="1" parent="9g35GHuaYEsMOrcFAuSK-1">
<mxGeometry x="400" y="340" width="20" height="340" as="geometry" />
</mxCell>
<mxCell id="9g35GHuaYEsMOrcFAuSK-3" value="Serveur" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fontFamily=Lucida Console;" vertex="1" parent="9g35GHuaYEsMOrcFAuSK-1">
<mxGeometry x="560" y="340" width="100" height="340" as="geometry" />
</mxCell>
<mxCell id="9g35GHuaYEsMOrcFAuSK-4" value="HTTP GET /routeRestreinte" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;fontFamily=Lucida Console;" edge="1" parent="9g35GHuaYEsMOrcFAuSK-1" target="9g35GHuaYEsMOrcFAuSK-3">
<mxGeometry width="80" relative="1" as="geometry">
<mxPoint x="410" y="440" as="sourcePoint" />
<mxPoint x="490" y="440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9g35GHuaYEsMOrcFAuSK-5" value="HTTP 401 Unauthorized" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#B85450;fontFamily=Lucida Console;" edge="1" parent="9g35GHuaYEsMOrcFAuSK-1" target="9g35GHuaYEsMOrcFAuSK-2">
<mxGeometry relative="1" as="geometry">
<mxPoint x="610" y="480" as="sourcePoint" />
<mxPoint x="530" y="480" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9g35GHuaYEsMOrcFAuSK-6" value="HTTP POST /login&lt;div&gt;{ username, password }&lt;/div&gt;" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;fontFamily=Lucida Console;" edge="1" parent="9g35GHuaYEsMOrcFAuSK-1">
<mxGeometry width="80" relative="1" as="geometry">
<mxPoint x="410" y="520" as="sourcePoint" />
<mxPoint x="610" y="520" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9g35GHuaYEsMOrcFAuSK-7" value="HTTP 200 OK&lt;div&gt;{ cookie&amp;nbsp;}&lt;/div&gt;" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;fontColor=#000000;fontFamily=Lucida Console;" edge="1" parent="9g35GHuaYEsMOrcFAuSK-1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="610" y="560" as="sourcePoint" />
<mxPoint x="410" y="560" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9g35GHuaYEsMOrcFAuSK-8" value="HTTP GET /routeRestreinte&lt;div&gt;{ cookie&amp;nbsp;}&lt;/div&gt;" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;fontFamily=Lucida Console;" edge="1" parent="9g35GHuaYEsMOrcFAuSK-1">
<mxGeometry width="80" relative="1" as="geometry">
<mxPoint x="410" y="600" as="sourcePoint" />
<mxPoint x="610" y="600" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="9g35GHuaYEsMOrcFAuSK-9" value="HTTP 200 OK" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#82B366;fontFamily=Lucida Console;" edge="1" parent="9g35GHuaYEsMOrcFAuSK-1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="610" y="640" as="sourcePoint" />
<mxPoint x="410" y="640" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3aiV0IpNb-s9C5pguoUn-2" value="Session en cours ?" style="curved=1;endArrow=classic;html=1;rounded=0;fontFamily=Lucida Console;" edge="1" parent="9g35GHuaYEsMOrcFAuSK-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="640" y="600" as="sourcePoint" />
<mxPoint x="649" y="622" as="targetPoint" />
<Array as="points">
<mxPoint x="670" y="580" />
<mxPoint x="680" y="630" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3aiV0IpNb-s9C5pguoUn-3" value="Session en cours ?" style="curved=1;endArrow=classic;html=1;rounded=0;fontFamily=Lucida Console;" edge="1" parent="9g35GHuaYEsMOrcFAuSK-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="640" y="440" as="sourcePoint" />
<mxPoint x="649" y="462" as="targetPoint" />
<Array as="points">
<mxPoint x="670" y="420" />
<mxPoint x="680" y="470" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="3aiV0IpNb-s9C5pguoUn-4" value="Stocke une session" style="curved=1;endArrow=classic;html=1;rounded=0;fontFamily=Lucida Console;" edge="1" parent="9g35GHuaYEsMOrcFAuSK-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="640" y="520" as="sourcePoint" />
<mxPoint x="649" y="542" as="targetPoint" />
<Array as="points">
<mxPoint x="670" y="500" />
<mxPoint x="680" y="550" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram name="Stateless" id="RY9LXfIQCegcqG30vLet">
<mxGraphModel dx="1426" dy="963" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="Jnp_DY50OwIwXnVebXD0-2" value="" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};participant=umlActor;fontFamily=Lucida Console;" parent="1" vertex="1">
<mxGeometry x="400" y="340" width="20" height="340" as="geometry" />
</mxCell>
<mxCell id="Jnp_DY50OwIwXnVebXD0-3" value="Serveur" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fontFamily=Lucida Console;" parent="1" vertex="1">
<mxGeometry x="560" y="340" width="100" height="340" as="geometry" />
</mxCell>
<mxCell id="Jnp_DY50OwIwXnVebXD0-4" value="HTTP GET /routeRestreinte" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;fontFamily=Lucida Console;" parent="1" target="Jnp_DY50OwIwXnVebXD0-3" edge="1">
<mxGeometry width="80" relative="1" as="geometry">
<mxPoint x="410" y="440" as="sourcePoint" />
<mxPoint x="490" y="440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Jnp_DY50OwIwXnVebXD0-5" value="HTTP 401 Unauthorized" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#B85450;fontFamily=Lucida Console;" parent="1" target="Jnp_DY50OwIwXnVebXD0-2" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="610" y="480" as="sourcePoint" />
<mxPoint x="530" y="480" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Jnp_DY50OwIwXnVebXD0-6" value="HTTP POST /login&lt;div&gt;{ username, password }&lt;/div&gt;" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;fontFamily=Lucida Console;" parent="1" edge="1">
<mxGeometry width="80" relative="1" as="geometry">
<mxPoint x="410" y="520" as="sourcePoint" />
<mxPoint x="610" y="520" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Jnp_DY50OwIwXnVebXD0-7" value="HTTP 200 OK&lt;div&gt;{ User, token }&lt;/div&gt;" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;fontColor=#000000;fontFamily=Lucida Console;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="610" y="560" as="sourcePoint" />
<mxPoint x="410" y="560" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Jnp_DY50OwIwXnVebXD0-8" value="HTTP GET /routeRestreinte&lt;div&gt;{ token }&lt;/div&gt;" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;fontFamily=Lucida Console;" parent="1" edge="1">
<mxGeometry width="80" relative="1" as="geometry">
<mxPoint x="410" y="600" as="sourcePoint" />
<mxPoint x="610" y="600" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Jnp_DY50OwIwXnVebXD0-9" value="HTTP 200 OK" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#82B366;fontFamily=Lucida Console;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="610" y="640" as="sourcePoint" />
<mxPoint x="410" y="640" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>