;(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

A cocada queimada é a estrela desse bolo cheio de sabor e ancestralidade

O coco, base de muitos pratos dos povos africanos no continente americano, brilha neste bolo de cocada queimada - Arquivo pessoal
O coco, base de muitos pratos dos povos africanos no continente americano, brilha neste bolo de cocada queimada Imagem: Arquivo pessoal

Cíntia Marcucci

Colaboração para Nossa

29/07/2020 04h00

Aline Chermoula

Aline Chermoula

Quem é

Natural da Bahia, é pesquisadora da cozinha afro-americana, chef e idealizadora do Chermoula Culinária, @alinechermoulaoficial. Sua culinária é "uma comida de resistência, inspirada na diáspora africana pelas Américas"

Quando era adolescente, o sonho de Aline Araújo era tirar F e ter título de eleitora. Ou seja, ser independente e ter voz ativa para construir o mundo (o seu e o de todos). Foi nessa época, com 16 anos, que começou a trabalhar em uma rede de fast food.

Era o começo de uma relação duradoura com a cozinha, que teria várias fases até chegar na cozinha com personalidade e que trabalha com as ancestralidades e influências dos povos africanos no continente americano.

O uso do coco, seja da polpa ralada ou do leite, em doces e salgados, é um desses casos. O ingrediente é base de inúmeras receitas, como a do bolo de cocada queimada, criado por Aline para encher de água a boca de qualquer um.

Da história para novos caminhos

Aline Chermoula - Jonathan Brasil/Divulgação - Jonathan Brasil/Divulgação
Aline faz uma cozinha com influências dos povos africanos
Imagem: Jonathan Brasil/Divulgação
Entre o primeiro emprego e a decisão de abrir uma empresa própria, Aline fez três anos da faculdade de história. Quando viu que trabalho na área não lhe traria satisfação plena, decidiu começar uma nova faculdade, de gastronomia, em 2006.

"Fiz bastante coisa. Trabalhei em confeitaria antes mesmo da faculdade, em buffet, dei aula, e trabalhei muitos anos em uma casa de São Paulo dedicada ao jazz que traz em seu cardápio a culinária creole e cajun, de New Orleans, de influência africana", conta.

Quando engravidou do primeiro filho, Aline, que trabalhava em dois empregos morando longe do centro da cidade, decidiu diminuir o ritmo para poder cuidar da família.

aline chermoula - Jonathan Brasil/Divulgação - Jonathan Brasil/Divulgação
Além da "cozinha com cultura", a chef desenvolvo oficinas de aproveitamento de alimentos na Cidade Tiradentes, em São Paulo
Imagem: Jonathan Brasil/Divulgação

Aliando seus conhecimentos de história, sua ancestralidade e o talento na cozinha, abriu o Chermoula Culinária. "No início era um serviço de buffet e catering que oferecia comida com cultura. Além disso, desenvolvi oficinas de aproveitamento integral de alimentos aqui na Cidade Tiradentes, região onde moro", diz.

Aline acabou ficando conhecida como Aline da Chermoula, tanto que adotou o nome comercialmente.

Sua empresa e seus pratos, como o jambalaya, o molho chermoula, e doces autorais como o docinho africano, se reconfiguraram para o sistema de encomendas e delivery na pandemia.

jambalaya - Arquivo pessoal - Arquivo pessoal
O jambalaya é uma das receitas de tradição afro preparados no Chermoula Culinária
Imagem: Arquivo pessoal

* Em 24 de julho de 2020, Dia Internacional da Mulher Negra Latino-americana e Caribenha, depois de conceder essa entrevista, Aline teve seus perfis no Instagram hackeados (tanto o pessoal como o da Chermoula Culinária) e perdeu seus mais de 10 mil seguidores. Desde então, ela está aos poucos reconstruindo sua base de clientes e contatos em um novo perfil @alinechermoulaoficial, e repostando diversas receitas, como a do bolo de cocada queimada cedida a Nossa.