Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
989654a
feat(data): add DatabaseManager, PdfExporter and temporary model stubs
akpmarcelin May 29, 2026
38ac373
feat(ui): validate final mockup & add data stubs
M4dnolyn May 30, 2026
83f7dea
feat(ui): sauvegarde avant merge role-3
M4dnolyn Jun 6, 2026
f77b570
feat(ui): modifications LabController
M4dnolyn Jun 11, 2026
ca438ab
Merge remote-tracking branch 'origin/develop' into feature/role-1-ui
M4dnolyn Jun 11, 2026
f98964d
merge: resolve conflicts, keep Role 3 models and Role 2 implementation
Jun 19, 2026
2e605d2
fix(data,pdf): adapt to Role 3 real model classes
Jun 20, 2026
eb159f9
back
M4dnolyn Jun 25, 2026
1be9395
UI: Alignement complet de l'interface avec la maquette et refactoring…
M4dnolyn Jun 25, 2026
787dbfc
feat(ui): phase1A - affichage dynamique des labos via mockLabs
M4dnolyn Jul 2, 2026
9db79f0
feat(ui): phase1B - selection labo affiche les VMs associees
M4dnolyn Jul 2, 2026
8db5026
feat(ui): selection VM active les controles contextuels
M4dnolyn Jul 2, 2026
ff897fd
feat(hypervisor): mock hypervisor conforme au contrat IHypervisor reel
M4dnolyn Jul 2, 2026
cb3c964
feat(ui): snapshots take/restore en asynchrone
M4dnolyn Jul 2, 2026
3fcd550
feat(ui): journal utilisateur dynamique avec horodatage
M4dnolyn Jul 2, 2026
e5cc781
feat(ui): audit automatique + accordeon system audit logs
M4dnolyn Jul 2, 2026
bec3661
feat(ui): import VM avec FileChooser (stub)
M4dnolyn Jul 2, 2026
a6bd6a3
feat(ui): export PDF avec FileChooser (stub)
M4dnolyn Jul 2, 2026
757056d
feat(ui): check
M4dnolyn Jul 2, 2026
8baa586
fix(ui): implementer onImportVMsClicked (mock) + corriger accolades r…
M4dnolyn Jul 2, 2026
12d8a64
feat(data): implement DatabaseManager with SQLite - 30 tests passing
Jul 4, 2026
210af6e
Merge pull request #4 from 4rthur-Root/feature/role-2
akpmarcelin Jul 4, 2026
48fdaf7
Merge pull request #3 from 4rthur-Root/feature/role-1-ui
akpmarcelin Jul 4, 2026
33a5c34
feat(pdf): implement PdfExporter with PDFBox - 15 tests passing
Jul 13, 2026
3312011
Merge pull request #6 from 4rthur-Root/feature/role-2
4rthur-Root Jul 13, 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
c159290
fix(tests): mise à jour de MockHypervisor avec la nouvelle interface …
M4dnolyn Jul 21, 2026
2d4121e
Merge pull request #8 from 4rthur-Root/feat/integration-role2-role3
M4dnolyn Jul 21, 2026
32e0ef5
Merge pull request #9 from 4rthur-Root/feature/role-1-ui
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
Binary file added docs/Images/Image collée.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Images/mockup-final.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions nbactions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<actions>
<action>
<actionName>run</actionName>
<packagings>
<packaging>jar</packaging>
</packagings>
<goals>
<goal>javafx:run</goal>
</goals>
<properties>
<exec.vmArgs></exec.vmArgs>
<exec.args>${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}</exec.args>
<exec.appArgs></exec.appArgs>
<exec.mainClass>${packageClassName}</exec.mainClass>
<exec.executable>java</exec.executable>
</properties>
</action>
</actions>
4 changes: 2 additions & 2 deletions src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@
opens tg.cyberlabmanager.controller to javafx.fxml;
opens tg.cyberlabmanager.ui to javafx.fxml;

// Exports publics
// ── Exports publics
exports tg.cyberlabmanager.app;
exports tg.cyberlabmanager.controller;
exports tg.cyberlabmanager.model;
exports tg.cyberlabmanager.data;
exports tg.cyberlabmanager.hypervisor;
exports tg.cyberlabmanager.pdf;
exports tg.cyberlabmanager.ui;
}
}
28 changes: 23 additions & 5 deletions src/main/java/tg/cyberlabmanager/app/CyberLabApp.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.stage.Stage;

import java.io.IOException;
import tg.cyberlabmanager.controller.LabController;

/**
* Application JavaFX principale de Cyber Lab Manager.
*/
public class CyberLabApp extends Application {

private LabController controller;

/**
* Cree l'application JavaFX.
*/
Expand All @@ -24,11 +26,27 @@ public CyberLabApp() {
* @throws IOException si le chargement du fichier FXML echoue
*/
@Override
public void start(Stage stage) throws IOException {
FXMLLoader loader = new FXMLLoader(CyberLabApp.class.getResource("/tg/cyberlabmanager/ui/main-view.fxml"));
Scene scene = new Scene(loader.load(), 900, 600);
public void start(Stage stage) throws Exception {
FXMLLoader loader = new FXMLLoader(
CyberLabApp.class.getResource("/tg/cyberlabmanager/ui/main-view.fxml")
);
Scene scene = new Scene(loader.load(), 1400, 820);
controller = loader.getController();
stage.setTitle("Cyber Lab Manager");
stage.setMinWidth(1100);
stage.setMinHeight(650);
stage.setScene(scene);
stage.show();
}

@Override
public void stop() {
if (controller != null) {
controller.shutdown();
}
}

public static void main(String[] args) {
launch(args);
}
}
Loading
Loading