Festival Contrasta regressa a Valença com cartaz que cruza hip-hop, fado e flamenco

A cidade de Valença prepara-se para receber a edição de 2026 do Festival Contrasta, que decorre nos dias 10 e 11 de julho, na Fortaleza de Valença, com um cartaz que aposta na diversidade de estilos musicais.

O evento volta a afirmar-se como uma proposta diferenciadora no panorama cultural, cruzando géneros como hip-hop, fado, flamenco e música alternativa.

Hip-hop marca arranque do festival

O primeiro dia, 10 de julho, será dedicado sobretudo ao hip-hop nacional, com destaque para o encontro em palco de Mundo Segundo e Sam The Kid, dois nomes históricos do género em Portugal.

O alinhamento inclui ainda Papillon, que cruza rap e soul, e Lon3r Johny, representante da nova vaga do trap nacional.

Fado e sonoridades internacionais no segundo dia

No dia 11 de julho, o cartaz apresenta uma mudança de registo, com a atuação de Carminho, uma das vozes mais reconhecidas do fado contemporâneo.

A programação inclui também o guitarrista espanhol Yerai Cortés, que combina tradição e inovação no flamenco, e a banda Nouvelle Vague, conhecida pela reinvenção de clássicos com sonoridade sofisticada.

Bilhetes já disponíveis

Os bilhetes para o festival já se encontram à venda, com o passe geral para os dois dias fixado nos 30 euros e o bilhete diário nos 20 euros. Estão disponíveis online e em pontos de venda habituais, incluindo locais físicos no concelho, onde residentes poderão beneficiar de condições especiais.

Com um cartaz eclético e um cenário histórico como pano de fundo, o Festival Contrasta reforça a aposta de Valença na dinamização cultural e na atração de públicos diversos.

[email protected] 

Carregar mais

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