;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Palmeiras

Por que Abel Ferreira adotou o grito de "Avanti, Palestra" antes dos jogos

Abel Ferreira, técnico do Palmeiras - Cesar Greco
Abel Ferreira, técnico do Palmeiras Imagem: Cesar Greco

Thiago Ferri

Do UOL, em São Paulo

14/11/2020 04h00

Há um ritual que tem se repetido antes dos jogos do Palmeiras com Abel Ferreira. No fim da última conversa com o elenco no vestiário, o técnico grita: "Avanti, Palestra!". A forma e o motivo da fala não são banais, já que o português dá tanta atenção ao emocional e mental quanto às partes tática e física.

Abel fará hoje (14) sua quarta partida pelo Verdão e tenta se manter 100%, às 21h30, contra o Fluminense, pela 21ª rodada do Brasileirão. Antes da última vitória, sobre o Ceará, ele falou que um bom resultado seria uma homenagem a Felipe Melo e Wesley, que aram por cirurgias e só voltam na próxima temporada (veja o trecho a partir de 3'02" do vídeo abaixo).

"Vamos fazer um esforço extra para no fim dedicar a vitória ao Felipe Melo e ao Wesley, que, infelizmente, não vão poder nos ajudar mais até o fim da época [temporada]. Lembrem-se disso: a força de uma equipe está no jogo coletivo. A força de uma equipe está no jogo coletivo! Avanti, Palestra!", disse Abel, antes da vitória por 3 a 0, pelas quartas de final da Copa do Brasil.

Mesmo durante os treinos, o técnico gosta de criar exercícios que mexam com a parte tática, física e mental. De acordo com pessoas próximas, Abel Ferreira entende que este discurso mais inflamado antes e no intervalo dos jogos é uma forma de mostrar intensidade, garra e entrega aos jogadores.

Neste contexto, "Avanti, Palestra" chamou a atenção do técnico quando ele fez os estudos sobre a nova equipe. O português entendeu que este é um lema bastante usado no Palmeiras, e ele gosta em seu trabalho de ar ao elenco os valores das equipes. Na visão dele, o atleta precisa "entender" e "sentir" o clube em que está.

As pessoas que convivem com o comandante no Verdão elogiam bastante este cuidado com as tradições do Palmeiras. Em sua entrevista de apresentação, falou em "defender o verde e branco até a morte", citou o fato de o clube ser marcado pelo estilo de jogo das Academias dos anos 60 e 70. Até a boa relação entre as torcidas de Palmeiras e Vasco foi parte de sua "lição de casa".

Esta atenção a detalhes é vista como uma forma de aproximar a comissão técnica portuguesa não só do clube, mas dos jogadores, também. No dia a dia, Abel mostra-se bastante aberto para ouvir e conhecer mais da rotina na Academia de Futebol.

Também no vestiário antes dos jogos, seus auxiliares ream com os atletas alguns conceitos, como de posicionamento de bolas paradas e movimentações durante a partida. Isto não é inédito no clube, mas é uma forma de aproximar os portugueses do elenco, confirmando este cuidado com tudo.

Ter um trabalho mais minucioso da comissão técnica era visto como uma necessidade por parte da diretoria, após demitir Vanderlei Luxemburgo. Nas conversas internamente, o treinador de 41 anos é considerado alguém com "fome" de vencer.

E o início tem empolgado, especialmente pelo conteúdo e metodologia apresentados pela comissão portuguesa até aqui, com muito uso de dados de análise de desempenho e de tecnologia. Hoje, diante do Flu, a equipe vem de sua melhor atuação com Abel Ferreira, mas terá de ar mais uma vez por dificuldades: serão 14 desfalques contra um rival direto pelo G-4 do Brasíleirão.

FICHA TÉCNICA:

PALMEIRAS x FLUMINENSE
Local:
Allianz Parque, em São Paulo (SP)
Data: 14 de novembro de 2020, sábado
Horário: 21h30
Árbitro: Leandro Pedro Vuaden (RS)
Assistentes: Jorge Eduardo Bernardi (RS) e José Eduardo Calza (RS)
VAR: Jean Pierre Gonçalves Lima (RS)

PALMEIRAS: Jailson; Emerson Santos, Renan e Alan Empereur; Marcos Rocha, Patrick de Paula, Raphael Veiga e Gustavo Scarpa; Lucas Lima (Breno Lopes) Gabriel Veron e Willian. Técnico: Abel Ferreira

FLUMINENSE: Muriel; Igor Julião, Nino, Luccas Claro e Danilo Barcelos; Hudson, Dodi, Nenê e Michel Araújo; Wellington Silva e Fred. Técnico: Odair Hellmann

Palmeiras