docs: add conception diagrams and business rules
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 3.1 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.9 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.2 MiB |
@@ -0,0 +1,235 @@
|
||||
```mermaid
|
||||
erDiagram
|
||||
|
||||
CAMPUS {
|
||||
int id PK
|
||||
string nom
|
||||
string adresse
|
||||
string ville
|
||||
string code_postal
|
||||
boolean actif
|
||||
datetime created_at
|
||||
datetime updated_at
|
||||
}
|
||||
|
||||
SALLE_PRET {
|
||||
int id PK
|
||||
string nom
|
||||
string localisation
|
||||
int campus_id FK
|
||||
boolean actif
|
||||
datetime created_at
|
||||
datetime updated_at
|
||||
}
|
||||
|
||||
POSTE_EMPRUNT {
|
||||
int id PK
|
||||
string nom
|
||||
string identifiant_poste
|
||||
int salle_pret_id FK
|
||||
boolean actif
|
||||
datetime created_at
|
||||
datetime updated_at
|
||||
}
|
||||
|
||||
ROLE {
|
||||
int id PK
|
||||
string code UK
|
||||
string libelle
|
||||
string description
|
||||
}
|
||||
|
||||
UTILISATEUR {
|
||||
int id PK
|
||||
string microsoft_id UK
|
||||
string nom
|
||||
string prenom
|
||||
string email UK
|
||||
string classe "nullable"
|
||||
int role_id FK
|
||||
int campus_id FK
|
||||
boolean actif
|
||||
datetime created_at
|
||||
datetime updated_at
|
||||
}
|
||||
|
||||
CARTE_ETUDIANTE {
|
||||
int id PK
|
||||
int utilisateur_id FK
|
||||
string qr_code
|
||||
datetime date_activation
|
||||
datetime date_expiration
|
||||
boolean actif
|
||||
datetime created_at
|
||||
datetime updated_at
|
||||
}
|
||||
|
||||
CATEGORIE_MATERIEL {
|
||||
int id PK
|
||||
string nom
|
||||
string description
|
||||
boolean actif
|
||||
datetime created_at
|
||||
datetime updated_at
|
||||
}
|
||||
|
||||
MATERIEL {
|
||||
int id PK
|
||||
string nom
|
||||
string marque
|
||||
string modele
|
||||
string reference
|
||||
string numero_inventaire
|
||||
string numero_serie
|
||||
string statut
|
||||
string etat_general
|
||||
int categorie_id FK
|
||||
int campus_id FK
|
||||
boolean actif
|
||||
datetime created_at
|
||||
datetime updated_at
|
||||
}
|
||||
|
||||
ACCESSOIRE {
|
||||
int id PK
|
||||
string nom
|
||||
string description
|
||||
boolean actif
|
||||
datetime created_at
|
||||
datetime updated_at
|
||||
}
|
||||
|
||||
MATERIEL_ACCESSOIRE {
|
||||
int id PK
|
||||
int materiel_id FK
|
||||
int accessoire_id FK
|
||||
int quantite_attendue
|
||||
boolean obligatoire
|
||||
}
|
||||
|
||||
EMPRUNT {
|
||||
int id PK
|
||||
int utilisateur_id FK
|
||||
int materiel_id FK
|
||||
int campus_id FK
|
||||
int salle_pret_id FK
|
||||
int poste_emprunt_id FK
|
||||
datetime date_emprunt
|
||||
datetime date_retour_prevue
|
||||
datetime date_retour_reelle
|
||||
string statut
|
||||
string mode_identification_emprunt
|
||||
string mode_identification_retour
|
||||
string commentaire_depart
|
||||
string commentaire_retour
|
||||
datetime created_at
|
||||
datetime updated_at
|
||||
}
|
||||
|
||||
CHECKLIST {
|
||||
int id PK
|
||||
int emprunt_id FK
|
||||
int utilisateur_id FK
|
||||
string type
|
||||
datetime date_verification
|
||||
string commentaire
|
||||
datetime created_at
|
||||
datetime updated_at
|
||||
}
|
||||
|
||||
CHECKLIST_ELEMENT {
|
||||
int id PK
|
||||
int checklist_id FK
|
||||
int accessoire_id FK
|
||||
string nom_element
|
||||
string etat
|
||||
int quantite_constatee
|
||||
string commentaire
|
||||
datetime created_at
|
||||
datetime updated_at
|
||||
}
|
||||
|
||||
ANOMALIE {
|
||||
int id PK
|
||||
int emprunt_id FK
|
||||
int materiel_id FK
|
||||
int utilisateur_id FK
|
||||
int traitee_par_id FK
|
||||
string type
|
||||
string description
|
||||
string statut
|
||||
boolean detectee_automatiquement
|
||||
string observation
|
||||
datetime date_detection
|
||||
datetime date_resolution
|
||||
datetime created_at
|
||||
datetime updated_at
|
||||
}
|
||||
|
||||
HISTORIQUE {
|
||||
int id PK
|
||||
int utilisateur_id FK
|
||||
int emprunt_id FK
|
||||
int materiel_id FK
|
||||
int campus_id FK
|
||||
int salle_pret_id FK
|
||||
int poste_emprunt_id FK
|
||||
string action
|
||||
string description
|
||||
datetime date_action
|
||||
datetime created_at
|
||||
}
|
||||
|
||||
NOTIFICATION {
|
||||
int id PK
|
||||
int utilisateur_id FK
|
||||
int anomalie_id FK
|
||||
string titre
|
||||
string message
|
||||
string type
|
||||
boolean lu
|
||||
datetime date_creation
|
||||
}
|
||||
|
||||
CAMPUS ||--o{ SALLE_PRET : "contient"
|
||||
CAMPUS ||--o{ UTILISATEUR : "rattache"
|
||||
CAMPUS ||--o{ MATERIEL : "possede"
|
||||
CAMPUS ||--o{ EMPRUNT : "localise"
|
||||
CAMPUS ||--o{ HISTORIQUE : "concerne"
|
||||
|
||||
SALLE_PRET ||--o{ POSTE_EMPRUNT : "possede"
|
||||
SALLE_PRET ||--o{ EMPRUNT : "concerne"
|
||||
SALLE_PRET ||--o{ HISTORIQUE : "localise"
|
||||
|
||||
POSTE_EMPRUNT ||--o{ EMPRUNT : "enregistre"
|
||||
POSTE_EMPRUNT ||--o{ HISTORIQUE : "trace_optionnelle"
|
||||
|
||||
ROLE ||--o{ UTILISATEUR : "attribue"
|
||||
|
||||
UTILISATEUR ||--o{ CARTE_ETUDIANTE : "possede"
|
||||
UTILISATEUR ||--o{ EMPRUNT : "effectue"
|
||||
UTILISATEUR ||--o{ CHECKLIST : "renseigne"
|
||||
UTILISATEUR ||--o{ ANOMALIE : "concerne"
|
||||
UTILISATEUR ||--o{ ANOMALIE : "traite"
|
||||
UTILISATEUR ||--o{ HISTORIQUE : "declenche"
|
||||
UTILISATEUR ||--o{ NOTIFICATION : "recoit"
|
||||
|
||||
CATEGORIE_MATERIEL ||--o{ MATERIEL : "classe"
|
||||
|
||||
MATERIEL ||--o{ MATERIEL_ACCESSOIRE : "possede"
|
||||
ACCESSOIRE ||--o{ MATERIEL_ACCESSOIRE : "compose"
|
||||
|
||||
MATERIEL ||--o{ EMPRUNT : "concerne"
|
||||
|
||||
EMPRUNT ||--o{ CHECKLIST : "possede"
|
||||
CHECKLIST ||--o{ CHECKLIST_ELEMENT : "contient"
|
||||
ACCESSOIRE ||--o{ CHECKLIST_ELEMENT : "verifie"
|
||||
|
||||
EMPRUNT ||--o{ ANOMALIE : "genere"
|
||||
MATERIEL ||--o{ ANOMALIE : "concerne"
|
||||
|
||||
EMPRUNT ||--o{ HISTORIQUE : "trace"
|
||||
MATERIEL ||--o{ HISTORIQUE : "concerne"
|
||||
|
||||
ANOMALIE ||--o{ NOTIFICATION : "genere"
|
||||
```
|
||||
@@ -0,0 +1,240 @@
|
||||
```mermaid
|
||||
classDiagram
|
||||
|
||||
class Campus {
|
||||
+int id
|
||||
+String nom
|
||||
+String adresse
|
||||
+String ville
|
||||
+String codePostal
|
||||
+Boolean actif
|
||||
}
|
||||
|
||||
class SallePret {
|
||||
+int id
|
||||
+String nom
|
||||
+String localisation
|
||||
+Boolean actif
|
||||
}
|
||||
|
||||
class PosteEmprunt {
|
||||
+int id
|
||||
+String nom
|
||||
+String identifiantPoste
|
||||
+Boolean actif
|
||||
}
|
||||
|
||||
class Utilisateur {
|
||||
+int id
|
||||
+String microsoftId
|
||||
+String nom
|
||||
+String prenom
|
||||
+String email
|
||||
+String classe
|
||||
+Boolean actif
|
||||
}
|
||||
|
||||
class Role {
|
||||
+int id
|
||||
+String code
|
||||
+String libelle
|
||||
+String description
|
||||
}
|
||||
|
||||
class CarteEtudiante {
|
||||
+int id
|
||||
+String qrCode
|
||||
+DateTime dateActivation
|
||||
+DateTime dateExpiration
|
||||
+Boolean actif
|
||||
}
|
||||
|
||||
class CategorieMateriel {
|
||||
+int id
|
||||
+String nom
|
||||
+String description
|
||||
+Boolean actif
|
||||
}
|
||||
|
||||
class Materiel {
|
||||
+int id
|
||||
+String nom
|
||||
+String marque
|
||||
+String modele
|
||||
+String reference
|
||||
+String numeroInventaire
|
||||
+String numeroSerie
|
||||
+StatutMateriel statut
|
||||
+String etatGeneral
|
||||
+Boolean actif
|
||||
+verifierDisponibilite()
|
||||
+changerStatut()
|
||||
}
|
||||
|
||||
class Accessoire {
|
||||
+int id
|
||||
+String nom
|
||||
+String description
|
||||
+Boolean actif
|
||||
}
|
||||
|
||||
class MaterielAccessoire {
|
||||
+int id
|
||||
+int materielId
|
||||
+int accessoireId
|
||||
+int quantiteAttendue
|
||||
+Boolean obligatoire
|
||||
}
|
||||
|
||||
class Emprunt {
|
||||
+int id
|
||||
+DateTime dateEmprunt
|
||||
+DateTime dateRetourPrevue
|
||||
+DateTime dateRetourReelle
|
||||
+StatutEmprunt statut
|
||||
+ModeIdentification modeIdentificationEmprunt
|
||||
+ModeIdentification modeIdentificationRetour
|
||||
+String commentaireDepart
|
||||
+String commentaireRetour
|
||||
+creer()
|
||||
+enregistrerRetour()
|
||||
+cloturer()
|
||||
+marquerEnRetard()
|
||||
}
|
||||
|
||||
class Checklist {
|
||||
+int id
|
||||
+TypeChecklist type
|
||||
+DateTime dateVerification
|
||||
+String commentaire
|
||||
+valider()
|
||||
}
|
||||
|
||||
class ChecklistElement {
|
||||
+int id
|
||||
+String nomElement
|
||||
+EtatChecklistElement etat
|
||||
+int quantiteConstatee
|
||||
+String commentaire
|
||||
}
|
||||
|
||||
class Anomalie {
|
||||
+int id
|
||||
+String type
|
||||
+String description
|
||||
+StatutAnomalie statut
|
||||
+Boolean detecteeAutomatiquement
|
||||
+String observation
|
||||
+DateTime dateDetection
|
||||
+DateTime dateResolution
|
||||
+ajouterObservation()
|
||||
+changerStatut()
|
||||
+cloturer()
|
||||
}
|
||||
|
||||
class Historique {
|
||||
+int id
|
||||
+String action
|
||||
+String description
|
||||
+DateTime dateAction
|
||||
}
|
||||
|
||||
class Notification {
|
||||
+int id
|
||||
+String titre
|
||||
+String message
|
||||
+String type
|
||||
+Boolean lu
|
||||
+DateTime dateCreation
|
||||
+marquerCommeLue()
|
||||
}
|
||||
|
||||
class StatutMateriel {
|
||||
<<enumeration>>
|
||||
DISPONIBLE
|
||||
EMPRUNTE
|
||||
NON_CONFORME
|
||||
DETERIORE
|
||||
MAINTENANCE
|
||||
INDISPONIBLE
|
||||
}
|
||||
|
||||
class StatutEmprunt {
|
||||
<<enumeration>>
|
||||
EN_COURS
|
||||
EN_RETARD
|
||||
CLOTURE
|
||||
RETOUR_NON_CONFORME
|
||||
ANNULE
|
||||
}
|
||||
|
||||
class TypeChecklist {
|
||||
<<enumeration>>
|
||||
DEPART
|
||||
RETOUR
|
||||
}
|
||||
|
||||
class EtatChecklistElement {
|
||||
<<enumeration>>
|
||||
PRESENT
|
||||
ABSENT
|
||||
DETERIORE
|
||||
}
|
||||
|
||||
class StatutAnomalie {
|
||||
<<enumeration>>
|
||||
DETECTEE
|
||||
EN_COURS_TRAITEMENT
|
||||
RESOLUE
|
||||
CLOTUREE
|
||||
}
|
||||
|
||||
class ModeIdentification {
|
||||
<<enumeration>>
|
||||
QR_CODE
|
||||
MAIL_ENSUP
|
||||
}
|
||||
|
||||
Campus "1" --> "0..*" SallePret : contient
|
||||
Campus "1" --> "0..*" Utilisateur : rattache
|
||||
Campus "1" --> "0..*" Materiel : possede
|
||||
Campus "1" --> "0..*" Emprunt : localise
|
||||
Campus "0..1" --> "0..*" Historique : concerne_campus
|
||||
|
||||
SallePret "1" --> "0..*" PosteEmprunt : possede
|
||||
SallePret "1" --> "0..*" Emprunt : concerne
|
||||
SallePret "0..1" --> "0..*" Historique : localise
|
||||
|
||||
PosteEmprunt "1" --> "0..*" Emprunt : enregistre
|
||||
PosteEmprunt "0..1" --> "0..*" Historique : trace
|
||||
|
||||
Role "1" --> "0..*" Utilisateur : attribue
|
||||
Utilisateur "1" --> "0..*" CarteEtudiante : possede
|
||||
|
||||
Utilisateur "1" --> "0..*" Emprunt : effectue
|
||||
Utilisateur "1" --> "0..*" Checklist : renseigne
|
||||
Utilisateur "1" --> "0..*" Historique : declenche
|
||||
Utilisateur "1" --> "0..*" Notification : recoit
|
||||
|
||||
CategorieMateriel "1" --> "0..*" Materiel : classe
|
||||
|
||||
Materiel "1" --> "0..*" MaterielAccessoire : possede
|
||||
Accessoire "1" --> "0..*" MaterielAccessoire : compose
|
||||
|
||||
Materiel "1" --> "0..*" Emprunt : concerne
|
||||
|
||||
Emprunt "1" --> "1..2" Checklist : possede
|
||||
Checklist "1" --> "1..*" ChecklistElement : contient
|
||||
Accessoire "0..1" --> "0..*" ChecklistElement : verifie
|
||||
|
||||
Emprunt "1" --> "0..*" Anomalie : genere
|
||||
Materiel "1" --> "0..*" Anomalie : concerne
|
||||
Utilisateur "1" --> "0..*" Anomalie : concerne_etudiant
|
||||
Utilisateur "0..1" --> "0..*" Anomalie : traitee_par_responsable
|
||||
|
||||
Emprunt "0..1" --> "0..*" Historique : trace
|
||||
Materiel "0..1" --> "0..*" Historique : concerne
|
||||
|
||||
Anomalie "0..1" --> "0..*" Notification : genere
|
||||
|
||||
```
|
||||
@@ -0,0 +1,153 @@
|
||||
# Règles métier — EME
|
||||
## Nouveau workflow d'emprunt et de restitution autonome
|
||||
|
||||
Les règles métier définissent les contraintes fonctionnelles que l'application EME — Emprunt Matériel ENSUP doit respecter dans le cadre du nouveau workflow validé.
|
||||
|
||||
> **Terminologie :** le terme **« responsable matériel »** désigne tout membre habilité de l'équipe pédagogique disposant du rôle technique `RESPONSABLE`. Il s'agit d'une habilitation accordée à un membre de l'équipe pédagogique, et non d'un poste dédié à part entière.
|
||||
|
||||
---
|
||||
|
||||
## 1. Identification de l'étudiant
|
||||
|
||||
**RG01 — Identification obligatoire**
|
||||
L'étudiant doit obligatoirement être identifié avant de pouvoir emprunter ou restituer du matériel. Si l'étudiant n'est pas reconnu, l'accès au parcours est refusé.
|
||||
|
||||
**RG02 — Modes d'identification autorisés**
|
||||
L'identification se fait par scan du QR code de la carte étudiante dématérialisée ou par saisie du mail ENSUP. Le mode utilisé doit être conservé pour chaque opération.
|
||||
|
||||
**RG03 — Récupération automatique du profil**
|
||||
Après identification, le système récupère automatiquement les informations de l'étudiant : nom, prénom, mail, classe et campus.
|
||||
|
||||
---
|
||||
|
||||
## 2. Poste dédié et salle de prêt
|
||||
|
||||
**RG04 — Opérations depuis un poste dédié**
|
||||
Les opérations d'emprunt et de restitution doivent être réalisées depuis un poste informatique dédié rattaché à une salle de prêt, elle-même rattachée à un campus.
|
||||
|
||||
**RG05 — Traçabilité du lieu d'opération**
|
||||
Chaque emprunt et restitution doit être associé au poste dédié, à la salle de prêt et au campus utilisés.
|
||||
|
||||
---
|
||||
|
||||
## 3. Matériel
|
||||
|
||||
**RG06 — Identification unique du matériel**
|
||||
Chaque matériel doit être identifié de manière unique par une référence, un numéro d'inventaire ou un numéro de série, et rattaché à une catégorie, un campus et un statut.
|
||||
|
||||
**RG07 — Disponibilité du matériel**
|
||||
Seuls les matériels ayant le statut `DISPONIBLE` peuvent être empruntés. Un matériel emprunté, non conforme, détérioré, en maintenance ou indisponible ne peut pas faire l'objet d'un nouvel emprunt.
|
||||
|
||||
**RG08 — Accessoires attendus**
|
||||
Chaque matériel peut être associé à une liste d'accessoires attendus (chargeur, souris, câble, housse, etc.).
|
||||
|
||||
---
|
||||
|
||||
## 4. Emprunt
|
||||
|
||||
**RG09 — Démarrage du parcours d'emprunt**
|
||||
L'étudiant doit choisir l'action `Emprunter` depuis l'écran d'accueil, puis s'identifier, pour démarrer un emprunt.
|
||||
|
||||
**RG10 — Affichage des matériels disponibles**
|
||||
Après identification, le système affiche uniquement les matériels disponibles du campus concerné.
|
||||
|
||||
**RG11 — Checklist de départ obligatoire**
|
||||
Une checklist de départ doit être obligatoirement renseignée avant la création de l'emprunt. Elle reprend les accessoires attendus du matériel sélectionné. L'étudiant indique pour chaque élément son état : `PRESENT`, `ABSENT` ou `DETERIORE`.
|
||||
|
||||
**RG12 — Création automatique de l'emprunt**
|
||||
Après validation de la checklist de départ, le système crée automatiquement l'emprunt, enregistre la date et l'heure, et fait passer le matériel au statut `EMPRUNTE`.
|
||||
|
||||
**RG13 — Détection automatique des emprunts en retard**
|
||||
Lorsqu'un emprunt dépasse sa date de retour prévue sans avoir été restitué, son statut passe automatiquement à `EN_RETARD` et il apparaît dans le tableau de bord du responsable matériel.
|
||||
|
||||
---
|
||||
|
||||
## 5. Restitution
|
||||
|
||||
**RG14 — Démarrage du parcours de restitution**
|
||||
L'étudiant doit choisir l'action `Restituer` depuis l'écran d'accueil, puis s'identifier, pour démarrer une restitution.
|
||||
|
||||
**RG15 — Affichage des emprunts en cours**
|
||||
Après identification, le système affiche uniquement les emprunts en cours de l'étudiant identifié. Un étudiant ne peut restituer que ses propres emprunts.
|
||||
|
||||
**RG16 — Checklist de retour obligatoire**
|
||||
Une checklist de retour doit obligatoirement être renseignée. Elle reprend les mêmes éléments que la checklist de départ pour permettre la comparaison.
|
||||
|
||||
**RG17 — Comparaison automatique des checklists**
|
||||
Le système compare automatiquement la checklist de départ avec la checklist de retour pour déterminer la conformité de la restitution.
|
||||
|
||||
**RG18 — Retour conforme**
|
||||
Si la checklist de retour correspond à celle de départ, l'emprunt est clôturé et le matériel repasse au statut `DISPONIBLE`.
|
||||
|
||||
**RG19 — Retour non conforme**
|
||||
Si une différence est détectée, l'emprunt passe au statut `RETOUR_NON_CONFORME` et le matériel peut passer à `NON_CONFORME`, `DETERIORE`, `MAINTENANCE` ou `INDISPONIBLE` selon le problème détecté.
|
||||
|
||||
---
|
||||
|
||||
## 6. Anomalies
|
||||
|
||||
**RG20 — Création automatique d'une anomalie**
|
||||
Une anomalie est créée automatiquement si un élément présent au départ est absent au retour, ou si un élément est déclaré détérioré au retour.
|
||||
|
||||
**RG21 — Association de l'anomalie**
|
||||
Chaque anomalie doit être associée à l'étudiant concerné, au matériel, à l'emprunt et aux éléments de checklist concernés.
|
||||
|
||||
**RG22 — Visibilité des anomalies**
|
||||
Les anomalies sont visibles par le responsable matériel dans son tableau de bord. Un étudiant peut consulter les anomalies liées à ses propres emprunts.
|
||||
|
||||
**RG23 — Traitement des anomalies**
|
||||
Le responsable matériel peut consulter une anomalie, ajouter une observation et modifier son statut selon le cycle : `DETECTEE` → `EN_COURS_TRAITEMENT` → `RESOLUE` → `CLOTUREE`.
|
||||
|
||||
---
|
||||
|
||||
## 7. Notifications
|
||||
|
||||
**RG24 — Création automatique d'une notification**
|
||||
Lors de la création d'une anomalie, une notification est créée automatiquement et adressée au responsable matériel concerné.
|
||||
|
||||
**RG25 — Persistance et lecture des notifications**
|
||||
Les notifications sont enregistrées en base, consultables a posteriori, et peuvent être marquées comme lues par leur destinataire.
|
||||
|
||||
---
|
||||
|
||||
## 8. Supervision par le responsable matériel
|
||||
|
||||
**RG26 — Périmètre de supervision**
|
||||
Le responsable matériel agit a posteriori et n'intervient pas en temps réel dans le parcours étudiant. Son rôle est la supervision, la gestion du stock et le traitement des anomalies.
|
||||
|
||||
**RG27 — Filtrage par campus**
|
||||
Un responsable matériel ne peut consulter que les données (matériels, emprunts, anomalies, historique) du campus auquel il est rattaché.
|
||||
|
||||
**RG28 — Consultation des emprunts**
|
||||
Le responsable matériel peut consulter les emprunts en cours, en retard, clôturés et les retours non conformes.
|
||||
|
||||
**RG29 — Consultation du stock**
|
||||
Le responsable matériel peut consulter l'état du stock et les statuts des matériels.
|
||||
|
||||
**RG30 — Gestion du matériel et des accessoires**
|
||||
Le responsable matériel peut gérer les matériels, les accessoires associés, les checklists liées et faire évoluer les statuts.
|
||||
|
||||
**RG31 — Consultation de l'historique**
|
||||
Le responsable matériel peut consulter l'historique des emprunts, restitutions, anomalies et changements de statut.
|
||||
|
||||
---
|
||||
|
||||
## 9. Historique et traçabilité
|
||||
|
||||
**RG32 — Historisation des actions importantes**
|
||||
Toute opération importante doit être enregistrée dans l'historique : identification d'un étudiant, création d'un emprunt, validation des checklists, restitution, comparaison, création d'une anomalie, changement de statut d'un matériel et traitement d'une anomalie.
|
||||
|
||||
**RG33 — Informations conservées dans l'historique**
|
||||
L'historique doit conserver la date, l'heure, l'utilisateur concerné, le matériel concerné, le poste utilisé, la salle de prêt, le campus et l'action réalisée.
|
||||
|
||||
---
|
||||
|
||||
## Résumé
|
||||
|
||||
Les règles métier du nouveau workflow EME reposent sur un principe d'**autonomie de l'étudiant**.
|
||||
|
||||
L'étudiant emprunte ou restitue son matériel depuis un poste dédié, s'identifie par QR code ou mail ENSUP, complète une checklist au départ et au retour, puis le système compare automatiquement les informations saisies.
|
||||
|
||||
En cas de différence, une anomalie est créée automatiquement et une notification est envoyée au responsable matériel. L'ensemble des opérations est historisé afin de garantir la traçabilité.
|
||||
|
||||
Le responsable matériel agit **a posteriori** : il consulte, traite les anomalies, gère le stock et l'historique de son campus, sans intervenir en temps réel dans le parcours étudiant.
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user