{
    "uuid": "5943cb4a8e775763d3de886b9c105abf",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Contrôle enregistreur numérique NVR / DVR",
    "description": "Contrôle d'un NVR / DVR de vidéoprotection - disques, rétention, sauvegarde, conformité RGPD",
    "export_date": "2026-05-26 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {"name": "nv_etablissement", "label": "Établissement / site", "type": "varchar", "size": "200", "required": 1, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "ERP, commune, entreprise", "pos": 100, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "", "alwayseditable": 0},
        {"name": "nv_localisation", "label": "Emplacement NVR", "type": "varchar", "size": "200", "required": 1, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Local technique sécurisé", "pos": 110, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "", "alwayseditable": 0},
        {"name": "nv_identifiant", "label": "Identifiant matériel", "type": "varchar", "size": "50", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Numéro série", "pos": 120, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "", "alwayseditable": 0},
        {"name": "nv_marque_modele", "label": "Marque / modèle", "type": "varchar", "size": "100", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Fabricant", "pos": 130, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "", "alwayseditable": 0},
        {"name": "nv_type", "label": "Type équipement", "type": "select", "size": "", "required": 1, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": {"options": {"nvr_ip": "NVR IP", "dvr_analogique": "DVR analogique / HD-TVI", "hybride": "Hybride", "vms_logiciel": "VMS / logiciel sur serveur"}}, "help": "Technologie", "pos": 140, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "nvr_ip", "alwayseditable": 0},
        {"name": "nv_nb_voies", "label": "Nombre de voies", "type": "int", "size": "3", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Caméras connectées", "pos": 150, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "", "alwayseditable": 0},
        {"name": "nv_capacite_stockage", "label": "Capacité stockage (To)", "type": "double", "size": "10,2", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Téraoctets bruts", "pos": 160, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "", "alwayseditable": 0},
        {"name": "nv_duree_retention", "label": "Durée de rétention (jours)", "type": "int", "size": "4", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Réglementaire - 30 jours max sauf dérogation", "pos": 170, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "30", "alwayseditable": 0},
        {"name": "type_intervention", "label": "Type intervention", "type": "select", "size": "", "required": 1, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": {"options": {"maintenance_preventive": "Maintenance préventive", "maintenance_corrective": "Maintenance corrective", "controle_annuel": "Contrôle annuel", "mise_a_jour_firmware": "Mise à jour firmware"}}, "help": "Nature visite", "pos": 200, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "controle_annuel", "alwayseditable": 0},
        {"name": "verif_demarrage", "label": "Démarrage / OS OK", "type": "boolean", "size": "", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Système opérationnel", "pos": 300, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "1", "alwayseditable": 0},
        {"name": "verif_disques_smart", "label": "Disques durs SMART OK", "type": "boolean", "size": "", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Pas d'erreur SMART", "pos": 310, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "1", "alwayseditable": 0},
        {"name": "verif_raid_redondance", "label": "RAID / redondance OK", "type": "boolean", "size": "", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Si configuré, état sain", "pos": 320, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "1", "alwayseditable": 0},
        {"name": "verif_voies_actives", "label": "Toutes voies actives", "type": "boolean", "size": "", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Aucune caméra perdue", "pos": 330, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "1", "alwayseditable": 0},
        {"name": "verif_enregistrement", "label": "Enregistrement continu OK", "type": "boolean", "size": "", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Pas de coupure", "pos": 340, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "1", "alwayseditable": 0},
        {"name": "verif_retention_conforme", "label": "Durée rétention conforme", "type": "boolean", "size": "", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "30 jours max", "pos": 350, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "1", "alwayseditable": 0},
        {"name": "verif_heure_systeme", "label": "Heure système OK", "type": "boolean", "size": "", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Synchronisée NTP", "pos": 360, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "1", "alwayseditable": 0},
        {"name": "verif_comptes_utilisateurs", "label": "Comptes utilisateurs OK", "type": "boolean", "size": "", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Droits limités, traçabilité", "pos": 370, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "1", "alwayseditable": 0},
        {"name": "verif_journal_acces", "label": "Journal d'accès actif", "type": "boolean", "size": "", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Audit log RGPD", "pos": 380, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "1", "alwayseditable": 0},
        {"name": "verif_export_test", "label": "Export vidéo test OK", "type": "boolean", "size": "", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Extraction sur USB possible", "pos": 390, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "1", "alwayseditable": 0},
        {"name": "verif_local_securise", "label": "Local NVR sécurisé", "type": "boolean", "size": "", "required": 0, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Accès restreint, température", "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éfauts", "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", "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 - NVR opérationnel et conforme", "apte_reserve": "APTE avec réserves", "inapte": "INAPTE - Non conforme ou HS"}}, "help": "Résultat", "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": "Plan maintenance", "pos": 610, "enabled": 1, "perms": "", "langfile": "", "computed": "", "default": "", "alwayseditable": 0},
        {"name": "verificateur_nom", "personal_data": 1, "label": "Nom du technicien", "type": "varchar", "size": "100", "required": 1, "unique": 0, "visible": 1, "totalizable": 0, "printable": 1, "param": [], "help": "Installateur agréé", "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": "APSAD R82, CNAPS", "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 enregistreur NVR / DVR", "subtitle": "Vidéoprotection - conformité technique et RGPD", "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 vidéoprotection"},
        "sections": [
            {"id": "identification", "title": "Identification du NVR / DVR", "layout": "two_columns", "fields": ["nv_etablissement", "nv_localisation", "nv_identifiant", "nv_marque_modele", "nv_type", "nv_nb_voies", "nv_capacite_stockage", "nv_duree_retention"]},
            {"id": "intervention", "title": "Type d'intervention", "layout": "single_column", "fields": ["type_intervention"]},
            {"id": "materiel", "title": "Matériel et stockage", "layout": "checklist", "fields": ["verif_demarrage", "verif_disques_smart", "verif_raid_redondance", "verif_local_securise"]},
            {"id": "enregistrement", "title": "Enregistrement et flux", "layout": "checklist", "fields": ["verif_voies_actives", "verif_enregistrement", "verif_heure_systeme", "verif_export_test"]},
            {"id": "conformite", "title": "Conformité RGPD et accès", "layout": "checklist", "fields": ["verif_retention_conforme", "verif_comptes_utilisateurs", "verif_journal_acces"]},
            {"id": "observations", "title": "Anomalies et mesures correctives", "layout": "full_width", "fields": ["anomalies_constatees", "mesures_correctives"]},
            {"id": "conclusion", "title": "Conclusion", "layout": "highlight_box", "fields": ["conclusion", "date_prochaine_verif"]},
            {"id": "signatures", "title": "Technicien", "layout": "signature_block", "fields": ["verificateur_nom", "qualification"], "signature_boxes": [{"label": "Signature technicien", "for_field": "verificateur_nom"}, {"label": "Signature exploitant / DPO", "for_field": null}]}
        ],
        "field_render": {
            "nv_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},
            "nv_capacite_stockage": {"suffix": " To"},
            "nv_duree_retention": {"suffix": " j"}
        }
    }
}
