
## Prompt pour Génération de Diagrammes de Séquence (Projet OCP Gestion
des Arrêts)
**Objectif :** Générer des diagrammes de séquence UML illustrant les
principaux cas d'utilisation de l'application web de gestion des arrêts
d'équipement pour le service OIJ/I de l'OCP Jorf Lasfar.
**Format Souhaité :** Code PlantUML pour chaque diagramme.
**Contexte du Système :**
* Application Web composée d'un Frontend (Vue.js), d'un Backend
(Laravel API) et d'une Base de Données (BDD).
* Un système de notification (interne ou externe) peut être impliqué.
* Acteurs principaux : Opérateur, Technicien de Maintenance,
Superviseur.
**Diagrammes de Séquence à Générer :**
**1. Déclaration d'un Nouvel Arrêt par un Opérateur**
* **Acteurs :** Opérateur, Frontend, Backend, BDD, Service de
Notification.
* **Scénario :**
1. L'Opérateur se connecte à l'application (interaction non
détaillée ici, supposée réussie).
2. L'Opérateur accède au formulaire de déclaration d'arrêt via le
Frontend.
3. L'Opérateur remplit les informations (équipement, description,
criticité initiale, éventuellement photos) et soumet le formulaire.
4. Le Frontend envoie une requête API (POST /api/arrets) au Backend
avec les données.
5. Le Backend valide les données.
6. Le Backend enregistre le nouvel arrêt dans la BDD (état initial :
"Déclaré").
7. Le Backend récupère l'ID de l'arrêt créé.
8. Le Backend demande au Service de Notification d'envoyer une
alerte aux Superviseurs concernés.
9. Le Backend retourne une réponse de succès (avec l'ID de l'arrêt)
au Frontend.
10. Le Frontend affiche un message de confirmation à l'Opérateur.
**2. Assignation d'un Arrêt par un Superviseur**
* **Acteurs :** Superviseur, Frontend, Backend, BDD, Service de
Notification.
* **Scénario :**
1. Le Superviseur se connecte.
2. Le Superviseur consulte la liste des arrêts non assignés via le
Frontend (requête GET /api/arrets?status=nouveau).
3. Le Backend récupère les arrêts depuis la BDD et les renvoie au
Frontend.
4. Le Frontend affiche la liste.
5. Le Superviseur sélectionne un arrêt et choisit une
équipe/technicien à assigner.
6. Le Frontend envoie une requête API (PUT /api/arrets/{id}/assign)
au Backend avec l'ID du technicien/équipe.
7. Le Backend met à jour le statut de l'arrêt ("Assigné") et l'ID de
l'assigné dans la BDD.
8. Le Backend demande au Service de Notification d'informer le
Technicien/équipe assigné.
9. Le Backend retourne une réponse de succès au Frontend.
10. Le Frontend met à jour l'affichage et confirme l'assignation au
Superviseur.