Maintenance d’outillage

Un outil de maintenance (clé dynamométrique, banc de test, GSE, etc.) doit lui aussi suivre un cycle de maintenance périodique : étalonnage, révision, inspection visuelle, remplacement de consommables internes (piles, lubrifiant). C’est une exigence EASA Part-145 §145.A.40 — outillage et équipements doivent être en cycle valide au moment de l’utilisation.

Le principe Envergure : on réutilise les mêmes briques que pour les aéronefs. Un PRE, un PEA, un DT, un OT, des matériels (L5-A/C), un certificat scanné en pièce jointe — exactement le même moteur, simplement appliqué à un outil au lieu d’un avion.

Pourquoi ne pas avoir un module « calibration » dédié ?

Une première approche aurait été de stocker la date du dernier étalonnage et la date d’expiration directement sur l’outil (StockItem), avec un statut calculé. C’est ce qui a été tenté en première itération (L5-B), puis abandonné au profit du modèle PRE/PEA.

Raisons :

  • DRY : le moteur PRE → tâches → triggers → opérations → OT → matériels existe déjà. Le réimplémenter pour l’outillage = duplication coûteuse à maintenir.
  • Granularité : un outil n’a pas qu’un cycle d’étalonnage. La même clé dynamométrique peut avoir :
    • étalonnage 12 mois → tâche PRE avec trigger calendaire
    • inspection visuelle avant chaque utilisation → tâche PRE déclenchée par un compteur d’utilisations
    • remplacement piles électroniques 24 mois → tâche PRE + matériels (L5-A : piles consommable)
    • révision générale 5 ans → tâche PRE NTI3
  • Statut / alertes / planning : intégrés au scheduler global, pas un silo séparé.
  • Cohérence formation utilisateur : « tu sais gérer la maintenance d’un avion → c’est pareil pour un outil ».

Le modèle

Concept Pour un aéronef Pour un outillage
Référentiel du cycle PRE Rafale PRE Outillage clé dynamo 50 Nm
Tâche Visite Périodique 500 h Étalonnage annuel COFRAC
Trigger Heures de vol = 500 Calendaire 365 jours
Cible de la tâche Famille / variante / version d’avion PartNumber outillage (trackingLevel=component)
PEA PEA Rafale F3R AAE/MN PEA Outillage Rafale
DT Cible Aircraft Cible StockItem (XOR avec aircraft)
OT Opérations + matériels (L5-A/C) Idem, le moteur ne change pas
Audit Part-145 Tracé sur l’OT Idem

Étapes de mise en place

Mettre un outillage en cycle de maintenance

  1. 1. Créer le PartNumber outillage

    Sur la fiche Catalogue articles, créez l’article avec PartType = Outillage. Le flag isTool sera à true automatiquement. Tracking mode : serialized si chaque exemplaire est tracé individuellement (cas habituel pour l’outillage).

  2. 2. Créer le PRE

    Sur la fiche PRE, créez un nouveau Plan Recommandé d’Entretien dédié à cet outil (ex. PRE-OUTILLAGE-CLE-DYNAMO-50NM). Pas besoin de cible aircraft.

  3. 3. Ajouter la tâche d'étalonnage

    Dans le PRE, créez la tâche (ex. « Étalonnage annuel COFRAC ») et choisissez Suivi : Composant, puis sélectionnez l’outillage dans le picker. Le PEA héritera automatiquement de ces deux champs à l’instanciation — aucune saisie manuelle côté PEA.

  4. 4. Définir les triggers

    Ajoutez un trigger sur le compteur calendaire — intervalle 365 jours. Ou un trigger sur le compteur « Utilisations » si vous mesurez en cycles d’usage. Plusieurs triggers possibles pour le même outil (calendaire + usage).

  5. 5. Définir les opérations

    Une tâche peut avoir N opérations. Pour un étalonnage typique : « Envoi au laboratoire », « Réception et vérification du certificat », etc. Le BOM template (L5-A) permet de déclarer les consommables nécessaires (joints, scellant, lubrifiant).

  6. 6. Créer un PEA outillage et l'assigner au StockItem

    Un Plan d’Entretien Aéronef (PEA) agrège plusieurs PRE. Créez-en un dédié à l’outillage qui inclut votre nouveau PRE, puis assignez-le au StockItem outil concerné depuis le drawer « Données techniques ». Sans cette assignation, aucun OT préventif ne sera autorisé sur le DT outillage (garde-fou L5-B’).

  7. 7. Créer le DT à l'échéance

    Sur la fiche StockItem outillage, cliquez « + Créer un DT ». Renseignez le code, le type (généralement preventive pour un étalonnage). À l’ouverture, vous pourrez y ajouter un OT lié à la tâche PRE — les opérations et matériels sont snapshot-és automatiquement. Le sélecteur « PEA assigné » est alimenté par les PEAs assignés au StockItem.

Différence avec la maintenance aéronef

Concrètement, rien ne change sauf la cible du DT :

  • DT aéronef : aircraftId non-null, stockItemId null. Le DT affiche l’immat dans son fil d’Ariane et son en-tête.
  • DT outillage : aircraftId null, stockItemId non-null. Le DT affiche le PartNumber + SN de l’outil dans son fil d’Ariane.

Le snapshot des compteurs à la complétion est limité à la cible (un outil n’a pas de compteur aéronef, mais peut avoir un compteur composant — cycles d’utilisation). Le hook d’auto-init AppliedConfiguration est ignoré pour un DT outillage (concept aéronef uniquement).

Tout le reste — états du DT, transitions, snapshot OT, matériels (L5-A/C), audit Part-145, soft-delete 36 mois — fonctionne à l’identique.

Exemple : clé dynamométrique 50 Nm Norbar

Le seed démo crée :

  • PartNumber : CLE-DYNAMO-50NM / « Clé dynamométrique 50 Nm — Norbar », PartType tooling
  • StockItem sérialisé : 1 exemplaire (SN-NRB-50-001) en stock atelier
  • PRE : PRE-OUTILLAGE-CLE-DYNAMO-50NM
  • Tâche : « Étalonnage annuel COFRAC », trackingLevel=component, ciblant le PartNumber
  • Trigger : calendaire 365 jours
  • Opération : « Envoi laboratoire COFRAC + réception certificat »

À l’arrivée de l’échéance, un opérationnel ouvre la fiche StockItem de la clé, clique « + Créer un DT », et le système prépare tout le cadre administratif Part-145 pour tracer l’étalonnage.

Limites V1

  • Pas de scheduler automatique pour outillage : pour l’instant, c’est l’opérationnel qui crée le DT manuellement à l’échéance via le bouton sur la fiche StockItem. Le scheduler component (L4-C) supporte techniquement la cible PartNumber, mais l’UI worklist outillage viendra en V2.
  • Pas de snapshot ComponentMeterReading à la complétion d’un DT outillage. Le snapshot meterSnapshotAtCompletion reste null tant que la fonctionnalité n’est pas étendue (V2).

Voir aussi