{
    "uuid": "cbb077d84c50509522ba9a18d6a3e0e4",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Contrôle de l'armement plongée à bord",
    "description": "Contrôle de l'armement plongée d'un bateau commercial selon le Code du sport (article A322-71 et suivants) et la division 240/241 : kit oxygénothérapie, pharmacie, moyens de communication, signalisation, échelle, arrimage bouteilles.",
    "export_date": "2026-05-30 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "capb_bateau_nom",
            "label": "Nom du bateau",
            "type": "varchar",
            "size": "150",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nom du navire contrôlé",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "capb_immatriculation",
            "personal_data": 1,
            "label": "Immatriculation",
            "type": "varchar",
            "size": "50",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Numéro d'immatriculation maritime",
            "pos": 105,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "capb_exploitant",
            "label": "Exploitant / structure",
            "type": "varchar",
            "size": "200",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nom et adresse de la structure",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "capb_type_intervention",
            "label": "Type d'intervention",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "initial": "Contrôle initial (mise en service)",
                    "annuel": "Contrôle annuel",
                    "apres_incident": "Contrôle après incident",
                    "reprise_saison": "Contrôle reprise de saison"
                }
            },
            "help": "Nature du contrôle",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "annuel",
            "alwayseditable": 0
        },
        {
            "name": "capb_nb_plongeurs_autorises",
            "label": "Nombre de plongeurs autorisé déclaré",
            "type": "int",
            "size": "3",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Capacité plongeurs déclarée par l'exploitant",
            "pos": 210,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "capb_dp_present",
            "label": "Directeur de plongée présent lors du contrôle",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Présence du DP à bord pendant l'inspection",
            "pos": 220,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_o2_present",
            "label": "Kit oxygénothérapie présent",
            "type": "boolean",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Présence du kit O2 d'urgence à bord",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_o2_capacite_litres",
            "label": "Capacité O2 totale (litres)",
            "type": "int",
            "size": "6",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Minimum 1500 L par plongeur autorisé (Code du sport)",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "capb_o2_manodetendeur_ok",
            "label": "Manodétendeur O2 fonctionnel",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Vérifié à la mise en pression",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_o2_masque_hc_ok",
            "label": "Masque à haute concentration présent",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Masque inhalateur HC sous emballage scellé",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_o2_bavu_ok",
            "label": "BAVU adulte + pédiatrique présents",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Ballon auto-remplisseur à valve unidirectionnelle, 2 tailles",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_o2_date_peremption",
            "label": "Date péremption la plus proche kit O2",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Sache O2, masques, consommables",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "capb_o2_formation_a_jour",
            "label": "Formation O2 encadrants à jour",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "RIFAP / formation oxygénothérapie d'urgence",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_pharmacie_ok",
            "label": "Pharmacie de bord spéciale plongée OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Planche immobilisation, attelles, couverture survie, protocole médical à jour",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_vhf_fixe_ok",
            "label": "VHF fixe testée canal 16",
            "type": "boolean",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Test de portée et appel CROSS effectué",
            "pos": 410,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_vhf_portable_ok",
            "label": "VHF portable étanche disponible",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Batterie chargée, étanchéité contrôlée",
            "pos": 420,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_telephone_secours",
            "personal_data": 1,
            "label": "Téléphone de secours (satellite ou mobile)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pour zones hors couverture VHF",
            "pos": 430,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_numeros_urgence_affiches",
            "label": "Numéros CROSS et hôpital hyperbare affichés",
            "type": "boolean",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Affichage permanent et visible à bord",
            "pos": 440,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_parachute_palier_ok",
            "label": "Parachutes de palier disponibles",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Au moins un par palanquée",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_bouee_signal_ok",
            "label": "Bouée de signalisation disponible",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Bouée de surface plongée + sifflet + miroir + lampe",
            "pos": 510,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_pavillon_alpha_ok",
            "label": "Pavillon Alpha hissé / signalisation RIPAM",
            "type": "boolean",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pavillon Alpha présent à bord et capable d'être hissé",
            "pos": 520,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_echelle_remontee_ok",
            "label": "Échelle de remontée fonctionnelle",
            "type": "boolean",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Déploiement sans blocage, marches en bon état, sécurisation",
            "pos": 530,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_plateforme_arriere_ok",
            "label": "Plateforme arrière conforme",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Surface antidérapante, mains courantes",
            "pos": 540,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_arrimage_bouteilles_ok",
            "label": "Arrimage bouteilles sécurisé",
            "type": "boolean",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Aucune bouteille libre, sangles ou barres rabattables en place",
            "pos": 550,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_registre_incidents_ok",
            "label": "Registre des incidents tenu",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Registre à jour, accidents et presqu'accidents tracés",
            "pos": 560,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_plan_secours_affiche",
            "label": "Plan de secours affiché",
            "type": "boolean",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Procédure d'évacuation et de coordination des secours",
            "pos": 570,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "capb_anomalies",
            "label": "Anomalies constatées",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Description détaillée des défauts",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "capb_mesures_correctives",
            "label": "Mesures correctives demandées",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Actions à mettre en oeuvre et délais",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "capb_conclusion",
            "label": "Conclusion",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "conforme": "Conforme",
                    "conforme_reserves": "Conforme avec réserves",
                    "non_conforme": "Non conforme - Interdiction d'exploitation"
                }
            },
            "help": "Résultat du contrôle",
            "pos": 700,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "conforme",
            "alwayseditable": 0
        },
        {
            "name": "capb_date_prochain_controle",
            "label": "Date du prochain contrôle",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Au minimum annuel",
            "pos": 710,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "capb_verificateur_nom",
            "personal_data": 1,
            "label": "Vérificateur (nom)",
            "type": "varchar",
            "size": "150",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Responsable structure ou inspecteur jeunesse et sports",
            "pos": 800,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "capb_verificateur_qualite",
            "label": "Qualité du vérificateur",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Fonction (directeur de plongée, inspecteur, etc.)",
            "pos": 810,
            "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 de l'armement plongée à bord",
            "subtitle": "Bateau commercial de plongée - Code du sport A322-71 et division 240/241",
            "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 la structure"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification du bateau et de la structure",
                "layout": "two_columns",
                "fields": [
                    "capb_bateau_nom",
                    "capb_immatriculation",
                    "capb_exploitant",
                    "capb_type_intervention",
                    "capb_nb_plongeurs_autorises",
                    "capb_dp_present"
                ]
            },
            {
                "id": "oxygenotherapie",
                "title": "Kit oxygénothérapie d'urgence",
                "layout": "checklist",
                "fields": [
                    "capb_o2_present",
                    "capb_o2_capacite_litres",
                    "capb_o2_manodetendeur_ok",
                    "capb_o2_masque_hc_ok",
                    "capb_o2_bavu_ok",
                    "capb_o2_date_peremption",
                    "capb_o2_formation_a_jour"
                ]
            },
            {
                "id": "pharmacie_comm",
                "title": "Pharmacie et moyens de communication",
                "layout": "checklist",
                "fields": [
                    "capb_pharmacie_ok",
                    "capb_vhf_fixe_ok",
                    "capb_vhf_portable_ok",
                    "capb_telephone_secours",
                    "capb_numeros_urgence_affiches"
                ]
            },
            {
                "id": "signalisation_localisation",
                "title": "Signalisation et localisation des plongeurs",
                "layout": "checklist",
                "fields": [
                    "capb_parachute_palier_ok",
                    "capb_bouee_signal_ok",
                    "capb_pavillon_alpha_ok"
                ]
            },
            {
                "id": "bateau_armement",
                "title": "Armement à bord",
                "layout": "checklist",
                "fields": [
                    "capb_echelle_remontee_ok",
                    "capb_plateforme_arriere_ok",
                    "capb_arrimage_bouteilles_ok",
                    "capb_registre_incidents_ok",
                    "capb_plan_secours_affiche"
                ]
            },
            {
                "id": "observations",
                "title": "Anomalies et mesures correctives",
                "layout": "full_width",
                "fields": [
                    "capb_anomalies",
                    "capb_mesures_correctives"
                ]
            },
            {
                "id": "conclusion",
                "title": "Conclusion du contrôle",
                "layout": "highlight_box",
                "fields": [
                    "capb_conclusion",
                    "capb_date_prochain_controle"
                ]
            },
            {
                "id": "signatures",
                "title": "Vérificateur",
                "layout": "signature_block",
                "fields": [
                    "capb_verificateur_nom",
                    "capb_verificateur_qualite"
                ],
                "signature_boxes": [
                    { "label": "Signature vérificateur", "for_field": "capb_verificateur_nom" },
                    { "label": "Signature exploitant", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "capb_bateau_nom": { "style": "bold" },
            "capb_immatriculation": { "style": "bold", "frame": true },
            "capb_conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "conforme": "#1f8a1f",
                    "conforme_reserves": "#e69500",
                    "non_conforme": "#c00000"
                }
            },
            "capb_o2_capacite_litres": { "suffix": " L" },
            "capb_anomalies": { "min_height": 30, "show_if_empty": false },
            "capb_mesures_correctives": { "min_height": 30, "show_if_empty": false }
        }
    }
}
