{"id":2860,"date":"2026-10-28T19:25:22","date_gmt":"2026-10-28T18:25:22","guid":{"rendered":"https:\/\/onode.es\/?post_type=project&#038;p=2860"},"modified":"2026-10-28T20:07:39","modified_gmt":"2026-10-28T19:07:39","slug":"las-palmas-de-gran-canaria","status":"publish","type":"project","link":"https:\/\/onode.es\/ca\/project\/las-palmas-de-gran-canaria\/","title":{"rendered":"Las Palmas de Gran Canaria"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_block_section et_animated hero-manchas onode-fluid-section\">\n<div class=\"et_pb_row_0 et_pb_row et_block_row\">\n<div class=\"et_pb_column_0 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\">\n<div class=\"et_pb_code_0 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><!-- ============================================================\n  EFECTO MANCHAS ANIMADAS \u2014 onode.thelab.es\n  Pegar en un m\u00f3dulo \"C\u00f3digo\" de Divi dentro de la secci\u00f3n hero.\n  La secci\u00f3n debe tener la clase CSS personalizada: hero-manchas\n  ============================================================ -->\n \n<style id=\"blob-style\">\n  .hero-manchas {\n    position: fixed !important;\n    overflow: hidden !important;\n    top: 0px!important;\n  }\n  #blob-canvas-wrapper {\n    position: absolute;\n    inset: 0;\n    pointer-events: none;\n    z-index: 0;\n  }\n  \/* Degradado inferior hacia blanco *\/\n  #blob-canvas-wrapper::after {\n    content: '';\n    position: absolute;\n    bottom: 0; left: 0; right: 0;\n    height: 45%;\n    \/*background: linear-gradient(to bottom, transparent, #91C0DB);*\/\n    pointer-events: none;\n    z-index: 2;\n  }\n  #blob-canvas {\n    width: 100%;\n    height: 100%;\n    display: block;\n    filter: blur(72px) saturate(1.4);\n  }\n  .hero-manchas > *:not(#blob-canvas-wrapper) {\n    position: relative;\n    z-index: 1;\n  }\n<\/style>\n \n<script>\n(function () {\n  function initBlobs() {\n    var hero = document.querySelector('.hero-manchas');\n    if (!hero || document.getElementById('blob-canvas-wrapper')) return;\n \n    \/* --- Canvas --- *\/\n    var wrapper = document.createElement('div');\n    wrapper.id = 'blob-canvas-wrapper';\n    var canvas = document.createElement('canvas');\n    canvas.id = 'blob-canvas';\n    wrapper.appendChild(canvas);\n    hero.insertBefore(wrapper, hero.firstChild);\n \n    var ctx = canvas.getContext('2d');\n    var W, H;\n    function resize() { W = canvas.width = hero.offsetWidth; H = canvas.height = hero.offsetHeight; }\n    resize();\n    window.addEventListener('resize', resize);\n \n    \/* --- Rat\u00f3n: solo activo mientras se mueve --- *\/\n    var mouse = { x: 0, y: 0, active: false };\n    var mouseTimer = null;\n    document.addEventListener('mousemove', function (e) {\n      var rect = hero.getBoundingClientRect();\n      mouse.x = e.clientX - rect.left;\n      mouse.y = e.clientY - rect.top;\n      mouse.active = true;\n      clearTimeout(mouseTimer);\n      mouseTimer = setTimeout(function () { mouse.active = false; }, 300);\n    });\n \n    \/* --- Manchas --- *\/\n    var blobs = [\n      {\n        x: W * 0.28, y: H * 0.45,\n        vx: 1.1, vy: 0.75,\n        r: 680,\n        color: [50, 85, 114], alpha: 0.82,\n        ox: [{ a: 1.4, f: 0.009 }, { a: 0.7, f: 0.017 }],\n        oy: [{ a: 1.0, f: 0.007 }, { a: 0.8, f: 0.013 }],\n        phase: 0,\n        attract: 0.008\n      },\n      {\n        x: W * 0.68, y: H * 0.52,\n        vx: -0.9, vy: 0.85,\n        r: 600,\n        color: [145, 192, 219], alpha: 0.78,\n        ox: [{ a: 1.2, f: 0.008 }, { a: 0.7, f: 0.015 }],\n        oy: [{ a: 1.1, f: 0.011 }, { a: 0.6, f: 0.006 }],\n        phase: 2.5,\n        attract: 0.007\n      }\n    ];\n \n    function drawBlob(b) {\n      var r = b.color[0], g = b.color[1], bl = b.color[2];\n      var grad = ctx.createRadialGradient(b.x, b.y, 0, b.x, b.y, b.r);\n      grad.addColorStop(0,   'rgba('+r+','+g+','+bl+','+b.alpha+')');\n      grad.addColorStop(0.5, 'rgba('+r+','+g+','+bl+','+(b.alpha*0.45)+')');\n      grad.addColorStop(1,   'rgba('+r+','+g+','+bl+',0)');\n      ctx.beginPath();\n      ctx.arc(b.x, b.y, b.r, 0, Math.PI * 2);\n      ctx.fillStyle = grad;\n      ctx.fill();\n    }\n \n    var t = 0;\n    function animate() {\n      t++;\n      ctx.clearRect(0, 0, W, H);\n \n      blobs.forEach(function (b) {\n        \/* Movimiento aut\u00f3nomo: velocidad base + oscilaciones en capas *\/\n        var driftX = b.ox.reduce(function (s, o) { return s + Math.sin(t * o.f + b.phase) * o.a; }, 0);\n        var driftY = b.oy.reduce(function (s, o) { return s + Math.cos(t * o.f + b.phase) * o.a; }, 0);\n        b.x += b.vx + driftX;\n        b.y += b.vy + driftY;\n \n        \/* Atracci\u00f3n solo cuando el rat\u00f3n se est\u00e1 moviendo *\/\n        if (mouse.active) {\n          b.x += (mouse.x - b.x) * b.attract;\n          b.y += (mouse.y - b.y) * b.attract;\n        }\n \n        \/* Rebote suave en bordes *\/\n        var m = b.r * 0.2;\n        if (b.x < m)     { b.x = m;     b.vx =  Math.abs(b.vx); }\n        if (b.x > W - m) { b.x = W - m; b.vx = -Math.abs(b.vx); }\n        if (b.y < m)     { b.y = m;     b.vy =  Math.abs(b.vy); }\n        if (b.y > H - m) { b.y = H - m; b.vy = -Math.abs(b.vy); }\n \n        drawBlob(b);\n      });\n \n      requestAnimationFrame(animate);\n    }\n    animate();\n  }\n \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initBlobs);\n  } else {\n    initBlobs();\n  }\n})();\n<\/script><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_1 et_pb_section et_section_regular et_flex_section et_animated\">\n<div class=\"et_pb_row_1 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_1 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><h1>Ajuntament de las Palmas de Gran Canaria (Las Palmas)<\/h1>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_2 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_2 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_2 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_1 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>Gesti\u00f3 intel\u00b7ligent i seguretat jur\u00eddica en el compliment normatiu a gran escala<\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_row_3 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_3 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_2 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>L'Ajuntament de Las Palmas de Gran Canaria, amb una estructura organitzativa complexa i un reglament propi altament exigent, fa un pas avant en governan\u00e7a de la dada. A trav\u00e9s de L\u00facida, l'administraci\u00f3 aconseguix centralitzar i automatitzar la seua publicitat activa, assegurant el compliment dels m\u00e0xims est\u00e0ndards de transpar\u00e8ncia amb plenes garanties en mat\u00e8ria de protecci\u00f3 de dades personals.<\/p>\n<\/div><\/div>\n<\/div>\n\n<div class=\"et_pb_column_4 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_image_0 et_pb_image et_pb_module et_flex_module\"><span class=\"et_pb_image_wrap\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/10\/ayuntamiento-las-palmas.jpg\" title=\"ayuntamiento las palmas\" width=\"640\" height=\"427\" srcset=\"https:\/\/onode.es\/wp-content\/uploads\/2026\/10\/ayuntamiento-las-palmas.jpg 640w, https:\/\/onode.es\/wp-content\/uploads\/2026\/10\/ayuntamiento-las-palmas-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 640px, 100vw\" class=\"wp-image-2864\" \/><\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_3 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_4 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_5 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_6_24 et_flex_column_6_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_3 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>El repte<\/p>\n<\/div><\/div>\n<\/div>\n\n<div class=\"et_pb_column_6 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_6_24 et_flex_column_8_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_4 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>El repte<\/p>\n<\/div><\/div>\n<\/div>\n\n<div class=\"et_pb_column_7 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_18_24 et_flex_column_18_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_5 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>La instituci\u00f3 compta amb una estructura de personal \u00e0mplia, per\u00f2 amb equips molt redu\u00efts dedicats en exclusiva a l'\u00e0rea de transpar\u00e8ncia, la qual cosa dificultava sostindre el ritme de publicaci\u00f3 exigit.<\/p>\n<p>L'Ajuntament ha de complir amb obligacions de transpar\u00e8ncia volunt\u00e0ries i un reglament intern molt rigor\u00f3s, la qual cosa augmentava exponencialment el volum d'informaci\u00f3 a processar.<\/p>\n<p>Existia un fort fre operatiu: la preocupaci\u00f3 del personal per vulnerar la normativa de Protecci\u00f3 de Dades i publicar informaci\u00f3 sensible per error, la qual cosa paralitzava processos i limitava la publicitat activa.<\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_4 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_5 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_8 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_6_24 et_flex_column_6_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_6 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>La soluci\u00f3<\/p>\n<\/div><\/div>\n<\/div>\n\n<div class=\"et_pb_column_9 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_6_24 et_flex_column_8_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_7 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>La soluci\u00f3<\/p>\n<\/div><\/div>\n<\/div>\n\n<div class=\"et_pb_column_10 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_18_24 et_flex_column_18_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_8 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>Implantaci\u00f3 de L\u00facida per a centralitzar la gesti\u00f3 de la transpar\u00e8ncia, dotant a un equip redu\u00eft de les eines tecnol\u00f2giques necess\u00e0ries per a governar un gran volum d'informaci\u00f3.<\/p>\n<p>Integraci\u00f3 de processos de publicaci\u00f3 automatitzats i estructurats que assistixen el personal, reduint la corba d'aprenentatge t\u00e8cnic i evitant la duplicitat d'esfor\u00e7os entre \u00e0rees.<\/p>\n<p>Configuraci\u00f3 de la plataforma davall estrictes par\u00e0metres de Compliance, alineant la publicaci\u00f3 de dades amb les directrius del Delegat de Protecci\u00f3 de Dades per a assegurar una exposici\u00f3 controlada.<\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_5 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_6 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_11 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_6_24 et_flex_column_6_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_9 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>L\u2019impacte<\/p>\n<\/div><\/div>\n<\/div>\n\n<div class=\"et_pb_column_12 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_6_24 et_flex_column_8_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_10 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>L\u2019impacte<\/p>\n<\/div><\/div>\n<\/div>\n\n<div class=\"et_pb_column_13 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_18_24 et_flex_column_18_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_text_11 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p>L'equip t\u00e8cnic recupera el control sobre la informaci\u00f3, gestionant un alt volum d'obligacions de transpar\u00e8ncia de manera eficient i centralitzada.<\/p>\n<p>S'elimina la por i la fricci\u00f3 interna en el proc\u00e9s de publicaci\u00f3: l'Ajuntament assegura que nom\u00e9s es publica la informaci\u00f3 acordada i de forma totalment segura.<\/p>\n<p>Las Palmas de Gran Canaria eleva els seus est\u00e0ndards de govern obert, combinant m\u00e0xima transpar\u00e8ncia per a la ciutadania amb total seguretat jur\u00eddica per a l'administraci\u00f3.<\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":2864,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"project_category":[],"project_tag":[],"class_list":["post-2860","project","type-project","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/project\/2860","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/project"}],"about":[{"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/types\/project"}],"author":[{"embeddable":true,"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/comments?post=2860"}],"version-history":[{"count":4,"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/project\/2860\/revisions"}],"predecessor-version":[{"id":2891,"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/project\/2860\/revisions\/2891"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/media\/2864"}],"wp:attachment":[{"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/media?parent=2860"}],"wp:term":[{"taxonomy":"project_category","embeddable":true,"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/project_category?post=2860"},{"taxonomy":"project_tag","embeddable":true,"href":"https:\/\/onode.es\/ca\/wp-json\/wp\/v2\/project_tag?post=2860"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}