{
    "uuid": "cffe9662ebec4794b0e888b585ade81e",
    "elementtype": "fichinter",
    "schema_kind": "intervention",
    "title": "Fiche de vérification - ÉPI anti-coupure",
    "description": "Vérification périodique des ÉPI anti-coupure : pantalon/jambières (classe EN ISO 11393), gants, casque forestier (EN 397) avec visière (EN 1731) et coquilles (EN 352), état général (déchirures, usure), date de péremption, traçabilité, retrait si endommagé",
    "export_date": "2026-05-31 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "epi_etablissement",
            "label": "Établissement",
            "type": "varchar",
            "size": "200",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nom et adresse",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "epi_porteur",
            "label": "Nom du porteur",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Agent affecté aux ÉPI vérifiés",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "epi_activite",
            "label": "Activité principale",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "tronconnage": "Tronçonnage / abattage",
                    "debroussaillage": "Débroussaillage",
                    "elagage": "Elagage",
                    "mixte": "Mixte"
                }
            },
            "help": "Détermine les normes applicables",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "tronconnage",
            "alwayseditable": 0
        },
        {
            "name": "type_intervention",
            "label": "Type de vérification",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "periodique": "Vérification périodique",
                    "avant_saison": "Vérification avant saison",
                    "apres_incident": "Après incident ou contact avec la chaine"
                }
            },
            "help": "Contexte de la vérification",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "periodique",
            "alwayseditable": 0
        },
        {
            "name": "epi_pantalon_present",
            "label": "Pantalon / jambières anti-coupure présent",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "ÉPI disponible et assigné au porteur",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "epi_pantalon_classe",
            "label": "Classe pantalon conforme (EN ISO 11393)",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "classe_1": "Classe 1 (20 m/s)",
                    "classe_2": "Classe 2 (24 m/s)",
                    "classe_3": "Classe 3 (28 m/s)",
                    "non_applicable": "Non applicable"
                }
            },
            "help": "Vérifier l'étiquette intérieure",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "classe_1",
            "alwayseditable": 0
        },
        {
            "name": "epi_pantalon_etat",
            "label": "État pantalon OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de déchirure, de coupure, d'effilochage des coutures, de contact antérieur avec la chaîne",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "epi_gants_present",
            "label": "Gants anti-coupure présents",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Disponibles et de la bonne taille",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "epi_gants_etat",
            "label": "État des gants OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de coupure, de perforation, de décollement ou de rigidification du matériau de protection",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "epi_casque_present",
            "label": "Casque forestier présent (EN 397)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Casque de protection pour l'industrie forestière",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "epi_casque_etat",
            "label": "État casque OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de fissure, de déformation, coque et harnais intacts",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "epi_visiere_etat",
            "label": "Visière grillagée OK (EN 1731)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de déformation, charnières fonctionnelles, mailles intactes",
            "pos": 370,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "epi_coquilles_etat",
            "label": "Coquilles auditives OK (EN 352)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Coussinets non durcis, arceau non fissuré, atténuation conforme",
            "pos": 380,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "epi_peremption_ok",
            "label": "Dates de péremption valides",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Aucun ÉPI dépassant la durée de vie fixée par le fabricant",
            "pos": 390,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "epi_tracabilite_ok",
            "label": "Traçabilité complète",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Date d'achat, date de mise en service, nom du porteur consignés dans le registre ÉPI",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "epi_retrait_necessaire",
            "label": "ÉPI(s) à retirer du service",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Au moins un ÉPI non conforme identifié",
            "pos": 410,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "0",
            "alwayseditable": 0
        },
        {
            "name": "detail_retrait",
            "label": "Détail des ÉPI retirés",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Motif et référence de chaque ÉPI retiré du service",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "observations",
            "label": "Observations",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Remarques complémentaires",
            "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": "CONFORME - EPI utilisables",
                    "apte_reserve": "PARTIEL - Certains EPI à remplacer rapidement",
                    "inapte": "NON CONFORME - Travaux interdits jusqu'au remplacement"
                }
            },
            "help": "Résultat de la vérification",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "apte",
            "alwayseditable": 0
        },
        {
            "name": "date_prochaine_verif",
            "label": "Date prochaine vérification",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Au moins annuelle ou avant reprise saisonnière",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "verificateur_nom",
            "label": "Nom du vérificateur",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Responsable de la vérification",
            "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 / habilitation",
            "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 vérification ÉPI anti-coupure",
            "subtitle": "Travaux forestiers et espaces verts",
            "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 du porteur",
                "layout": "two_columns",
                "fields": ["epi_etablissement", "epi_porteur", "epi_activite"]
            },
            {
                "id": "intervention",
                "title": "Type de vérification",
                "layout": "single_column",
                "fields": ["type_intervention"]
            },
            {
                "id": "protection_corps",
                "title": "Protection du corps (pantalon / jambières)",
                "layout": "checklist",
                "fields": ["epi_pantalon_present", "epi_pantalon_classe", "epi_pantalon_etat"]
            },
            {
                "id": "protection_mains",
                "title": "Protection des mains (gants)",
                "layout": "checklist",
                "fields": ["epi_gants_present", "epi_gants_etat"]
            },
            {
                "id": "protection_tete",
                "title": "Protection de la tête (casque, visière, coquilles)",
                "layout": "checklist",
                "fields": ["epi_casque_present", "epi_casque_etat", "epi_visiere_etat", "epi_coquilles_etat"]
            },
            {
                "id": "tracabilite",
                "title": "Traçabilité et conformité administrative",
                "layout": "checklist",
                "fields": ["epi_peremption_ok", "epi_tracabilite_ok", "epi_retrait_necessaire"]
            },
            {
                "id": "observations",
                "title": "Détails et observations",
                "layout": "full_width",
                "fields": ["detail_retrait", "observations"]
            },
            {
                "id": "conclusion",
                "title": "Conclusion de la vérification",
                "layout": "highlight_box",
                "fields": ["conclusion", "date_prochaine_verif"]
            },
            {
                "id": "signatures",
                "title": "Vérificateur",
                "layout": "signature_block",
                "fields": ["verificateur_nom", "qualification"],
                "signature_boxes": [
                    {"label": "Signature vérificateur", "for_field": "verificateur_nom"},
                    {"label": "Signature porteur (prise en compte)", "for_field": null}
                ]
            }
        ],
        "field_render": {
            "epi_etablissement": {"style": "bold"},
            "epi_retrait_necessaire": {"style": "warning_if_true"},
            "conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "apte": "#1f8a1f",
                    "apte_reserve": "#e69500",
                    "inapte": "#c00000"
                }
            },
            "detail_retrait": {"min_height": 25, "show_if_empty": false},
            "observations": {"min_height": 25, "show_if_empty": false}
        }
    }
}
