{
    "uuid": "5b9f44b4214b238f06e95cdc5335ea29",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Contrôle armoire de stockage produits chimiques",
    "description": "Contrôle d'une armoire de stockage de produits chimiques ventilée : ventilation/extraction, bac de rétention, compatibilité et séparation des produits (acides/bases/inflammables), étiquetage, fiches de données de sécurité",
    "export_date": "2026-05-31 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "cs_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": "cs_localisation",
            "label": "Localisation de l'armoire",
            "type": "varchar",
            "size": "150",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Local, zone, numéro d'armoire",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cs_marque",
            "label": "Marque / modèle de l'armoire",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Constructeur et référence",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cs_type_armoire",
            "label": "Type d'armoire",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "inflammables": "Armoire pour liquides inflammables",
                    "corrosifs": "Armoire pour corrosifs (acides/bases)",
                    "multi_risques": "Armoire multi-risques avec séparations",
                    "pesticides": "Armoire pour produits phytosanitaires"
                }
            },
            "help": "Classe de danger principale stockée",
            "pos": 130,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "multi_risques",
            "alwayseditable": 0
        },
        {
            "name": "cs_type_intervention",
            "label": "Type d'intervention",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "controle_periodique": "Controle périodique",
                    "controle_annuel": "Controle annuel réglementaire",
                    "apres_incident": "Apres incident ou déversement",
                    "mise_en_service": "Mise en service"
                }
            },
            "help": "Nature de l'intervention",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "controle_periodique",
            "alwayseditable": 0
        },
        {
            "name": "cs_verif_ventilation",
            "label": "Ventilation/extraction fonctionnelle",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Débit d'air vérifié, grilles non obstruées",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "cs_verif_moteur_ventilation",
            "label": "Moteur de ventilation en marche",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Bruit anormal, vibrations, surchauffe absents",
            "pos": 305,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "cs_verif_bac_retention",
            "label": "Bac de rétention en bon état",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Bac intact, vide ou vidé, capacité suffisante",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "cs_verif_separation_produits",
            "label": "Séparation acides / bases / inflammables respectée",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Produits incompatibles stockés dans des compartiments séparés",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "cs_verif_etiquetage",
            "label": "Tous les contenants sont étiquetés",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Étiquettes SGH/CLP lisibles, pictogrammes présents",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "cs_verif_fds",
            "label": "Fiches de données de sécurité (FDS) disponibles",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "FDS à jour pour chaque produit stocké",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "cs_verif_fermeture",
            "label": "Fermeture de l'armoire assurée",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Serrure ou verrou fonctionnel si requis",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "cs_verif_quantites",
            "label": "Quantités stockées conformes aux autorisations",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Seuils ICPE ou réglementation locale respectés",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "cs_verif_signalisation",
            "label": "Signalisation extérieure présente",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pictogrammes danger, accès réservé aux personnes autorisées",
            "pos": 370,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "cs_verif_extincteur_proxim",
            "label": "Moyen d'extinction adapté à proximité",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Extincteur poudre ou CO2 selon classe de danger",
            "pos": 380,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "cs_produits_non_conformes",
            "label": "Produits non conformes identifiés",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Produits sans FDS, périmés, mal étiquetés",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cs_anomalies",
            "label": "Anomalies constatées",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Description des défauts observés",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cs_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éconisées",
            "pos": 510,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cs_conclusion",
            "label": "Conclusion",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "apte": "APTE - Stockage conforme a la réglementation",
                    "apte_reserve": "APTE avec réserves - Ecarts mineurs a corriger",
                    "inapte": "INAPTE - Non-conformité grave, mise en sécurité immédiate"
                }
            },
            "help": "Résultat du contrôle",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "apte",
            "alwayseditable": 0
        },
        {
            "name": "cs_date_prochain",
            "label": "Date prochain contrôle",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Selon plan de prévention ou réglementation applicable",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cs_verificateur",
            "personal_data": 1,
            "label": "Nom du technicien",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Intervenant",
            "pos": 700,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cs_qualification",
            "label": "Qualification",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Formation risques chimiques ou ICPE",
            "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": "Contrôle armoire de stockage produits chimiques",
            "subtitle": "Ventilation - Rétention - Compatibilité - FDS",
            "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 dans le registre de sécurité de l'établissement"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification de l'armoire",
                "layout": "two_columns",
                "fields": [
                    "cs_etablissement",
                    "cs_localisation",
                    "cs_marque",
                    "cs_type_armoire"
                ]
            },
            {
                "id": "intervention",
                "title": "Type d'intervention",
                "layout": "single_column",
                "fields": ["cs_type_intervention"]
            },
            {
                "id": "ventilation_retention",
                "title": "Ventilation et rétention",
                "layout": "checklist",
                "fields": [
                    "cs_verif_ventilation",
                    "cs_verif_moteur_ventilation",
                    "cs_verif_bac_retention"
                ]
            },
            {
                "id": "stockage_conformite",
                "title": "Conformité du stockage",
                "layout": "checklist",
                "fields": [
                    "cs_verif_separation_produits",
                    "cs_verif_etiquetage",
                    "cs_verif_fds",
                    "cs_verif_quantites",
                    "cs_verif_fermeture",
                    "cs_verif_signalisation",
                    "cs_verif_extincteur_proxim"
                ]
            },
            {
                "id": "produits",
                "title": "Produits non conformes",
                "layout": "full_width",
                "fields": ["cs_produits_non_conformes"]
            },
            {
                "id": "observations",
                "title": "Anomalies et mesures correctives",
                "layout": "full_width",
                "fields": [
                    "cs_anomalies",
                    "cs_mesures_correctives"
                ]
            },
            {
                "id": "conclusion",
                "title": "Conclusion du contrôle",
                "layout": "highlight_box",
                "fields": ["cs_conclusion", "cs_date_prochain"]
            },
            {
                "id": "signatures",
                "title": "Signataires",
                "layout": "signature_block",
                "fields": ["cs_verificateur", "cs_qualification"],
                "signature_boxes": [
                    { "label": "Signature technicien", "for_field": "cs_verificateur" },
                    { "label": "Signature responsable sécurité", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "cs_etablissement": { "style": "bold" },
            "cs_conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "apte": "#1f8a1f",
                    "apte_reserve": "#e69500",
                    "inapte": "#c00000"
                }
            },
            "cs_anomalies": { "min_height": 30, "show_if_empty": false },
            "cs_mesures_correctives": { "min_height": 30, "show_if_empty": false },
            "cs_produits_non_conformes": { "min_height": 20, "show_if_empty": false }
        }
    }
}
