{
    "uuid": "2cbff9a471e8bf82e29651b41ca7367d",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Contrôle sécurité robot industriel",
    "description": "Contrôle de sécurité des robots industriels polyarticulés, cellule robotisée et scrutateur laser selon ISO 10218",
    "export_date": "2026-05-26 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "rob_etablissement",
            "label": "Établissement",
            "type": "varchar",
            "size": "200",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nom et adresse du site",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rob_cellule",
            "label": "Cellule \/ îlot",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Identification de la cellule",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rob_marque_modele",
            "label": "Marque et modèle robot",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Constructeur, référence",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rob_numero_serie",
            "label": "Numéro de série",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Identifiant constructeur",
            "pos": 130,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rob_charge_utile",
            "label": "Charge utile (kg)",
            "type": "double",
            "size": "10,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Capacité de charge en bout de bras",
            "pos": 140,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rob_portee",
            "label": "Portée (mm)",
            "type": "int",
            "size": "8",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Rayon d'action",
            "pos": 150,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rob_type",
            "label": "Type de robot",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "polyarticule_6axes": "Polyarticulé 6 axes",
                    "polyarticule_7axes": "Polyarticulé 7 axes",
                    "scara": "SCARA",
                    "delta": "Delta",
                    "cartesien": "Cartésien",
                    "cobot": "Cobot collaboratif"
                }
            },
            "help": "Architecture du robot",
            "pos": 160,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "polyarticule_6axes",
            "alwayseditable": 0
        },
        {
            "name": "type_intervention",
            "label": "Type de contrôle",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "mise_en_service": "Mise en service",
                    "periodique_12mois": "Contrôle périodique 12 mois",
                    "apres_modification": "Après modification cellule",
                    "apres_incident": "Après incident",
                    "controle_securite": "Contrôle des sécurités"
                }
            },
            "help": "Nature du contrôle",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "periodique_12mois",
            "alwayseditable": 0
        },
        {
            "name": "verif_enceinte",
            "label": "Enceinte de sécurité OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Grilles, panneaux, accès",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_scrutateur_laser",
            "label": "Scrutateur laser OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Zones, configuration, propreté",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_barrieres_immat",
            "personal_data": 1,
            "label": "Barrières immatérielles OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Alignement, déclenchement",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_inter_portes",
            "label": "Inter portes \/ accès OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Contacts à sécurité positive",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_arret_urgence",
            "label": "Arrêt d'urgence OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Coup de poing armoire et pupitre",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_homme_mort",
            "label": "Bouton homme mort OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Sur pupitre de teach",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_vitesse_reduite",
            "label": "Vitesse réduite mode T1 OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Max 250 mm\/s mode apprentissage",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_zones_securisees",
            "label": "Zones logicielles sécurisées OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Safe zones, safe limits",
            "pos": 370,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_mecanique_robot",
            "label": "Mécanique robot OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Jeux, lubrification, freins",
            "pos": 380,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_prehenseur",
            "label": "Préhenseur \/ outil OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pince, ventouse, perche",
            "pos": 390,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_marquage_signal",
            "label": "Marquage et signalisation OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pictogrammes, gyrophare",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "anomalies_constatees",
            "label": "Anomalies constatées",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Description détaillée",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "mesures_correctives",
            "label": "Mesures correctives",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Actions réalisées ou à prévoir",
            "pos": 510,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "conclusion",
            "label": "Conclusion",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "apte": "APTE à la production",
                    "apte_reserve": "APTE avec réserves",
                    "inapte": "INAPTE - Cellule consignée"
                }
            },
            "help": "Résultat du contrôle",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "apte",
            "alwayseditable": 0
        },
        {
            "name": "date_prochain_controle",
            "label": "Date prochain contrôle",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "12 mois maximum",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "controleur_nom",
            "personal_data": 1,
            "label": "Nom du contrôleur",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Personne compétente",
            "pos": 700,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "qualification",
            "label": "Qualification",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Formation et habilitation robotique",
            "pos": 710,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        }
    ],
    "pdf_layout": {
        "version": "1.0",
        "page": {
            "format": "A4",
            "orientation": "portrait",
            "margins": { "top": 20, "right": 15, "bottom": 20, "left": 15 },
            "font_family": "helvetica",
            "font_size": 10
        },
        "header": {
            "title": "Fiche de contrôle - Robot industriel",
            "subtitle": "Conforme ISO 10218 et directive machines",
            "logo_placeholder": "top-right",
            "show_page_number": true,
            "show_generated_date": true
        },
        "footer": {
            "text": "Document généré via schemas.cap-rel.fr",
            "legal_mentions": "Document à conserver selon la réglementation en vigueur"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification de la cellule robotisée",
                "layout": "two_columns",
                "fields": [
                    "rob_etablissement",
                    "rob_cellule",
                    "rob_marque_modele",
                    "rob_numero_serie",
                    "rob_charge_utile",
                    "rob_portee",
                    "rob_type"
                ]
            },
            {
                "id": "intervention",
                "title": "Type de contrôle",
                "layout": "single_column",
                "fields": ["type_intervention"]
            },
            {
                "id": "protection_perimetrique",
                "title": "Protection périmétrique",
                "layout": "checklist",
                "fields": [
                    "verif_enceinte",
                    "verif_scrutateur_laser",
                    "verif_barrieres_immat",
                    "verif_inter_portes"
                ]
            },
            {
                "id": "securite_commande",
                "title": "Sécurités de commande",
                "layout": "checklist",
                "fields": [
                    "verif_arret_urgence",
                    "verif_homme_mort",
                    "verif_vitesse_reduite",
                    "verif_zones_securisees"
                ]
            },
            {
                "id": "robot_outil",
                "title": "Robot et outillage",
                "layout": "checklist",
                "fields": [
                    "verif_mecanique_robot",
                    "verif_prehenseur",
                    "verif_marquage_signal"
                ]
            },
            {
                "id": "observations",
                "title": "Anomalies et mesures correctives",
                "layout": "full_width",
                "fields": [
                    "anomalies_constatees",
                    "mesures_correctives"
                ]
            },
            {
                "id": "conclusion",
                "title": "Conclusion du contrôle",
                "layout": "highlight_box",
                "fields": ["conclusion", "date_prochain_controle"]
            },
            {
                "id": "signatures",
                "title": "Contrôleur",
                "layout": "signature_block",
                "fields": ["controleur_nom", "qualification"],
                "signature_boxes": [
                    { "label": "Signature contrôleur", "for_field": "controleur_nom" },
                    { "label": "Signature responsable production", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "rob_etablissement": { "style": "bold" },
            "conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "apte": "#1f8a1f",
                    "apte_reserve": "#e69500",
                    "inapte": "#c00000"
                }
            },
            "anomalies_constatees": { "min_height": 30, "show_if_empty": false },
            "mesures_correctives": { "min_height": 30, "show_if_empty": false },
            "rob_charge_utile": { "suffix": " kg" },
            "rob_portee": { "suffix": " mm" }
        }
    }
}
