Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
6da13c1
docs: add the drawio files
4rthur-Root Jun 10, 2026
9d295cb
clean: remove decorative separator lines from pom.xml and module-info…
4rthur-Root Jun 10, 2026
8cce02d
Code: Implementation of VBoxException with IHypervisor
4rthur-Root Jun 12, 2026
2b2c8a0
Code: Implementing Vboxorchestrator to run vboxmanage commands
4rthur-Root Jun 12, 2026
3fb187e
Code: resolving risk of screen freezing of vboxmanage path
4rthur-Root Jun 12, 2026
4bee7d3
Code: resolving the between status of VMs
4rthur-Root Jun 12, 2026
54735d7
Code: Creating a record class for listVms methode
4rthur-Root Jun 13, 2026
2592969
Docs: Adding javadoc information to VMDescriptor
4rthur-Root Jun 13, 2026
a45e168
Code: Final correction of the regex
4rthur-Root Jun 13, 2026
1eb3802
Other: Forgot but add UML png
4rthur-Root Jun 13, 2026
632a2e3
Code: correction of the possible error of the vboxmanage path after c…
4rthur-Root Jun 13, 2026
ce4af3a
Code: Adding extra layer of protection
4rthur-Root Jun 13, 2026
0f8ce0a
Code: Adding extra layer of protection v2
4rthur-Root Jun 13, 2026
a56a29a
Code: Correction of grammar and vbox path update
4rthur-Root Jun 13, 2026
de771e2
Code: Make parseVMStatus package private
4rthur-Root Jun 13, 2026
6ea54a1
Test: Make tests about everything that is not virtualbox related
4rthur-Root Jun 13, 2026
31c77e2
Code: Start correct the run time
4rthur-Root Jul 12, 2026
ed7123e
Code: parse
4rthur-Root Jul 12, 2026
f3ad7d1
Code : Add javadoc to resolveVBoxManagePath
4rthur-Root Jul 12, 2026
1d84638
Test: Correct status parsing
4rthur-Root Jul 13, 2026
68f1535
Code: Modify the code so tests can be implemented
4rthur-Root Jul 13, 2026
c3539b1
Test: implement showVMInfo tests
4rthur-Root Jul 13, 2026
acd7b28
Test: Implement tests for Vbox exception
4rthur-Root Jul 13, 2026
f5ebbbf
Code: Add javadoc to the parseshowvminfo method
4rthur-Root Jul 13, 2026
b51b96f
Merge pull request #7 from 4rthur-Root/feature/role-3-hyperviseur
4rthur-Root Jul 14, 2026
d4dd5fe
feat(integration): brancher databaseManager.getVMsForLab (Role 2) - s…
M4dnolyn Jul 20, 2026
c90a717
feat(integration): brancher databaseManager.getVMsForLab (Role 2) - s…
M4dnolyn Jul 20, 2026
5eec63b
fix: correction des references a vmsByLab supprime
M4dnolyn Jul 20, 2026
29ef2bc
feat(integration): brancher pdfExporter.exportLabToPdf (Role 2)
M4dnolyn Jul 20, 2026
7fbd322
fix(ui): suppression des commentaires TODO rôle2
M4dnolyn Jul 20, 2026
24590ce
Merge branch 'feat/integration-role2-role3' into develop
M4dnolyn Jul 20, 2026
88d4bfe
feat(ui): audit automatique + accordeon system audit logs
M4dnolyn Jul 21, 2026
e4217d1
fix(ui): VMs orphelines, assignation labo, statuts VM, compteurs stats
M4dnolyn Jul 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions docs/Diagrammes/Arreter-VM.drawio

Large diffs are not rendered by default.

129 changes: 129 additions & 0 deletions docs/Diagrammes/Creer-Labo.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.6.6 Chrome/144.0.7559.236 Electron/40.8.4 Safari/537.36" version="29.6.6">
<diagram name="Page-1" id="SQHX5Pmu1XuFwKLjx_Ll">
<mxGraphModel dx="1737" dy="1052" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="49ikSOKzvfVB0mp2QI_f-1" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#eeeeee,#1f2020);strokeColor=light-dark(#999999,#cccccc);fontColor=light-dark(#333333,#cccccc);" value="UI" vertex="1">
<mxGeometry height="887" width="150" x="20" y="20" as="geometry" />
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-2" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#eeeeee,#1f2020);strokeColor=light-dark(#999999,#cccccc);fontColor=light-dark(#333333,#cccccc);" value="LabController" vertex="1">
<mxGeometry height="887" width="150" x="385" y="20" as="geometry" />
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-3" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#eeeeee,#1f2020);strokeColor=light-dark(#999999,#cccccc);fontColor=light-dark(#333333,#cccccc);" value="DatabaseManager" vertex="1">
<mxGeometry height="887" width="167" x="735" y="20" as="geometry" />
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-4" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#eeeeee,#1f2020);strokeColor=light-dark(#999999,#cccccc);fontColor=light-dark(#333333,#cccccc);" value="VBoxOrchestrator" vertex="1">
<mxGeometry height="887" width="163" x="952" y="20" as="geometry" />
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-5" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#eeeeee,#1f2020);strokeColor=light-dark(#999999,#cccccc);fontColor=light-dark(#333333,#cccccc);" value="VBoxManage" vertex="1">
<mxGeometry height="887" width="150" x="1165" y="20" as="geometry" />
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-6" parent="1" style="shape=umlFrame;dashed=1;pointerEvents=0;dropTarget=0;strokeColor=#B3B3B3;height=20;width=40;fillColor=light-dark(#eeeeee,#1f2020);fontColor=light-dark(#333333,#cccccc);" value="loop" vertex="1">
<mxGeometry height="93" width="380" x="449" y="671" as="geometry" />
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-7" parent="49ikSOKzvfVB0mp2QI_f-6" style="text;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;" value="[chaque VM sélectionnée]" vertex="1">
<mxGeometry height="20" width="340" x="40" as="geometry" />
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-8" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-1" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-2" value="onNewLabClicked()">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="286" y="123" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-9" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-2" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-1" value="formulaire">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="289" y="171" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-10" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-1" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-2" value="saisie titre, description, catégorie">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="286" y="219" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-11" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-2" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-3" value="saveLab(lab)">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="648" y="267" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-12" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-2" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-1" value="refreshUI() → labo créé">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="289" y="315" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-13" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-1" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-2" value="onImportVMClicked() (contexte labo)">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="286" y="363" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-14" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-2" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-4" value="listVMs()">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="755" y="411" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-15" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-4" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-5" value="list vms">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1145" y="459" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-16" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-5" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-4" value="liste">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1148" y="507" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-17" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-4" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-2" value="List&lt;String[]&gt;">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="758" y="555" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-18" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-2" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-1" value="afficher VM disponibles">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="289" y="603" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-19" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-1" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-2" value="onImportConfirm(selectedVMs)">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="286" y="651" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-20" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-2" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-3" value="saveVirtualMachine(vm, lab.getId())">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="648" y="744" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49ikSOKzvfVB0mp2QI_f-21" edge="1" parent="1" source="49ikSOKzvfVB0mp2QI_f-2" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="49ikSOKzvfVB0mp2QI_f-1" value="refreshUI() → VM dans le labo">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="289" y="802" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
15 changes: 15 additions & 0 deletions docs/Diagrammes/Exporter-PDF.drawio

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions docs/Diagrammes/Importer-VM.drawio

Large diffs are not rendered by default.

Loading
Loading