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

Por trás do glamour dos cosméticos, poluição do corpo e do ambiente

iStock
Imagem: iStock

da RFI

25/01/2019 09h44

O xampu que deixa o cabelo sedoso e brilhante ou o sabonete com toque aveludado escondem um lado nada glamouroso: para conseguir esse efeito, a maioria dos produtos possuem derivados de petróleo, que nada mais são do que plástico em forma líquida.

Outras marcas se orgulham de só ter ingredientes naturais na fórmula - mas os componentes são obtidos com métodos duvidosos de produção, em países distantes nos quais as regras ambientais são inexistentes.

Para combater as práticas nada ecológicas de ao menos 80% da indústria cosmética mundial, o movimento Slow Cosmetique, da França, propõe um selo de qualidade para destacar as marcas que respeitam o corpo e o meio ambiente.

A coordenadora da associação, Constance Sycinski, explica o quanto um simples banho pode ser nocivo, dependendo da escolha do sabonete líquido ou do xampu.

"O efeito macio e sedoso é garantido, mas na verdade estamos envolvendo os cabelos de plástico e, quando enxaguamos a cabeça, ainda levamos esse plástico para os esgotos. É muito grave porque além de poluirmos mais o planeta a cada banho, ainda colocamos poluentes no nosso próprio corpo", afirma.

Constance chama a atenção para o consumismo exagerado que permeia a indústria cosmética: existe um produto diferente para cada parte do corpo, num estímulo permanente a comprar cada vez mais.

"Não precisamos de tudo isso! O Slow Cosmetique convida as pessoas a consumir menos e melhor. Produtos simples e de multiúso, como os óleos vegetais, que têm ingredientes naturais e são ótimos para a pele como um todo, porque contêm ácidos graxos que a nutrem profundamente, sem poluir", observa.

Produtos para bebê

Esse retorno à simplicidade foi o que motivou a gestora educacional Deborah Feyte a se interessar pelo movimento, no sudoeste da França. Ela começou com receitas caseiras, como trocar o demaquilante por um simples azeite de oliva. O nascimento das filhas a fez questionar ainda mais a necessidade de ter tantos cosméticos no banheiro.

"Minha filha mais velha tinha muita irritação na pele quando era bebê. Foi quando decidi introduzir uma mudança radical: fim de produtos industrializados no banho e ei comprar só produtos naturais, com o selo Slow Cosmetique. Vi a diferença em poucos dias", atesta a sa. "As irritações simplesmente acabaram. Ela não tem mais nenhum problema de pele."

Outro problema é a geração de lixo. Constance Sycinski destaca que não basta as marcas oferecerem embalagens recicláveis, se elas continuam a conter plástico. Para ser sustentável, é preciso romper com a dependência dos materiais sintéticos e privilegiar embalagens minimalistas, de papel ou tecido.

Grandes marcas de fora

A Slow Cosmetique se preocupa com toda a cadeia de produção, em circuito curto, artesanal, local e atento a princípios éticos, como o bem-estar animal. É por isso que, na lista de marcas agraciadas com o selo, jamais haverá espaço para gigantes como L'Oréal ou L'Occitane - por mais que elas se esforcem para ar uma imagem ecológica.

A diretora da associação destaca que, por pressão do mercado consumidor, cada vez mais atento aos rótulos dos produtos e atento à presença de desreguladores endócrinos, as grandes marcas se obrigam a oferecer pelo menos uma gama de orgânicos. Mas atenção: orgânico não é sinônimo de sustentável.

"A fórmula será boa, não-poluente, mas terá ingredientes do mundo inteiro, produzidos num ritmo alucinante, às vezes prejudicando as populações locais. Tudo isso porque o Ocidente está exigindo cosméticos orgânicos, então vão ar a produzir orgânicos desenfreadamente", prevê.

Por conta do modo de produção diferenciado, os cosméticos sustentáveis nunca estarão entre os mais baratos do supermercado. Eles custam em média o dobro de um produto comum de uma marca conhecida.

"Quanto mais o preço for baixo, mais chances de estarmos diante de um produto que contém derivados de petróleo, que não custam nada comparados a um bom óleo vegetal ou outros ingredientes naturais nobres. Já faz seis anos que fazemos essa conscientização na França e ainda temos um longo caminho pela frente: somos um nicho dentro do nicho de produtos orgânicos", nota Constance.

"E para todas as pessoas que acham os cosméticos ses luxuosos, tradicionais, fabulosos, saibam que a maioria dos produtos exportados em massa para o mundo está longe de ser nobre, inclusive do ponto de vista das suas fórmulas."