Plateforme de supervision et de gestion de crise cyber, développée dans le cadre du projet SIRIUS à l'EPISEN (école d'ingénieur de l'université Paris-Est Créteil).
- KAMGA Roland
- LAFAGNE Ulysse
- MASSERON Alexandre
cybertrust-business-dto — DTOs partagés (entités, AuthContext, enums)
cybertrust-backend — Serveur WebSocket Java (port 45678)
cybertrust-cli — Client CLI de test
cybertrust-front — Interface web (HTML/JS vanilla + Tailwind CSS)
Le frontend communique exclusivement via WebSocket avec le backend. Chaque page ouvre une connexion WebSocket persistante et envoie des messages JSON { action, requestId, body }.
| Composant | Version |
|---|---|
| Java | 21 |
| Maven | 3.8+ |
| MySQL | 8+ |
-- Appliquer le schéma complet
source Modelisation/MPD_CybertrustDB.sql# Configurer la connexion DB
# cybertrust-backend/src/main/resources/cybertrust-server.properties
listeningPort=45678
db.url=jdbc:mysql://<host>:3306/cybertrustdb
db.user=cybertrust
db.password=your-password
# Compiler et lancer
mvn clean install -pl cybertrust-business-dto
mvn clean package -pl cybertrust-backend
java -jar cybertrust-backend/target/cybertrust-backend-*.jarLe frontend est servi statiquement. En développement :
# Avec le serveur inclus dans cybertrust-front, ou tout serveur HTTP statique
# Exemple avec Python :
cd cybertrust-front
python3 -m http.server 3000Accès : http://127.0.0.1:3000/cybertrust-front/pages/auth/login.html
Le frontend se connecte au backend via ws://172.31.250.204:45678 (configurable dans cybertrust-front/js/core/sockethandler.js).
| Service | Actions principales |
|---|---|
AUTH |
LOGIN, ME |
USER |
FIND_ACTIVE_BY_COMPANY, FIND_DETAIL_BY_ID, SAVE, UPDATE, UPDATE_STATUS |
COMPANY |
FIND_ALL, FIND_BY_ID, SAVE, UPDATE |
ROLE |
FIND_ALL, FIND_BY_ID, UPDATE |
CRISIS_CELL |
FIND_BY_COMPANY, FIND_BY_ID, SAVE, UPDATE, ADD_MEMBER, REMOVE_MEMBER |
CRISIS |
GET_ALL, GET_BY_ID, SAVE, UPDATE_STATUS, CLASSIFY |
CRISIS_TYPE |
GET_ALL, GET_BY_ID, SAVE, UPDATE |
CRISIS_LOG |
GET_BY_CRISIS, ADD |
TARGETS |
FIND_BY_CELL, FIND_BY_ID, SAVE, UPDATE, DEACTIVATE, DELETE |
VARIABLE |
GET_BY_TARGET, CREATE, UPDATE_STATUS |
MVARIABLE |
GET_BY_TARGET, SAVE, UPDATE, SET_THRESHOLD, DEACTIVATE, DELETE |
METRIC |
INGEST |
ALERT |
GET_HISTORY |
STATS |
GET_OVERVIEW, GET_BY_TARGET |
PLAYBOOK |
GET_ALL, GET_BY_ID, SAVE, UPDATE, UPDATE_STATUS, GET_RECOMMENDATIONS, RECORD_USAGE, GET_USAGE |
REPORT |
GENERATE, GET_ALL, GET_BY_ID |
| Rôle | Droits |
|---|---|
superadmin |
Accès complet toutes companies |
admin |
Gestion utilisateurs et cellules de sa company |
responsable |
Lecture + écriture sur ses cellules (cibles, métriques, seuils) |
analyst |
Lecture + gestion de crise sur ses cellules |
viewer |
Lecture seule |
pages/
auth/ — Login, set-password
iam/ — Gestion utilisateurs, rôles, invitations
crisisCell/ — Création et gestion des cellules de crise
monitoring/ — Dashboard temps réel, détail cible, détail crise
targets/ — Liste et détail des cibles
playbooks/ — Bibliothèque et édition des playbooks
reports/ — Génération et consultation des rapports