{
    "uuid": "db1ea14f823c415effaba985a4aa79cf",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Contrôle trimestriel ambiance salle de sport",
    "description": "Contrôle trimestriel de l'ambiance d'une salle de sport ou club fitness (CO2, hygrométrie, température, qualité d'air, sonorisation, vestiaires, douches, sécurité incendie, désinfection).",
    "export_date": "2026-05-29 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "sal_exploitant",
            "label": "Exploitant \/ Club",
            "type": "varchar",
            "size": "200",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nom du club ou salle",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "sal_adresse",
            "label": "Adresse",
            "type": "varchar",
            "size": "200",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Adresse postale",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "sal_identifiant",
            "label": "Identifiant salle",
            "type": "varchar",
            "size": "50",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Numéro ou nom de la salle contrôlée",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "sal_type_zone",
            "label": "Type de zone",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "plateau_cardio": "Plateau cardio",
                    "plateau_musculation": "Plateau musculation",
                    "cours_collectif": "Salle cours collectifs",
                    "spinning_cycling": "Salle spinning \/ cycling",
                    "crossfit_fonctionnel": "Box crossfit \/ fonctionnel",
                    "yoga_pilates": "Salle yoga \/ pilates",
                    "boxe_arts_martiaux": "Salle boxe \/ arts martiaux",
                    "vestiaires_douches": "Vestiaires et douches",
                    "espace_detente_sauna": "Espace détente \/ sauna",
                    "accueil_recption": "Accueil \/ Réception"
                }
            },
            "help": "Zone fonctionnelle",
            "pos": 130,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "plateau_musculation",
            "alwayseditable": 0
        },
        {
            "name": "sal_surface_m2",
            "label": "Surface (m2)",
            "type": "double",
            "size": "6,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Surface utile",
            "pos": 140,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "sal_capacite_max",
            "label": "Capacité maximale (personnes)",
            "type": "int",
            "size": "4",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Effectif maximal admis (ERP)",
            "pos": 150,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "type_intervention",
            "label": "Type d'intervention",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "controle_trimestriel": "Contrôle trimestriel programmé",
                    "controle_mensuel": "Contrôle mensuel",
                    "controle_apres_plainte": "Contrôle suite à plainte usagers",
                    "audit_initial": "Audit initial"
                }
            },
            "help": "Nature du contrôle",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "controle_trimestriel",
            "alwayseditable": 0
        },
        {
            "name": "sal_co2_ppm",
            "label": "CO2 (ppm)",
            "type": "int",
            "size": "5",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Cible < 1000 ppm, alerte > 1500 ppm",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "sal_temperature_c",
            "label": "Température (°C)",
            "type": "double",
            "size": "4,1",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Cible 18 - 22 °C (cardio), 22 - 26 °C (yoga)",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "sal_hygrometrie_pct",
            "label": "Hygrométrie (%)",
            "type": "int",
            "size": "3",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Cible 40 - 60 %",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "sal_eclairement_lux",
            "label": "Éclairement moyen (lux)",
            "type": "int",
            "size": "4",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Cible 300 - 500 lux en pratique sportive",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "sal_niveau_sonore_db",
            "label": "Niveau sonore ambiance (dB)",
            "type": "int",
            "size": "3",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Mesure en utilisation, alerte > 85 dB",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "verif_ventilation_mecanique",
            "label": "Ventilation mécanique opérationnelle",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Débit conforme art. R.4222 Code du travail",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_climatisation",
            "label": "Climatisation \/ Chauffage OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Confort thermique, équilibre saisons",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_sonorisation",
            "label": "Sonorisation OK (musique + alerte)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Diffusion homogène, micro coach OK",
            "pos": 370,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_revetement_sol",
            "label": "Revêtement de sol OK (antidérapant, propre)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de jeu, pas de tapis déchiré",
            "pos": 380,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_vestiaires_proprete",
            "label": "Vestiaires propres et fonctionnels",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Casiers, bancs, séparations propres",
            "pos": 390,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_douches_eau_chaude",
            "label": "Douches et eau chaude OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Débit, température, prévention légionelles",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_desinfection_materiel",
            "label": "Désinfection matériel à disposition (lingettes, gel)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Distributeurs disponibles et remplis",
            "pos": 410,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_securite_incendie",
            "label": "Sécurité incendie (extincteurs, BAES, RIA)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "À jour, accessibles, BAES alimentés",
            "pos": 420,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_dae_pharmacie",
            "label": "DAE et trousse de secours présents",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "DAE testé, pharmacie complète et à jour",
            "pos": 430,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_evacuation_degagee",
            "label": "Issues de secours dégagées et signalées",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas d'obstacle, panneaux conformes",
            "pos": 440,
            "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 des défauts relevés",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "actions_correctives",
            "label": "Actions correctives",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Réglage CTA, ménage renforcé, formation, etc.",
            "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": {
                    "conforme": "AMBIANCE CONFORME",
                    "conforme_reserve": "CONFORME avec réserves",
                    "non_conforme": "NON CONFORME - actions urgentes"
                }
            },
            "help": "Décision de conformité",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "conforme",
            "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": "Trimestriel",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "verificateur_nom",
            "personal_data": 1,
            "label": "Nom du vérificateur",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Direction ou agent qualifié",
            "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": "BPJEPS, gestionnaire ERP, SST",
            "pos": 710,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        }
    ],
    "pdf_layout": {
        "version": "1.1",
        "page": {
            "format": "A4",
            "orientation": "portrait",
            "margins": { "top": 20, "right": 15, "bottom": 20, "left": 15 },
            "font_family": "helvetica",
            "font_size": 10
        },
        "header": {
            "title": "Contrôle trimestriel ambiance salle de sport",
            "subtitle": "Qualité d'air, confort, hygiène et sécurité ERP",
            "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": "À archiver dans le registre de sécurité ERP"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification de la zone",
                "layout": "two_columns",
                "fields": [
                    "sal_exploitant",
                    "sal_adresse",
                    "sal_identifiant",
                    "sal_type_zone",
                    "sal_surface_m2",
                    "sal_capacite_max"
                ]
            },
            {
                "id": "intervention",
                "title": "Type d'intervention",
                "layout": "single_column",
                "fields": ["type_intervention"]
            },
            {
                "id": "mesures_ambiance",
                "title": "Mesures d'ambiance",
                "layout": "two_columns",
                "fields": [
                    "sal_co2_ppm",
                    "sal_temperature_c",
                    "sal_hygrometrie_pct",
                    "sal_eclairement_lux",
                    "sal_niveau_sonore_db"
                ]
            },
            {
                "id": "equipements",
                "title": "Équipements techniques",
                "layout": "checklist",
                "fields": [
                    "verif_ventilation_mecanique",
                    "verif_climatisation",
                    "verif_sonorisation",
                    "verif_revetement_sol"
                ]
            },
            {
                "id": "hygiene_sanitaire",
                "title": "Hygiène et sanitaires",
                "layout": "checklist",
                "fields": [
                    "verif_vestiaires_proprete",
                    "verif_douches_eau_chaude",
                    "verif_desinfection_materiel"
                ]
            },
            {
                "id": "securite",
                "title": "Sécurité et premiers secours",
                "layout": "checklist",
                "fields": [
                    "verif_securite_incendie",
                    "verif_dae_pharmacie",
                    "verif_evacuation_degagee"
                ]
            },
            {
                "id": "observations",
                "title": "Anomalies et actions correctives",
                "layout": "full_width",
                "fields": ["anomalies_constatees", "actions_correctives"]
            },
            {
                "id": "conclusion",
                "title": "Conclusion",
                "layout": "highlight_box",
                "fields": ["conclusion", "date_prochain_controle"]
            },
            {
                "id": "signatures",
                "title": "Vérificateur",
                "layout": "signature_block",
                "fields": ["verificateur_nom", "qualification"],
                "signature_boxes": [
                    { "label": "Signature vérificateur", "for_field": "verificateur_nom" },
                    { "label": "Visa direction", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "sal_exploitant": { "style": "bold" },
            "sal_surface_m2": { "suffix": " m2" },
            "sal_co2_ppm": { "suffix": " ppm" },
            "sal_temperature_c": { "suffix": " °C" },
            "sal_hygrometrie_pct": { "suffix": " %" },
            "sal_eclairement_lux": { "suffix": " lux" },
            "sal_niveau_sonore_db": { "suffix": " dB" },
            "conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "conforme": "#1f8a1f",
                    "conforme_reserve": "#e69500",
                    "non_conforme": "#c00000"
                }
            },
            "anomalies_constatees": { "min_height": 30, "show_if_empty": false },
            "actions_correctives": { "min_height": 30, "show_if_empty": false }
        }
    }
}
