Tecnologia portuguesa moderniza Arquivos Nacionais do Luxemburgo

A Keep Solutions, spin-off tecnológica da Universidade do Minho, desenvolveu o novo portal digital dos Arquivos Nacionais do Luxemburgo, reforçando a sua presença em projetos europeus de transformação digital do património.

A nova plataforma, em archives.services-publics.lu, permite o acesso mais simples e eficiente a 311 fundos e coleções e a mais de 29.800 documentos digitalizados, representando um salto significativo na forma como investigadores, profissionais e público em geral podem explorar o património documental luxemburguês.

O espólio inclui desde leis, decretos, registos paroquiais e civis essenciais para genealogia, contratos notariais, coleções privadas e familiares, registos sobre as ocupações nas Guerras Mundiais, mapas, fotos históricas e conteúdos audiovisuais.

O portal assenta no software Archeevo, desenvolvido a partir de Braga e reconhecido internacionalmente pela sua robustez, escalabilidade e conformidade com as normas arquivísticas.

O projeto deste portal iniciou em 2022, substituindo o anterior sistema de pesquisa “Query”, e consolida o posicionamento da empresa portuguesa como parceira tecnológica de referência para arquivos, bibliotecas e instituições de memória, num mercado onde a gestão e preservação digital de informação assume crescente importância.

A Keep Solutions nasceu em 2008, por professores e (ex-)alunos da Escola de Engenharia da UMinho. É líder de mercado em sistemas de gestão de informação, trabalhando com entidades do governo local e central, instituições de ensino, fundações, empresas e também com entidades internacionais como a Comissão Europeia, a Polícia da Suécia, o Tribunal Constitucional de Angola e os Arquivos Nacionais da Estónia e da Dinamarca, entre outros.

Colaborou ainda no desenvolvimento do Repositório Científico de Acesso Aberto de Portugal e no Portal Português de Arquivos e aposta continuamente na produção de conhecimento, participando em projetos de I&D em estreita cooperação com entidades de vários países. Tem o portal www.keep.pt.

Jornal O Desportivo

<?php
function fetch_rss_cached($url, $cache_seconds = 600) {
    $key = 'rss_cache_' . md5($url);

    $cached = get_transient($key);
    if ($cached !== false) {
        return simplexml_load_string($cached);
    }

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_USERAGENT, 'WP RSS Fetcher');

    $data = curl_exec($ch);
    curl_close($ch);

    if (!$data) return null;

    set_transient($key, $data, $cache_seconds);
    return simplexml_load_string($data);
}

function time_ago($datetime) {
    $time = strtotime($datetime);
    $diff = time() - $time;

    if ($diff < 60) return $diff . ' segundos atrás';
    if ($diff < 3600) return floor($diff / 60) . ' minutos atrás';
    if ($diff < 86400) return floor($diff / 3600) . ' horas atrás';
    if ($diff < 604800) return floor($diff / 86400) . ' dias atrás';
    return date('d/m/Y H:i', $time);
}

$rss = fetch_rss_cached('https://www.desportivovaledohomem.pt/category/destaque/feed/', 600);
if (!$rss || empty($rss->channel->item)) {
    echo '<!-- RSS vazio ou erro -->';
    return;
}

$items = $rss->channel->item;
$count = 0;

echo '<div class="rss-posts">';

foreach ($items as $item) {
    if ($count >= 5) break;

    $title = (string) $item->title;
    $link = (string) $item->link;
    $pubDate = (string) $item->pubDate;
    $timeAgo = time_ago($pubDate);

    $categoryText = isset($item->category[0]) ? (string) $item->category[0] : '';

    echo '<div class="rss-post">';
    echo '<p class="rss-meta">' . esc_html($timeAgo) . ' - ' . esc_html($categoryText) . '</p>';
    echo '<h3 class="rss-title"><a href="' . esc_url($link) . '" target="_blank" rel="noopener">' . esc_html($title) . '</a></h3>';
    echo '</div>';

    $count++;
}

echo '</div>';
?>
.rss-posts {
    font-family: "MYRIAD PRO";
    font-weight: 400;
}

.rss-post {
    padding: 10px 0;
    border-bottom: 1px solid #8E8E8D;
}

.rss-meta {
    color: #828282;
    font-size: 11px;
    margin-bottom: 0px;
    font-weight: 600;
}

.rss-title {
    font-size: 14px;
    line-height: 1.4;
    margin: 0;
}

.rss-title a {
    text-decoration: none;
    color: #363636;
    font-family: "Myriad Pro";
    font-weight: 400;
    font-size: 17px;
}

.rss-post:last-child {
    border: none;
}
Ver mais

Últimas Notícias

Ver mais