Workbench maintenance
Le Workbench est l’écran de la maintenance opérationnelle pour un aéronef donné, accessible à
/fleet/:id/maintenance. Il s’ouvre dès qu’un
DT
(« Dossier de Travail ») est en cours sur cet aéronef et présente :
- l’arbre de configuration appliquée (CA) avec poses et déposes inline par point d’emploi ;
- le bandeau de divergence si la CA s’écarte de la décomposition source de la version produit ;
- un compteur synthétique (points d’emploi, posés, divergence) ;
- l’atelier de rattachement du DT et un bouton « Terminer la maintenance ».
Deux portes d’entrée vers les poses/déposes. Le Workbench
/fleet/:id/maintenanceest la porte d’entrée du flux d’enrôlement. Pour un DT de maintenance (curatif / préventif / mixte), le bouton « Voir le dossier en cours » mène désormais à la fiche du DT (/work-packages/:id), centrée sur les Ordres de travail ; le même arbre CA (poses/déposes) y est accessible via l’onglet « Poses / déposes ». C’est exactement le composant décrit ci-dessous, réutilisé dans la fiche du DT.
Les échéances dépassées (scheduler) sont consultables sur la fiche aéronef et sur la liste des
Dossiers de travail ; elles ne sont pas affichées directement dans le Workbench.
Ouvrir un dossier de travail
Quatre types (kinds) de DT, choisis à l’ouverture :
enrolment— décomposition initiale d’un aéronef neuf (mode posecreate, saisie libre des SN qui crée le StockItem atomiquement).curative— réaction à un défaut, un incident ou une non-conformité.preventive— exécution planifiée de tâches issues d’un PEA.mixed— combinaison curatif + préventif (chantier global).
Création d'un DT
- Déclencher depuis la fiche aéronef
Bouton contextuel : « Enrôler l’aéronef » (statut
to_enrol) ou « Démarrer la maintenance » (statutin_service). La modaleStartMaintenanceDialogpré-remplit le kind correspondant. - Renseigner le DT
Code, dates prévues, atelier de rattachement (workshopStorage), responsable, description. API : POST
/work-packages. - Ajouter des Ordres de Travail (OT)
Depuis le détail DT (
/work-packages/:id), modale « Ajouter un OT » → POST POST/work-orders. Chaque OT porte ses opérations (work-order-operations).
Poser et déposer dans la CA
Pose d'un composant
- Sélectionner un point d'emploi
Dans l’arbre, chaque slot libre affiche un picker. En mode
enrolment, saisie libre du SN (modecreate). En modecurative/preventive/mixed, sélection depuis l’inventaire de l’atelier (modepick). - Confirmer la pose
L’installation est créée atomiquement avec son
MeterSnapshotd’origine. API : POST/installations. - Dépose
Sur un point d’emploi occupé, bouton « Déposer » → modale
DeposeDialogqui demande le storage de retour. API : POST/installations/:id/uninstall.
Garde-fous métier à la pose
Avant toute pose (API ou UI), le backend vérifie quatre conditions bloquantes. La modale
InstallDialog les reflète par un bandeau d’erreur qui désactive le bouton :
- type d’article non installable (
PartType.isMountable=false) — outillages, conteneurs et consommables ne suivent pas le cycle pose/dépose. - réception technique R2 non validée (
StockItem.technicalReceptionStatus='pending') — un technicien navigabilité doit acter l’identification + les compteurs avant mise en service. - état impropre (
condition∉{new, serviceable}) — seuls les composants neufs ou utilisables peuvent être posés. - date d’expiration dépassée (
StockItem.expiryDate < aujourd'hui) — exigence EASA Part-145 / EMAR-FR M : un composant périmé doit être retiré du service ou remis en révision avant toute nouvelle utilisation.
Saisir les compteurs et données techniques
- Compteurs aéronef (heures, cycles, calendrier) : modale
MeterReadingFormModal→ POST/aircraft/:aircraftId/meter-readings. - Données techniques d’un composant posé (identification, snapshots compteurs, PEA affectés,
documents) :
TechnicalDataDrawerouvert depuis l’arbre CA.
Voir la page Programmes d’entretien pour comprendre comment les échéances qui peuplent les OT préventifs sont déclenchées.
Clôturer le DT
Une fois les opérations terminées, le bouton « Terminer la maintenance » transite le DT en
completed via POST/work-packages/:id/transition (payload
{ to: 'completed' }). Effets de bord :
- le statut de l’aéronef quitte
in_enrolmentoumaintenanceet bascule surin_service; - un
meterSnapshotAtCompletionest figé sur le DT (visible dans le détail) ; - l’audit log immuable conserve l’évènement.
La signature électronique conforme EASA Part-145 (APRS / CRS, horodatage RFC 3161) est prévue par le cadre réglementaire mais n’est pas encore implémentée dans le code. La clôture actuelle vaut accusé de fin d’opération, sans valeur de libération navigabilité.