From 662a96b167d13add3ed1c380c0236f627ecc75c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Gigandet?= Date: Fri, 17 Jan 2025 11:01:39 +0100 Subject: [PATCH] feat: serve content without header and footer for mobile app (#11245) This PR is for better display of content pages in the mobile app. It removes the header or the footer if: - the user agent contains "Smoothie" (can also be faked by passing the ?user_agent=smoothie) - we have a ?content_only=1 parameter --------- Co-authored-by: Open Food Facts Bot --- lib/ProductOpener/Display.pm | 4 + templates/web/common/site_layout.tt.html | 17 +- .../get-auth-bad-user-password.html | 17 +- .../post-product-auth-bad-user-password.html | 17 +- .../crawler-access-category-facet-page.html | 17 +- .../crawler-access-product-page.html | 17 +- ...r-does-not-get-facet-knowledge-panels.html | 17 +- ...ormal-user-access-category-facet-page.html | 17 +- .../normal-user-access-editor-facet-page.html | 17 +- .../normal-user-access-list-of-tags.html | 17 +- .../normal-user-access-nested-facet-page.html | 17 +- .../normal-user-access-product-page.html | 17 +- ...ormal-user-get-facet-knowledge-panels.html | 17 +- .../normal-user-get-non-official-cc-lc.html | 17 +- .../product_read/get-existing-product.html | 17 +- .../product_read/get-unexisting-product.html | 17 +- ...-protected-product-web-form-moderator.html | 17 +- .../edit-protected-product-web-form.html | 17 +- .../edit-unprotected-product-web-form.html | 17 +- .../country-cambodia-exists-but-empty.html | 17 +- ...ountry-doesnotexist-ingredients-apple.html | 17 +- .../country-doesnotexist-ingredients.html | 17 +- .../unknown_tags/country-doesnotexist.html | 17 +- .../unknown_tags/country-france-exists.html | 17 +- .../unknown_tags/ingredient-apple-exists.html | 17 +- ...tyingredient-does-not-exist-and-empty.html | 17 +- ...t-does-not-exist-but-not-empty-labels.html | 17 +- ...gredient-does-not-exist-but-not-empty.html | 17 +- .../unknown_tags/unknown-product.html | 17 +- .../web_html/es-ingredients.html | 17 +- .../web_html/fr-brands.html | 17 +- .../web_html/fr-categories.html | 17 +- .../web_html/fr-countries.html | 17 +- .../web_html/fr-edit-product.html | 17 +- .../web_html/fr-index.html | 17 +- .../web_html/fr-labels.html | 17 +- .../web_html/fr-product-2.html | 17 +- .../web_html/fr-product.html | 17 +- .../web_html/fr-search-form.html | 17 +- .../web_html/fr-search-results-cached.html | 17 +- .../web_html/fr-search-results-no-cache.html | 17 +- .../web_html/fr-search-results.html | 17 +- .../web_html/user-register.html | 17 +- .../web_html/world-brands.html | 17 +- .../web_html/world-categories.html | 17 +- .../web_html/world-countries.html | 17 +- .../web_html/world-edit-product.html | 17 +- .../web_html/world-index-signedin.html | 17 +- .../web_html/world-index.html | 17 +- .../web_html/world-label-organic.html | 17 +- .../web_html/world-labels.html | 17 +- .../web_html/world-product-content-only.html | 4266 +++++++++++++++++ .../web_html/world-product-not-found.html | 17 +- .../web_html/world-product-smoothie.html | 4266 +++++++++++++++++ .../web_html/world-product.html | 17 +- .../world-products-multiple-codes.html | 17 +- .../web_html/world-search-form.html | 17 +- .../web_html/world-search-results.html | 17 +- tests/integration/web_html.t | 12 + 59 files changed, 9428 insertions(+), 55 deletions(-) create mode 100644 tests/integration/expected_test_results/web_html/world-product-content-only.html create mode 100644 tests/integration/expected_test_results/web_html/world-product-smoothie.html diff --git a/lib/ProductOpener/Display.pm b/lib/ProductOpener/Display.pm index 184d832e6a3b5..94b7ab07479ef 100644 --- a/lib/ProductOpener/Display.pm +++ b/lib/ProductOpener/Display.pm @@ -7619,6 +7619,10 @@ sub display_page ($request_ref) { $template_data_ref->{request} = $request_ref; my $html; + # ?content_only=1 -> only the content, no header, footer, etc. + if (($user_agent =~ /smoothie/) or (single_param('content_only'))) { + $template_data_ref->{content_only} = 1; + } process_template('web/common/site_layout.tt.html', $template_data_ref, \$html, $request_ref) || ($html = "template error: " . $tt->error()); diff --git a/templates/web/common/site_layout.tt.html b/templates/web/common/site_layout.tt.html index 954a885d12eee..82b91403cf6a9 100644 --- a/templates/web/common/site_layout.tt.html +++ b/templates/web/common/site_layout.tt.html @@ -31,9 +31,12 @@ [% analytics %] + [% IF ! content_only %] + [% END %]
+ [% IF ! content_only %]
+ [% END %]
- + + [% IF ! content_only %]
+ [% END %]
+ + [% IF ! content_only %] @@ -273,8 +281,12 @@ [% END %] + [% END %] +
+ + [% IF ! content_only %] [% IF ! server_options_producers_platform %] [%# for now, display the packagings banner in all cases %] [% IF 1 == 0 %] @@ -292,6 +304,7 @@ [% banner_main %] [% END %] [% END %] + [% END %] [% IF page_format == "banner" %] @@ -329,6 +342,7 @@

[% title %]

+ [% IF ! content_only %]
@@ -423,6 +437,7 @@

[% lang('footer_discover_the_project') %]

+ [% END %]
diff --git a/tests/integration/expected_test_results/api_v2_product_read/get-auth-bad-user-password.html b/tests/integration/expected_test_results/api_v2_product_read/get-auth-bad-user-password.html index 92a9476219318..23a23dc1027a5 100644 --- a/tests/integration/expected_test_results/api_v2_product_read/get-auth-bad-user-password.html +++ b/tests/integration/expected_test_results/api_v2_product_read/get-auth-bad-user-password.html @@ -62,9 +62,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -343,6 +355,7 @@

Please give to our 2024 Fundraiser

+
@@ -358,6 +371,7 @@

Error

+
@@ -512,6 +526,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/api_v2_product_write/post-product-auth-bad-user-password.html b/tests/integration/expected_test_results/api_v2_product_write/post-product-auth-bad-user-password.html index 0bc5b6959f84d..07d84208f020b 100644 --- a/tests/integration/expected_test_results/api_v2_product_write/post-product-auth-bad-user-password.html +++ b/tests/integration/expected_test_results/api_v2_product_write/post-product-auth-bad-user-password.html @@ -62,9 +62,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -343,6 +355,7 @@

Merci de contribuer à notre collecte de +
@@ -358,6 +371,7 @@

Erreur

+
@@ -512,6 +526,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/page_crawler/crawler-access-category-facet-page.html b/tests/integration/expected_test_results/page_crawler/crawler-access-category-facet-page.html index 50ef35d1dc98b..1aad6ac3399ac 100644 --- a/tests/integration/expected_test_results/page_crawler/crawler-access-category-facet-page.html +++ b/tests/integration/expected_test_results/page_crawler/crawler-access-category-facet-page.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -510,6 +523,7 @@

Hazelnut spreads

+
@@ -664,6 +678,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/page_crawler/crawler-access-product-page.html b/tests/integration/expected_test_results/page_crawler/crawler-access-product-page.html index f0e63ef762f84..a7dd47c97a852 100644 --- a/tests/integration/expected_test_results/page_crawler/crawler-access-product-page.html +++ b/tests/integration/expected_test_results/page_crawler/crawler-access-product-page.html @@ -75,9 +75,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -356,6 +368,7 @@

Please give to our 2024 Fundraiser

+ @@ -3703,6 +3716,7 @@

Data sources

+
@@ -3857,6 +3871,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/page_crawler/crawler-does-not-get-facet-knowledge-panels.html b/tests/integration/expected_test_results/page_crawler/crawler-does-not-get-facet-knowledge-panels.html index b61e73eabd34e..82c63dd00149a 100644 --- a/tests/integration/expected_test_results/page_crawler/crawler-does-not-get-facet-knowledge-panels.html +++ b/tests/integration/expected_test_results/page_crawler/crawler-does-not-get-facet-knowledge-panels.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -574,6 +587,7 @@

Cakes

+
@@ -728,6 +742,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/page_crawler/normal-user-access-category-facet-page.html b/tests/integration/expected_test_results/page_crawler/normal-user-access-category-facet-page.html index 6beb2dda2f5f4..3d9ac3ba14a7d 100644 --- a/tests/integration/expected_test_results/page_crawler/normal-user-access-category-facet-page.html +++ b/tests/integration/expected_test_results/page_crawler/normal-user-access-category-facet-page.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -551,6 +564,7 @@

+
@@ -705,6 +719,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/page_crawler/normal-user-access-editor-facet-page.html b/tests/integration/expected_test_results/page_crawler/normal-user-access-editor-facet-page.html index 2690088702f8b..8df59a4488289 100644 --- a/tests/integration/expected_test_results/page_crawler/normal-user-access-editor-facet-page.html +++ b/tests/integration/expected_test_results/page_crawler/normal-user-access-editor-facet-page.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+
@@ -360,6 +373,7 @@

Error

+
@@ -514,6 +528,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/page_crawler/normal-user-access-list-of-tags.html b/tests/integration/expected_test_results/page_crawler/normal-user-access-list-of-tags.html index 31b47f21af8e4..2329cb83081f1 100644 --- a/tests/integration/expected_test_results/page_crawler/normal-user-access-list-of-tags.html +++ b/tests/integration/expected_test_results/page_crawler/normal-user-access-list-of-tags.html @@ -65,9 +65,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -346,6 +358,7 @@

Please give to our 2024 Fundraiser

+
@@ -403,6 +416,7 @@

List of categories - World

+
@@ -557,6 +571,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/page_crawler/normal-user-access-nested-facet-page.html b/tests/integration/expected_test_results/page_crawler/normal-user-access-nested-facet-page.html index 52eb5ea986ce3..0cfc7aa2bf273 100644 --- a/tests/integration/expected_test_results/page_crawler/normal-user-access-nested-facet-page.html +++ b/tests/integration/expected_test_results/page_crawler/normal-user-access-nested-facet-page.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -546,6 +559,7 @@

+
@@ -700,6 +714,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/page_crawler/normal-user-access-product-page.html b/tests/integration/expected_test_results/page_crawler/normal-user-access-product-page.html index f0e63ef762f84..a7dd47c97a852 100644 --- a/tests/integration/expected_test_results/page_crawler/normal-user-access-product-page.html +++ b/tests/integration/expected_test_results/page_crawler/normal-user-access-product-page.html @@ -75,9 +75,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -356,6 +368,7 @@

Please give to our 2024 Fundraiser

+ @@ -3703,6 +3716,7 @@

Data sources

+
@@ -3857,6 +3871,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/page_crawler/normal-user-get-facet-knowledge-panels.html b/tests/integration/expected_test_results/page_crawler/normal-user-get-facet-knowledge-panels.html index c0e1967d87590..109899abf6c9f 100644 --- a/tests/integration/expected_test_results/page_crawler/normal-user-get-facet-knowledge-panels.html +++ b/tests/integration/expected_test_results/page_crawler/normal-user-get-facet-knowledge-panels.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -615,6 +628,7 @@

+
@@ -769,6 +783,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/page_crawler/normal-user-get-non-official-cc-lc.html b/tests/integration/expected_test_results/page_crawler/normal-user-get-non-official-cc-lc.html index 62ede781cc1dd..fadbfb1e110e3 100644 --- a/tests/integration/expected_test_results/page_crawler/normal-user-get-non-official-cc-lc.html +++ b/tests/integration/expected_test_results/page_crawler/normal-user-get-non-official-cc-lc.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -344,6 +356,7 @@

Please give to our 2024 Fundraiser

+ @@ -417,6 +430,7 @@

Contribute

+
@@ -571,6 +585,7 @@

Descubre el proyecto

+
diff --git a/tests/integration/expected_test_results/product_read/get-existing-product.html b/tests/integration/expected_test_results/product_read/get-existing-product.html index ebda9c3dcc1dd..2a76ad866b0b5 100644 --- a/tests/integration/expected_test_results/product_read/get-existing-product.html +++ b/tests/integration/expected_test_results/product_read/get-existing-product.html @@ -73,9 +73,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -354,6 +366,7 @@

Please give to our 2024 Fundraiser

+ @@ -4883,6 +4896,7 @@

Data sources

+
@@ -5037,6 +5051,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/product_read/get-unexisting-product.html b/tests/integration/expected_test_results/product_read/get-unexisting-product.html index 667e5d61317ac..f09094ffe6786 100644 --- a/tests/integration/expected_test_results/product_read/get-unexisting-product.html +++ b/tests/integration/expected_test_results/product_read/get-unexisting-product.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+
@@ -360,6 +373,7 @@

Error

+
@@ -514,6 +528,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/protected_product/edit-protected-product-web-form-moderator.html b/tests/integration/expected_test_results/protected_product/edit-protected-product-web-form-moderator.html index d01dc99a69798..a68585369de77 100644 --- a/tests/integration/expected_test_results/protected_product/edit-protected-product-web-form-moderator.html +++ b/tests/integration/expected_test_results/protected_product/edit-protected-product-web-form-moderator.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -368,6 +380,7 @@

Merci de contribuer à notre collecte de +
@@ -653,6 +666,7 @@

Contribution

+
@@ -807,6 +821,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/protected_product/edit-protected-product-web-form.html b/tests/integration/expected_test_results/protected_product/edit-protected-product-web-form.html index 241e6a7a2adcf..0c2761dfd1217 100644 --- a/tests/integration/expected_test_results/protected_product/edit-protected-product-web-form.html +++ b/tests/integration/expected_test_results/protected_product/edit-protected-product-web-form.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -368,6 +380,7 @@

Merci de contribuer à notre collecte de +
@@ -653,6 +666,7 @@

Contribution

+
@@ -807,6 +821,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/protected_product/edit-unprotected-product-web-form.html b/tests/integration/expected_test_results/protected_product/edit-unprotected-product-web-form.html index 7ebffb4c5f049..ea2c905fd1d54 100644 --- a/tests/integration/expected_test_results/protected_product/edit-unprotected-product-web-form.html +++ b/tests/integration/expected_test_results/protected_product/edit-unprotected-product-web-form.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -368,6 +380,7 @@

Merci de contribuer à notre collecte de +
@@ -653,6 +666,7 @@

Contribution

+
@@ -807,6 +821,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/unknown_tags/country-cambodia-exists-but-empty.html b/tests/integration/expected_test_results/unknown_tags/country-cambodia-exists-but-empty.html index 826ff06712e34..e5e0cb96a246f 100644 --- a/tests/integration/expected_test_results/unknown_tags/country-cambodia-exists-but-empty.html +++ b/tests/integration/expected_test_results/unknown_tags/country-cambodia-exists-but-empty.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -496,6 +509,7 @@

+
@@ -650,6 +664,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/unknown_tags/country-doesnotexist-ingredients-apple.html b/tests/integration/expected_test_results/unknown_tags/country-doesnotexist-ingredients-apple.html index 342b09259ad3b..ff15507420e56 100644 --- a/tests/integration/expected_test_results/unknown_tags/country-doesnotexist-ingredients-apple.html +++ b/tests/integration/expected_test_results/unknown_tags/country-doesnotexist-ingredients-apple.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+
@@ -360,6 +373,7 @@

Error

+
@@ -514,6 +528,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/unknown_tags/country-doesnotexist-ingredients.html b/tests/integration/expected_test_results/unknown_tags/country-doesnotexist-ingredients.html index c6a580ebc8755..a12f369e49c35 100644 --- a/tests/integration/expected_test_results/unknown_tags/country-doesnotexist-ingredients.html +++ b/tests/integration/expected_test_results/unknown_tags/country-doesnotexist-ingredients.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+
@@ -360,6 +373,7 @@

Error

+
@@ -514,6 +528,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/unknown_tags/country-doesnotexist.html b/tests/integration/expected_test_results/unknown_tags/country-doesnotexist.html index 342b09259ad3b..ff15507420e56 100644 --- a/tests/integration/expected_test_results/unknown_tags/country-doesnotexist.html +++ b/tests/integration/expected_test_results/unknown_tags/country-doesnotexist.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+
@@ -360,6 +373,7 @@

Error

+
@@ -514,6 +528,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/unknown_tags/country-france-exists.html b/tests/integration/expected_test_results/unknown_tags/country-france-exists.html index 345a4ee604c22..b069c6870c447 100644 --- a/tests/integration/expected_test_results/unknown_tags/country-france-exists.html +++ b/tests/integration/expected_test_results/unknown_tags/country-france-exists.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -542,6 +555,7 @@

+
@@ -696,6 +710,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/unknown_tags/ingredient-apple-exists.html b/tests/integration/expected_test_results/unknown_tags/ingredient-apple-exists.html index ea3349531aa08..3a947b793fa65 100644 --- a/tests/integration/expected_test_results/unknown_tags/ingredient-apple-exists.html +++ b/tests/integration/expected_test_results/unknown_tags/ingredient-apple-exists.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -603,6 +616,7 @@

+
@@ -757,6 +771,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/unknown_tags/ingredient-someunknownandemptyingredient-does-not-exist-and-empty.html b/tests/integration/expected_test_results/unknown_tags/ingredient-someunknownandemptyingredient-does-not-exist-and-empty.html index 342b09259ad3b..ff15507420e56 100644 --- a/tests/integration/expected_test_results/unknown_tags/ingredient-someunknownandemptyingredient-does-not-exist-and-empty.html +++ b/tests/integration/expected_test_results/unknown_tags/ingredient-someunknownandemptyingredient-does-not-exist-and-empty.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+
@@ -360,6 +373,7 @@

Error

+
@@ -514,6 +528,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/unknown_tags/ingredient-someunknowningredient-does-not-exist-but-not-empty-labels.html b/tests/integration/expected_test_results/unknown_tags/ingredient-someunknowningredient-does-not-exist-but-not-empty-labels.html index 22ba357a85f66..e166da65007c8 100644 --- a/tests/integration/expected_test_results/unknown_tags/ingredient-someunknowningredient-does-not-exist-but-not-empty-labels.html +++ b/tests/integration/expected_test_results/unknown_tags/ingredient-someunknowningredient-does-not-exist-but-not-empty-labels.html @@ -65,9 +65,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -346,6 +358,7 @@

Please give to our 2024 Fundraiser

+
@@ -434,6 +447,7 @@

+
@@ -588,6 +602,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/unknown_tags/ingredient-someunknowningredient-does-not-exist-but-not-empty.html b/tests/integration/expected_test_results/unknown_tags/ingredient-someunknowningredient-does-not-exist-but-not-empty.html index 887a71f3b122d..262eb8fbc782d 100644 --- a/tests/integration/expected_test_results/unknown_tags/ingredient-someunknowningredient-does-not-exist-but-not-empty.html +++ b/tests/integration/expected_test_results/unknown_tags/ingredient-someunknowningredient-does-not-exist-but-not-empty.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -542,6 +555,7 @@

+
@@ -696,6 +710,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/unknown_tags/unknown-product.html b/tests/integration/expected_test_results/unknown_tags/unknown-product.html index b3546e33cabb3..6c987aa7c4fe6 100644 --- a/tests/integration/expected_test_results/unknown_tags/unknown-product.html +++ b/tests/integration/expected_test_results/unknown_tags/unknown-product.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+
@@ -360,6 +373,7 @@

Error

+
@@ -514,6 +528,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/es-ingredients.html b/tests/integration/expected_test_results/web_html/es-ingredients.html index 3a35f7e299569..8cb56aed3481c 100644 --- a/tests/integration/expected_test_results/web_html/es-ingredients.html +++ b/tests/integration/expected_test_results/web_html/es-ingredients.html @@ -65,9 +65,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -346,6 +358,7 @@

Please give to our 2024 Fundraiser

+
@@ -463,6 +476,7 @@

Lista de ingredientes - España

+
@@ -617,6 +631,7 @@

Descubre el proyecto

+
diff --git a/tests/integration/expected_test_results/web_html/fr-brands.html b/tests/integration/expected_test_results/web_html/fr-brands.html index d3bcbc29faa6e..a0fe472ca6537 100644 --- a/tests/integration/expected_test_results/web_html/fr-brands.html +++ b/tests/integration/expected_test_results/web_html/fr-brands.html @@ -65,9 +65,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -346,6 +358,7 @@

Merci de contribuer à notre collecte de +
@@ -399,6 +412,7 @@

Liste des marques - France

+
@@ -553,6 +567,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/web_html/fr-categories.html b/tests/integration/expected_test_results/web_html/fr-categories.html index 8db641dfeb48a..7f6af19581046 100644 --- a/tests/integration/expected_test_results/web_html/fr-categories.html +++ b/tests/integration/expected_test_results/web_html/fr-categories.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Merci de contribuer à notre collecte de + @@ -636,6 +649,7 @@

+
@@ -790,6 +804,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/web_html/fr-countries.html b/tests/integration/expected_test_results/web_html/fr-countries.html index d271fa6431d68..fb316fd2379d9 100644 --- a/tests/integration/expected_test_results/web_html/fr-countries.html +++ b/tests/integration/expected_test_results/web_html/fr-countries.html @@ -65,9 +65,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -346,6 +358,7 @@

Merci de contribuer à notre collecte de +
@@ -405,6 +418,7 @@

Liste des pays - France

+
@@ -559,6 +573,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/web_html/fr-edit-product.html b/tests/integration/expected_test_results/web_html/fr-edit-product.html index 27a31852d868f..7d765e884c6c6 100644 --- a/tests/integration/expected_test_results/web_html/fr-edit-product.html +++ b/tests/integration/expected_test_results/web_html/fr-edit-product.html @@ -83,9 +83,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -387,6 +399,7 @@

Merci de contribuer à notre collecte de + @@ -3569,6 +3582,7 @@

Historique des modifications

+
@@ -3723,6 +3737,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/web_html/fr-index.html b/tests/integration/expected_test_results/web_html/fr-index.html index b796be4970d4f..d4cda9a86261d 100644 --- a/tests/integration/expected_test_results/web_html/fr-index.html +++ b/tests/integration/expected_test_results/web_html/fr-index.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Merci de contribuer à notre collecte de + @@ -626,6 +639,7 @@

Contribute

+
@@ -780,6 +794,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/web_html/fr-labels.html b/tests/integration/expected_test_results/web_html/fr-labels.html index e8038771ec844..8e979dc57440c 100644 --- a/tests/integration/expected_test_results/web_html/fr-labels.html +++ b/tests/integration/expected_test_results/web_html/fr-labels.html @@ -65,9 +65,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -346,6 +358,7 @@

Merci de contribuer à notre collecte de +
@@ -399,6 +412,7 @@

Liste des labels - France

+
@@ -553,6 +567,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/web_html/fr-product-2.html b/tests/integration/expected_test_results/web_html/fr-product-2.html index 673e81de8d714..a904aa55cd50d 100644 --- a/tests/integration/expected_test_results/web_html/fr-product-2.html +++ b/tests/integration/expected_test_results/web_html/fr-product-2.html @@ -75,9 +75,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -356,6 +368,7 @@

Merci de contribuer à notre collecte de + @@ -4484,6 +4497,7 @@

Sources de données

+
@@ -4638,6 +4652,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/web_html/fr-product.html b/tests/integration/expected_test_results/web_html/fr-product.html index 35a02f30079ba..cf72f3744e3d0 100644 --- a/tests/integration/expected_test_results/web_html/fr-product.html +++ b/tests/integration/expected_test_results/web_html/fr-product.html @@ -75,9 +75,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -356,6 +368,7 @@

Merci de contribuer à notre collecte de + @@ -4498,6 +4511,7 @@

Sources de données

+
@@ -4652,6 +4666,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/web_html/fr-search-form.html b/tests/integration/expected_test_results/web_html/fr-search-form.html index 82c3dcc2bf058..2e90b511b3e38 100644 --- a/tests/integration/expected_test_results/web_html/fr-search-form.html +++ b/tests/integration/expected_test_results/web_html/fr-search-form.html @@ -67,9 +67,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -348,6 +360,7 @@

Merci de contribuer à notre collecte de +
@@ -2024,6 +2037,7 @@

Résultats sur un graphique

+
@@ -2178,6 +2192,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/web_html/fr-search-results-cached.html b/tests/integration/expected_test_results/web_html/fr-search-results-cached.html index bdf89ce3a198b..8c551d329e958 100644 --- a/tests/integration/expected_test_results/web_html/fr-search-results-cached.html +++ b/tests/integration/expected_test_results/web_html/fr-search-results-cached.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Merci de contribuer à notre collecte de + @@ -488,6 +501,7 @@

Résultats de la recherche - France

+
@@ -642,6 +656,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/web_html/fr-search-results-no-cache.html b/tests/integration/expected_test_results/web_html/fr-search-results-no-cache.html index c38fa6057adcb..6f7ebcf18952b 100644 --- a/tests/integration/expected_test_results/web_html/fr-search-results-no-cache.html +++ b/tests/integration/expected_test_results/web_html/fr-search-results-no-cache.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Merci de contribuer à notre collecte de + @@ -488,6 +501,7 @@

Résultats de la recherche - France

+
@@ -642,6 +656,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/web_html/fr-search-results.html b/tests/integration/expected_test_results/web_html/fr-search-results.html index bdf89ce3a198b..8c551d329e958 100644 --- a/tests/integration/expected_test_results/web_html/fr-search-results.html +++ b/tests/integration/expected_test_results/web_html/fr-search-results.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Merci de contribuer à notre collecte de + @@ -488,6 +501,7 @@

Résultats de la recherche - France

+
@@ -642,6 +656,7 @@

Découvrez le projet

+
diff --git a/tests/integration/expected_test_results/web_html/user-register.html b/tests/integration/expected_test_results/web_html/user-register.html index b9597dfcf3560..da9cf57685a10 100644 --- a/tests/integration/expected_test_results/web_html/user-register.html +++ b/tests/integration/expected_test_results/web_html/user-register.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+
@@ -1566,6 +1579,7 @@

Register

+
@@ -1720,6 +1734,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/world-brands.html b/tests/integration/expected_test_results/web_html/world-brands.html index 1a06faba17c76..8b2b1dce66645 100644 --- a/tests/integration/expected_test_results/web_html/world-brands.html +++ b/tests/integration/expected_test_results/web_html/world-brands.html @@ -65,9 +65,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -346,6 +358,7 @@

Please give to our 2024 Fundraiser

+
@@ -407,6 +420,7 @@

List of brands - World

+
@@ -561,6 +575,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/world-categories.html b/tests/integration/expected_test_results/web_html/world-categories.html index ab27e369b40a9..9e805cf0b35f1 100644 --- a/tests/integration/expected_test_results/web_html/world-categories.html +++ b/tests/integration/expected_test_results/web_html/world-categories.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -762,6 +775,7 @@

+
@@ -916,6 +930,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/world-countries.html b/tests/integration/expected_test_results/web_html/world-countries.html index ccb12cf9b0fad..3988376c5a1cc 100644 --- a/tests/integration/expected_test_results/web_html/world-countries.html +++ b/tests/integration/expected_test_results/web_html/world-countries.html @@ -65,9 +65,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -346,6 +358,7 @@

Please give to our 2024 Fundraiser

+
@@ -417,6 +430,7 @@

List of countries - World

+
@@ -571,6 +585,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/world-edit-product.html b/tests/integration/expected_test_results/web_html/world-edit-product.html index 044f1929304fe..62a96163274eb 100644 --- a/tests/integration/expected_test_results/web_html/world-edit-product.html +++ b/tests/integration/expected_test_results/web_html/world-edit-product.html @@ -83,9 +83,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -387,6 +399,7 @@

Please give to our 2024 Fundraiser

+ @@ -3567,6 +3580,7 @@

Changes history

+
@@ -3721,6 +3735,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/world-index-signedin.html b/tests/integration/expected_test_results/web_html/world-index-signedin.html index 95a82449be0db..d5751498c1151 100644 --- a/tests/integration/expected_test_results/web_html/world-index-signedin.html +++ b/tests/integration/expected_test_results/web_html/world-index-signedin.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -368,6 +380,7 @@

Please give to our 2024 Fundraiser

+ @@ -663,6 +676,7 @@

Contribute

+
@@ -817,6 +831,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/world-index.html b/tests/integration/expected_test_results/web_html/world-index.html index b22d26b093d65..3afdea3c7d691 100644 --- a/tests/integration/expected_test_results/web_html/world-index.html +++ b/tests/integration/expected_test_results/web_html/world-index.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -640,6 +653,7 @@

Contribute

+
@@ -794,6 +808,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/world-label-organic.html b/tests/integration/expected_test_results/web_html/world-label-organic.html index ad46791e46318..fb699b08b501c 100644 --- a/tests/integration/expected_test_results/web_html/world-label-organic.html +++ b/tests/integration/expected_test_results/web_html/world-label-organic.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -752,6 +765,7 @@

+
@@ -906,6 +920,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/world-labels.html b/tests/integration/expected_test_results/web_html/world-labels.html index 81f6fc978d55b..de7b6c4ce4d1d 100644 --- a/tests/integration/expected_test_results/web_html/world-labels.html +++ b/tests/integration/expected_test_results/web_html/world-labels.html @@ -65,9 +65,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -346,6 +358,7 @@

Please give to our 2024 Fundraiser

+
@@ -403,6 +416,7 @@

List of labels - World

+
@@ -557,6 +571,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/world-product-content-only.html b/tests/integration/expected_test_results/web_html/world-product-content-only.html new file mode 100644 index 0000000000000..d843268186d98 --- /dev/null +++ b/tests/integration/expected_test_results/web_html/world-product-content-only.html @@ -0,0 +1,4266 @@ + + + + + + + Apple pie - Bob's pies - 100 g + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + +
+
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + arrow_upward + + +
+
+
+
+

Apple pie - Bob's pies - 100 g

+ +
+
+
+
+
+
+ +
+
+
+
+ +
+
+ +
+ +
+ + + +

Apple pie - Bob's pies - 100 g

+ + + + + + + + + + +
+ This product page is not complete. You can help to complete it by editing it and adding more data from the photos we have, or by taking more photos using the app for Android or iPhone/iPad. Thank you! + × +
+ + + + + + + +
+ +
+

Barcode:
3300000000001(EAN / EAN-13)

+
+ +
+ + +
+
+ +
+ + + + +

+ Common name: + default_name +

+ + + + +

+ Quantity: + 100 g +

+ + + + +

+ Brands: + Bob's pies +

+ + + + +

+ Categories: + Desserts, Pies, Sweet pies, Apple pies +

+ + + + +

+ Labels, certifications, awards: + Fair trade +

+ + + + +

+ Origin of the product and/or its ingredients: + Germany +

+ + + + + + + + + +

+ Countries where sold: + India, Japan, United States +

+ + + + + + +
+
+
+
+ + + + +
+
+ +
+
+

Matching with your preferences

+ +
+ +
+ +
+ + +
+
+ +
+
+ + + +
+
+
+
+ + + + + +
+ + +

Health

+ + + +
+ + +
+ + + + + + +

Nutrition

+ + + + + + + +
    +
  • + + + + + icon + +

    + + Nutri-Score D +

    + + Lower nutritional quality + +
    +
    + + +
    + +
    + +
    + + + + +
    ⚠ + ️Warning: the nutrition facts are not specified. They have been estimated from the list of ingredients. + +
    + + +
    + + +
    +
    + +
    + + + + +
    ⚠ + ️Warning: the amount of fruits, vegetables and nuts is not specified on the label, it was estimated from the list of ingredients: 22 + +
    + + +
    + + +
    + + + + +
      +
    • + + + + + icon + +

      + + Discover the new Nutri-Score! +

      + +
      +
      + + +
      + +
      + +
      + + + + +
      +

      The computation of the Nutri-Score is evolving to provide better recommendations based on the latest scientific evidence.

      Main improvements:

      • Better score for some fatty fish and oils rich in good fats
      • Better score for whole products rich in fiber
      • Worse score for products containing a lot of salt or sugar
      • Worse score for red meat (compared to poultry)
      + +
      + + + +
      + + +
      +
      + + + + +
      +
      + +
    • +
    + + + + + + +
      +
    • + + + + + icon + +

      + + What is the Nutri-Score? +

      + +
      +
      + + +
      + +
      + +
      + + + + +
      +

      The Nutri-Score is a logo on the overall nutritional quality of products.

      +

      +The score from A to E is calculated based on nutrients and foods to favor (proteins, fiber, fruits, vegetables and legumes ...) and nutrients to limit (calories, saturated fat, sugars, salt). +The score is calculated from the data of the nutrition facts table and the composition data (fruits, vegetables and legumes). +

      + + +
      + + + +
      + + +
      +
      + +
      + + + + + + + + +
      + + +
      +
      + +
    • +
    + + + +
    + + + + + icon + + + +

    Negative points: 17/55

    + + + + + + + +
      +
    • + + + + + icon + +

      + + Energy +

      + + 3/10 points (1249.03kJ) + +
      +
      + + +
      + +
      + +
      + + + + +
      + +

      + + Energy intakes above energy requirements are associated with increased risks of weight gain, overweight, obesity, and consequently risk of diet-related chronic diseases. +

      + +
      + + + +
      + + +
      +
      + +
    • +
    + + + + + + + +
      +
    • + + + + + icon + +

      + + Sugar +

      + + 4/15 points (14.28g) + +
      +
      + + +
      + +
      + +
      + + + + +
      + +

      + + A high consumption of sugar can cause weight gain and tooth decay. It also augments the risk of type 2 diabetes and cardio-vascular diseases. +

      + +
      + + + +
      + + +
      +
      + +
    • +
    + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + icon + + + +

    Positive points: 1/10

    + + + + + + + +
      +
    • + + + + + icon + +

      + + Fiber +

      + + 1/5 points (4.07g) + +
      +
      + + +
      + +
      + +
      + + + + +
      + +

      + Consuming foods rich in fiber (especially whole grain foods) reduces the risks of aerodigestive cancers, cardiovascular diseases, obesity and diabetes. + +

      + +
      + + + +
      + + +
      +
      + +
    • +
    + + + + + + + + + + + + + + +
    + + + + +
      +
    • + + + + + icon + +

      + + Details of the calculation of the Nutri-Score +

      + +
      +
      + + +
      + +
      + +
      + + + + +
      ⚠ + ️Warning: the nutrition facts are not specified. They have been estimated from the list of ingredients. + +
      + + +
      + + +
      +
      + +
      + + + + +
      ⚠ + ️Warning: the amount of fruits, vegetables and nuts is not specified on the label, it was estimated from the list of ingredients: 22 + +
      + + +
      + + +
      +
      + +
      + + + + +
      + + +

      This product is not considered a beverage for the calculation of the Nutri-Score.

      + + + + + +

      Points for proteins are not counted because the negative points greater than or equal to 11.

      + +

      + Nutritional score: 16 + (17 - 1) +

      +

      Nutri-Score: D

      + +
      + + + +
      + + +
      +
      + +
    • +
    + + +
    + +
  • +
+ + + + + + +
+ +
+ + + + + + +

+ + + + + + + +
    +
  • + + + + + icon + +

    + + Nutrition facts +

    + +
    +
    + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Nutrition facts + + As sold
    for 100 g / 100 ml +
    + As sold
    per serving (10 g) +
    + + + + + Fat + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Saturated fat + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Carbohydrates + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Sugars + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Fiber + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Proteins + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Salt + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Fruits‚ vegetables‚ nuts and rapeseed‚ walnut and olive oils (estimate from ingredients list analysis) + + + + + + + + 22.222 % + + + + + + + + 22.222 % + + +
    +
    +
    + +
  • +
+ + + + + + + + +
+ + +
+ +
+ +
+ + + + +
+ + Serving size: + 10 g + +
+ + + +
+ + +
+
+ +
+ + + + + + + +
+ +
+ + + + + + +

Ingredients

+ + + + + + + +
    +
  • + + + + + icon + +

    + + 11 ingredients +

    + +
    +
    + + +
    + +
    + +
    + + + + +
    + Wheat flour, apples, sugar, butter, eggs, salt, palm oil, acidifier: citric acid, raising agent: sodium bicarbonate +
    + + + +
    + + +
    +
    + +
    + + + + +
    + Allergens: + Apple, Eggs, Gluten, Milk + +
    + + + +
    + + +
    +
    + +
  • +
+ + + + + + +
+ +
+ + + + + + +

Food processing

+ + + + + + + +
    +
  • + + + + + icon + +

    + + Processed foods +

    + +
    +
    + + +
    + +
    + +
    + + + + +
    + + + + +

    Elements that indicate the product is in the 3 - Processed foods group:

    +
      + +
    • Ingredient: Butter
    • + +
    • Ingredient: Salt
    • + +
    • Ingredient: Sugar
    • + +
    + + + + +
    + + + +
    + + +
    +
    + +
    + + + + +
    + +

    Food products are classified into 4 groups according to their degree of processing:

    +
      +
    1. Unprocessed or minimally processed foods
    2. +
    3. Processed culinary ingredients
    4. +
    5. Processed foods
    6. +
    7. Ultra-processed foods
    8. +
    +
    +

    The determination of the group is based on the category of the product and on the ingredients it contains.

    +

    Learn more about the NOVA classification

    + +
    + + + +
    + + +
    +
    + +
  • +
+ + + + + + +
+ +
+ + + + + + +

Additives

+ + + + + + + + +
+ + +
+ + + + + +
    +
  • + + + + +

    + + E330 - Citric acid +

    + +
    +
    + + +
    + +
    + +
    + + + + +
    + Citric acid: Citric acid is a weak organic acid that has the chemical formula C6H8O7. It occurs naturally in citrus fruits. In biochemistry, it is an intermediate in the citric acid cycle, which occurs in the metabolism of all aerobic organisms. More than a million tons of citric acid are manufactured every year. It is used widely as an acidifier, as a flavoring and chelating agent.A citrate is a derivative of citric acid; that is, the salts, esters, and the polyatomic anion found in solution. An example of the former, a salt is trisodium citrate; an ester is triethyl citrate. When part of a salt, the formula of the citrate ion is written as C6H5O3−7 or C3H5O-COO-3−3. +
    + + + + Source: + Wikipedia + + + + +
    + + +
    +
    + +
  • +
+ + + + + + +
    +
  • + + + + +

    + + E500 - Sodium carbonates +

    + +
    +
    + + +
    + +
    + +
    + + + + +
    + Sodium carbonate: Sodium carbonate, Na2CO3, -also known as washing soda, soda ash and soda crystals, and in the monohydrate form as crystal carbonate- is the water-soluble sodium salt of carbonic acid. It most commonly occurs as a crystalline decahydrate, which readily effloresces to form a white powder, the monohydrate. Pure sodium carbonate is a white, odorless powder that is hygroscopic -absorbs moisture from the air-. It has a strongly alkaline taste, and forms a moderately basic solution in water. Sodium carbonate is well known domestically for its everyday use as a water softener. Historically it was extracted from the ashes of plants growing in sodium-rich soils, such as vegetation from the Middle East, kelp from Scotland and seaweed from Spain. Because the ashes of these sodium-rich plants were noticeably different from ashes of timber -used to create potash-, they became known as "soda ash". It is synthetically produced in large quantities from salt -sodium chloride- and limestone by a method known as the Solvay process. The manufacture of glass is one of the most important uses of sodium carbonate. Sodium carbonate acts as a flux for silica, lowering the melting point of the mixture to something achievable without special materials. This "soda glass" is mildly water-soluble, so some calcium carbonate is added to the melt mixture to make the glass produced insoluble. This type of glass is known as soda lime glass: "soda" for the sodium carbonate and "lime" for the calcium carbonate. Soda lime glass has been the most common form of glass for centuries. Sodium carbonate is also used as a relatively strong base in various settings. For example, it is used as a pH regulator to maintain stable alkaline conditions necessary for the action of the majority of photographic film developing agents. It acts as an alkali because when dissolved in water, it dissociates into the weak acid: carbonic acid and the strong alkali: sodium hydroxide. This gives sodium carbonate in solution the ability to attack metals such as aluminium with the release of hydrogen gas.It is a common additive in swimming pools used to raise the pH which can be lowered by chlorine tablets and other additives which contain acids. In cooking, it is sometimes used in place of sodium hydroxide for lyeing, especially with German pretzels and lye rolls. These dishes are treated with a solution of an alkaline substance to change the pH of the surface of the food and improve browning. In taxidermy, sodium carbonate added to boiling water will remove flesh from the bones of animal carcasses for trophy mounting or educational display. In chemistry, it is often used as an electrolyte. Electrolytes are usually salt-based, and sodium carbonate acts as a very good conductor in the process of electrolysis. In addition, unlike chloride ions, which form chlorine gas, carbonate ions are not corrosive to the anodes. It is also used as a primary standard for acid-base titrations because it is solid and air-stable, making it easy to weigh accurately. +
    + + + + Source: + Wikipedia + + + + +
    + + +
    +
    + +
  • +
+ + + + + + +
    +
  • + + + + +

    + + E500ii - Sodium hydrogen carbonate +

    + +
    +
    + + +
    + +
    + +
    + + + + +
    + Sodium carbonate: Sodium carbonate, Na2CO3, -also known as washing soda, soda ash and soda crystals, and in the monohydrate form as crystal carbonate- is the water-soluble sodium salt of carbonic acid. It most commonly occurs as a crystalline decahydrate, which readily effloresces to form a white powder, the monohydrate. Pure sodium carbonate is a white, odorless powder that is hygroscopic -absorbs moisture from the air-. It has a strongly alkaline taste, and forms a moderately basic solution in water. Sodium carbonate is well known domestically for its everyday use as a water softener. Historically it was extracted from the ashes of plants growing in sodium-rich soils, such as vegetation from the Middle East, kelp from Scotland and seaweed from Spain. Because the ashes of these sodium-rich plants were noticeably different from ashes of timber -used to create potash-, they became known as "soda ash". It is synthetically produced in large quantities from salt -sodium chloride- and limestone by a method known as the Solvay process. The manufacture of glass is one of the most important uses of sodium carbonate. Sodium carbonate acts as a flux for silica, lowering the melting point of the mixture to something achievable without special materials. This "soda glass" is mildly water-soluble, so some calcium carbonate is added to the melt mixture to make the glass produced insoluble. This type of glass is known as soda lime glass: "soda" for the sodium carbonate and "lime" for the calcium carbonate. Soda lime glass has been the most common form of glass for centuries. Sodium carbonate is also used as a relatively strong base in various settings. For example, it is used as a pH regulator to maintain stable alkaline conditions necessary for the action of the majority of photographic film developing agents. It acts as an alkali because when dissolved in water, it dissociates into the weak acid: carbonic acid and the strong alkali: sodium hydroxide. This gives sodium carbonate in solution the ability to attack metals such as aluminium with the release of hydrogen gas.It is a common additive in swimming pools used to raise the pH which can be lowered by chlorine tablets and other additives which contain acids. In cooking, it is sometimes used in place of sodium hydroxide for lyeing, especially with German pretzels and lye rolls. These dishes are treated with a solution of an alkaline substance to change the pH of the surface of the food and improve browning. In taxidermy, sodium carbonate added to boiling water will remove flesh from the bones of animal carcasses for trophy mounting or educational display. In chemistry, it is often used as an electrolyte. Electrolytes are usually salt-based, and sodium carbonate acts as a very good conductor in the process of electrolysis. In addition, unlike chloride ions, which form chlorine gas, carbonate ions are not corrosive to the anodes. It is also used as a primary standard for acid-base titrations because it is solid and air-stable, making it easy to weigh accurately. +
    + + + + Source: + Wikipedia + + + + +
    + + +
    +
    + +
  • +
+ + +
+ +
+ + + + + + + +
+ +
+ + + + + + +

Ingredients analysis

+ + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ The analysis is based solely on the ingredients listed and does not take into account processing methods. +
+ + + +
+ + +
+
+ +
+ + + + + + + + +
    +
  • + + + + + icon + +

    + + Details of the analysis of the ingredients +

    + +
    +
    + + +
    + +
    + +
    + + + + +
    + en: Wheat flour, apples, sugar, butter, eggs, salt, palm oil, acidifier (citric acid), raising agent (sodium bicarbonate) +
    + + + +
    + + +
    +
    + +
    + + + + +
    +
      +
    1. Wheat flour -> en:wheat-flour - vegan: yes - vegetarian: yes - ciqual_proxy_food_code: 9410 - percent_min: 11.1111111111111 - percent_max: 100
    2. +
    3. apples -> en:apple - vegan: yes - vegetarian: yes - ciqual_food_code: 13050 - percent_min: 0 - percent_max: 50
    4. +
    5. sugar -> en:sugar - vegan: yes - vegetarian: yes - ciqual_proxy_food_code: 31016 - percent_min: 0 - percent_max: 33.3333333333333
    6. +
    7. butter -> en:butter - vegan: no - vegetarian: yes - ciqual_proxy_food_code: 16400 - percent_min: 0 - percent_max: 25
    8. +
    9. eggs -> en:egg - vegan: no - vegetarian: yes - ciqual_food_code: 22000 - percent_min: 0 - percent_max: 20
    10. +
    11. salt -> en:salt - vegan: yes - vegetarian: yes - ciqual_food_code: 11058 - percent_min: 0 - percent_max: 16.6666666666667
    12. +
    13. palm oil -> en:palm-oil - vegan: yes - vegetarian: yes - from_palm_oil: yes - ciqual_food_code: 16129 - percent_min: 0 - percent_max: 14.2857142857143
    14. +
    15. acidifier -> en:acid - percent_min: 0 - percent_max: 12.5
        +
      1. citric acid -> en:e330 - vegan: yes - vegetarian: yes - percent_min: 0 - percent_max: 12.5
      2. +
      +
    16. +
    17. raising agent -> en:raising-agent - percent_min: 0 - percent_max: 11.1111111111111
        +
      1. sodium bicarbonate -> en:e500ii - vegan: yes - vegetarian: yes - percent_min: 0 - percent_max: 11.1111111111111
      2. +
      +
    18. +
    + +
    + + + +
    + + +
    +
    + +
    + + + + +
    + +
    + + + +
    + + +
    +
    + +
  • +
+ + + + + + +
+
+ +
+ + + +
+
+
+
+ + +
+
+
+
+ + + + + +
+ + +

Environment

+ + + +
+ + + + + +
    +
  • + + + + + icon + +

    + + Green-Score B +

    + + Low environmental impact + +
    +
    + + +
    + +
    + +
    + + + + +
    ⚠ + ️Select a country in order to include the full impact of transportation. +
    + + +
    + + +
    +
    + +
    + + + + +
    + The Green-Score is an experimental score that summarizes the environmental impacts of food products. +
    + + + +
    + + +
    +
    + +
    + + + + +
    → + + + The Green-Score was initially developped for France and it is being extended to other European countries. The Green-Score formula is subject to change as it is regularly improved to make it more precise and better suited to each country. + + +
    + + +
    + + +
    + +
    + + + + + + +

    Life cycle analysis

    + + + + + + + +
      +
    • + + + + + icon + +

      + + Average impact of products of the same category: A+ (Score: 90/100) +

      + + Category: Apple tart + +
      +
      + + +
      + +
      + +
      + + + + +
      + +

      Category: + Apple tart +

      +
        +
      • + PEF environmental score: 0.20 + (the lower the score, the lower the impact) +
      • +
      • + including impact on climate change: 1.69 + kg CO2 eq/kg of product +
      • +
      + +
      + + + +
      + + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + Stage + + Impact +
      + + icon + + + + + Agriculture + + + + + + +
      +
      +
      +
      +
      + + 63.8 % + +
      + + icon + + + + + Processing + + + + + + +
      +
      +
      +
      +
      + + 18.5 % + +
      + + icon + + + + + Packaging + + + + + + +
      +
      +
      +
      +
      + + 9.6 % + +
      + + icon + + + + + Transportation + + + + + + +
      +
      +
      +
      +
      + + 5.6 % + +
      + + icon + + + + + Distribution + + + + + + +
      +
      +
      +
      +
      + + 2.4 % + +
      + + icon + + + + + Consumption + + + + + + +
      +
      +
      +
      +
      + + 0.0 % + +
      +
      +
      + +
    • +
    + + + + + + +
    + +
    + + + + + + +

    Bonuses and maluses

    + + + + + + + + + + + + + + + +
      +
    • + + + + + icon + +

      + + Ingredients that threatens species +

      + + Malus: -10 + +
      +
      + + +
      + +
      + +
      + + + + +
      + +

      Contains palm oil

      +

      Tropical forests in Asia, Africa and Latin America are destroyed to create and expand oil palm tree plantations. The deforestation contributes to climate change, and it endangers species such as the orangutan, the pigmy elephant and the Sumatran rhino.

      + +
      + + + +
      + + +
      +
      + +
    • +
    + + + + + + + + + + + + + + +
    + +
    + + + + + + +

    Green-Score for this product

    + + + + + + + + + + + + + + +
    +
    + +
    + + + + + + + + +
    + + +
    +
    + +
  • +
+ + + +
+ + + + + + +

Carbon footprint

+ + + + + + + +
    +
  • + + + + + icon + +

    + + Equal to driving 0.9 km in a petrol car +

    + + 169 g CO₂e per 100g of product + +
    +
    + + +
    + +
    + +
    + + + + +
    + +

    The carbon emission figure comes from ADEME's Agribalyse database, for the category: + Apple tart + (Source: ADEME Agribalyse Database) +

    + +
    + + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Stage + + Impact +
    + + icon + + + + + Agriculture + + + + + + +
    +
    +
    +
    +
    + + 62.4 % + +
    + + icon + + + + + Processing + + + + + + +
    +
    +
    +
    +
    + + 11.3 % + +
    + + icon + + + + + Packaging + + + + + + +
    +
    +
    +
    +
    + + 17.0 % + +
    + + icon + + + + + Transportation + + + + + + +
    +
    +
    +
    +
    + + 8.1 % + +
    + + icon + + + + + Distribution + + + + + + +
    +
    +
    +
    +
    + + 1.1 % + +
    + + icon + + + + + Consumption + + + + + + +
    +
    +
    +
    +
    + + 0.0 % + +
    +
    +
    + +
  • +
+ + + + + + +
+ +
+ + + + + + +

Packaging

+ + + + + + + + + + + + + + +
+ +
+ + + + + + +

Transportation

+ + + + + + + + + + + + + + +
+ +
+ + + + + + +

Threatened species

+ + + + + + + + + + + + + + +
+
+ +
+ + + +
+
+
+
+ + + + + + + + + +
+
+
+
+ + + + + +
+ + +

Report a problem

+ + + +
+ + + + + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + +
+
+
+
+ +

Data sources

+ + + + + + + + + +

+ Product added on by tests
+ Last edit of product page on by tests. + + +

+ +
+ If the data is incomplete or incorrect, you can complete or correct it by editing this page. +
+ + + + +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+ + + + + +
+
+
+
+ + + + + + + + +
+
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/integration/expected_test_results/web_html/world-product-not-found.html b/tests/integration/expected_test_results/web_html/world-product-not-found.html index 8388d9b771e17..13d843c9b483e 100644 --- a/tests/integration/expected_test_results/web_html/world-product-not-found.html +++ b/tests/integration/expected_test_results/web_html/world-product-not-found.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+
@@ -360,6 +373,7 @@

Error

+
@@ -514,6 +528,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/world-product-smoothie.html b/tests/integration/expected_test_results/web_html/world-product-smoothie.html new file mode 100644 index 0000000000000..d843268186d98 --- /dev/null +++ b/tests/integration/expected_test_results/web_html/world-product-smoothie.html @@ -0,0 +1,4266 @@ + + + + + + + Apple pie - Bob's pies - 100 g + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + +
+
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + arrow_upward + + +
+
+
+
+

Apple pie - Bob's pies - 100 g

+ +
+
+
+
+
+
+ +
+
+
+
+ +
+
+ +
+ +
+ + + +

Apple pie - Bob's pies - 100 g

+ + + + + + + + + + +
+ This product page is not complete. You can help to complete it by editing it and adding more data from the photos we have, or by taking more photos using the app for Android or iPhone/iPad. Thank you! + × +
+ + + + + + + +
+ +
+

Barcode:
3300000000001(EAN / EAN-13)

+
+ +
+ + +
+
+ +
+ + + + +

+ Common name: + default_name +

+ + + + +

+ Quantity: + 100 g +

+ + + + +

+ Brands: + Bob's pies +

+ + + + +

+ Categories: + Desserts, Pies, Sweet pies, Apple pies +

+ + + + +

+ Labels, certifications, awards: + Fair trade +

+ + + + +

+ Origin of the product and/or its ingredients: + Germany +

+ + + + + + + + + +

+ Countries where sold: + India, Japan, United States +

+ + + + + + +
+
+
+
+ + + + +
+
+ +
+
+

Matching with your preferences

+ +
+ +
+ +
+ + +
+
+ +
+
+ + + +
+
+
+
+ + + + + +
+ + +

Health

+ + + +
+ + +
+ + + + + + +

Nutrition

+ + + + + + + +
    +
  • + + + + + icon + +

    + + Nutri-Score D +

    + + Lower nutritional quality + +
    +
    + + +
    + +
    + +
    + + + + +
    ⚠ + ️Warning: the nutrition facts are not specified. They have been estimated from the list of ingredients. + +
    + + +
    + + +
    +
    + +
    + + + + +
    ⚠ + ️Warning: the amount of fruits, vegetables and nuts is not specified on the label, it was estimated from the list of ingredients: 22 + +
    + + +
    + + +
    + + + + +
      +
    • + + + + + icon + +

      + + Discover the new Nutri-Score! +

      + +
      +
      + + +
      + +
      + +
      + + + + +
      +

      The computation of the Nutri-Score is evolving to provide better recommendations based on the latest scientific evidence.

      Main improvements:

      • Better score for some fatty fish and oils rich in good fats
      • Better score for whole products rich in fiber
      • Worse score for products containing a lot of salt or sugar
      • Worse score for red meat (compared to poultry)
      + +
      + + + +
      + + +
      +
      + + + + +
      +
      + +
    • +
    + + + + + + +
      +
    • + + + + + icon + +

      + + What is the Nutri-Score? +

      + +
      +
      + + +
      + +
      + +
      + + + + +
      +

      The Nutri-Score is a logo on the overall nutritional quality of products.

      +

      +The score from A to E is calculated based on nutrients and foods to favor (proteins, fiber, fruits, vegetables and legumes ...) and nutrients to limit (calories, saturated fat, sugars, salt). +The score is calculated from the data of the nutrition facts table and the composition data (fruits, vegetables and legumes). +

      + + +
      + + + +
      + + +
      +
      + +
      + + + + + + + + +
      + + +
      +
      + +
    • +
    + + + +
    + + + + + icon + + + +

    Negative points: 17/55

    + + + + + + + +
      +
    • + + + + + icon + +

      + + Energy +

      + + 3/10 points (1249.03kJ) + +
      +
      + + +
      + +
      + +
      + + + + +
      + +

      + + Energy intakes above energy requirements are associated with increased risks of weight gain, overweight, obesity, and consequently risk of diet-related chronic diseases. +

      + +
      + + + +
      + + +
      +
      + +
    • +
    + + + + + + + +
      +
    • + + + + + icon + +

      + + Sugar +

      + + 4/15 points (14.28g) + +
      +
      + + +
      + +
      + +
      + + + + +
      + +

      + + A high consumption of sugar can cause weight gain and tooth decay. It also augments the risk of type 2 diabetes and cardio-vascular diseases. +

      + +
      + + + +
      + + +
      +
      + +
    • +
    + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + icon + + + +

    Positive points: 1/10

    + + + + + + + +
      +
    • + + + + + icon + +

      + + Fiber +

      + + 1/5 points (4.07g) + +
      +
      + + +
      + +
      + +
      + + + + +
      + +

      + Consuming foods rich in fiber (especially whole grain foods) reduces the risks of aerodigestive cancers, cardiovascular diseases, obesity and diabetes. + +

      + +
      + + + +
      + + +
      +
      + +
    • +
    + + + + + + + + + + + + + + +
    + + + + +
      +
    • + + + + + icon + +

      + + Details of the calculation of the Nutri-Score +

      + +
      +
      + + +
      + +
      + +
      + + + + +
      ⚠ + ️Warning: the nutrition facts are not specified. They have been estimated from the list of ingredients. + +
      + + +
      + + +
      +
      + +
      + + + + +
      ⚠ + ️Warning: the amount of fruits, vegetables and nuts is not specified on the label, it was estimated from the list of ingredients: 22 + +
      + + +
      + + +
      +
      + +
      + + + + +
      + + +

      This product is not considered a beverage for the calculation of the Nutri-Score.

      + + + + + +

      Points for proteins are not counted because the negative points greater than or equal to 11.

      + +

      + Nutritional score: 16 + (17 - 1) +

      +

      Nutri-Score: D

      + +
      + + + +
      + + +
      +
      + +
    • +
    + + +
    + +
  • +
+ + + + + + +
+ +
+ + + + + + +

+ + + + + + + +
    +
  • + + + + + icon + +

    + + Nutrition facts +

    + +
    +
    + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Nutrition facts + + As sold
    for 100 g / 100 ml +
    + As sold
    per serving (10 g) +
    + + + + + Fat + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Saturated fat + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Carbohydrates + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Sugars + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Fiber + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Proteins + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Salt + + + + + + + + ? + + + + + + + + ? + + +
    + + + + + Fruits‚ vegetables‚ nuts and rapeseed‚ walnut and olive oils (estimate from ingredients list analysis) + + + + + + + + 22.222 % + + + + + + + + 22.222 % + + +
    +
    +
    + +
  • +
+ + + + + + + + +
+ + +
+ +
+ +
+ + + + +
+ + Serving size: + 10 g + +
+ + + +
+ + +
+
+ +
+ + + + + + + +
+ +
+ + + + + + +

Ingredients

+ + + + + + + +
    +
  • + + + + + icon + +

    + + 11 ingredients +

    + +
    +
    + + +
    + +
    + +
    + + + + +
    + Wheat flour, apples, sugar, butter, eggs, salt, palm oil, acidifier: citric acid, raising agent: sodium bicarbonate +
    + + + +
    + + +
    +
    + +
    + + + + +
    + Allergens: + Apple, Eggs, Gluten, Milk + +
    + + + +
    + + +
    +
    + +
  • +
+ + + + + + +
+ +
+ + + + + + +

Food processing

+ + + + + + + +
    +
  • + + + + + icon + +

    + + Processed foods +

    + +
    +
    + + +
    + +
    + +
    + + + + +
    + + + + +

    Elements that indicate the product is in the 3 - Processed foods group:

    +
      + +
    • Ingredient: Butter
    • + +
    • Ingredient: Salt
    • + +
    • Ingredient: Sugar
    • + +
    + + + + +
    + + + +
    + + +
    +
    + +
    + + + + +
    + +

    Food products are classified into 4 groups according to their degree of processing:

    +
      +
    1. Unprocessed or minimally processed foods
    2. +
    3. Processed culinary ingredients
    4. +
    5. Processed foods
    6. +
    7. Ultra-processed foods
    8. +
    +
    +

    The determination of the group is based on the category of the product and on the ingredients it contains.

    +

    Learn more about the NOVA classification

    + +
    + + + +
    + + +
    +
    + +
  • +
+ + + + + + +
+ +
+ + + + + + +

Additives

+ + + + + + + + +
+ + +
+ + + + + +
    +
  • + + + + +

    + + E330 - Citric acid +

    + +
    +
    + + +
    + +
    + +
    + + + + +
    + Citric acid: Citric acid is a weak organic acid that has the chemical formula C6H8O7. It occurs naturally in citrus fruits. In biochemistry, it is an intermediate in the citric acid cycle, which occurs in the metabolism of all aerobic organisms. More than a million tons of citric acid are manufactured every year. It is used widely as an acidifier, as a flavoring and chelating agent.A citrate is a derivative of citric acid; that is, the salts, esters, and the polyatomic anion found in solution. An example of the former, a salt is trisodium citrate; an ester is triethyl citrate. When part of a salt, the formula of the citrate ion is written as C6H5O3−7 or C3H5O-COO-3−3. +
    + + + + Source: + Wikipedia + + + + +
    + + +
    +
    + +
  • +
+ + + + + + +
    +
  • + + + + +

    + + E500 - Sodium carbonates +

    + +
    +
    + + +
    + +
    + +
    + + + + +
    + Sodium carbonate: Sodium carbonate, Na2CO3, -also known as washing soda, soda ash and soda crystals, and in the monohydrate form as crystal carbonate- is the water-soluble sodium salt of carbonic acid. It most commonly occurs as a crystalline decahydrate, which readily effloresces to form a white powder, the monohydrate. Pure sodium carbonate is a white, odorless powder that is hygroscopic -absorbs moisture from the air-. It has a strongly alkaline taste, and forms a moderately basic solution in water. Sodium carbonate is well known domestically for its everyday use as a water softener. Historically it was extracted from the ashes of plants growing in sodium-rich soils, such as vegetation from the Middle East, kelp from Scotland and seaweed from Spain. Because the ashes of these sodium-rich plants were noticeably different from ashes of timber -used to create potash-, they became known as "soda ash". It is synthetically produced in large quantities from salt -sodium chloride- and limestone by a method known as the Solvay process. The manufacture of glass is one of the most important uses of sodium carbonate. Sodium carbonate acts as a flux for silica, lowering the melting point of the mixture to something achievable without special materials. This "soda glass" is mildly water-soluble, so some calcium carbonate is added to the melt mixture to make the glass produced insoluble. This type of glass is known as soda lime glass: "soda" for the sodium carbonate and "lime" for the calcium carbonate. Soda lime glass has been the most common form of glass for centuries. Sodium carbonate is also used as a relatively strong base in various settings. For example, it is used as a pH regulator to maintain stable alkaline conditions necessary for the action of the majority of photographic film developing agents. It acts as an alkali because when dissolved in water, it dissociates into the weak acid: carbonic acid and the strong alkali: sodium hydroxide. This gives sodium carbonate in solution the ability to attack metals such as aluminium with the release of hydrogen gas.It is a common additive in swimming pools used to raise the pH which can be lowered by chlorine tablets and other additives which contain acids. In cooking, it is sometimes used in place of sodium hydroxide for lyeing, especially with German pretzels and lye rolls. These dishes are treated with a solution of an alkaline substance to change the pH of the surface of the food and improve browning. In taxidermy, sodium carbonate added to boiling water will remove flesh from the bones of animal carcasses for trophy mounting or educational display. In chemistry, it is often used as an electrolyte. Electrolytes are usually salt-based, and sodium carbonate acts as a very good conductor in the process of electrolysis. In addition, unlike chloride ions, which form chlorine gas, carbonate ions are not corrosive to the anodes. It is also used as a primary standard for acid-base titrations because it is solid and air-stable, making it easy to weigh accurately. +
    + + + + Source: + Wikipedia + + + + +
    + + +
    +
    + +
  • +
+ + + + + + +
    +
  • + + + + +

    + + E500ii - Sodium hydrogen carbonate +

    + +
    +
    + + +
    + +
    + +
    + + + + +
    + Sodium carbonate: Sodium carbonate, Na2CO3, -also known as washing soda, soda ash and soda crystals, and in the monohydrate form as crystal carbonate- is the water-soluble sodium salt of carbonic acid. It most commonly occurs as a crystalline decahydrate, which readily effloresces to form a white powder, the monohydrate. Pure sodium carbonate is a white, odorless powder that is hygroscopic -absorbs moisture from the air-. It has a strongly alkaline taste, and forms a moderately basic solution in water. Sodium carbonate is well known domestically for its everyday use as a water softener. Historically it was extracted from the ashes of plants growing in sodium-rich soils, such as vegetation from the Middle East, kelp from Scotland and seaweed from Spain. Because the ashes of these sodium-rich plants were noticeably different from ashes of timber -used to create potash-, they became known as "soda ash". It is synthetically produced in large quantities from salt -sodium chloride- and limestone by a method known as the Solvay process. The manufacture of glass is one of the most important uses of sodium carbonate. Sodium carbonate acts as a flux for silica, lowering the melting point of the mixture to something achievable without special materials. This "soda glass" is mildly water-soluble, so some calcium carbonate is added to the melt mixture to make the glass produced insoluble. This type of glass is known as soda lime glass: "soda" for the sodium carbonate and "lime" for the calcium carbonate. Soda lime glass has been the most common form of glass for centuries. Sodium carbonate is also used as a relatively strong base in various settings. For example, it is used as a pH regulator to maintain stable alkaline conditions necessary for the action of the majority of photographic film developing agents. It acts as an alkali because when dissolved in water, it dissociates into the weak acid: carbonic acid and the strong alkali: sodium hydroxide. This gives sodium carbonate in solution the ability to attack metals such as aluminium with the release of hydrogen gas.It is a common additive in swimming pools used to raise the pH which can be lowered by chlorine tablets and other additives which contain acids. In cooking, it is sometimes used in place of sodium hydroxide for lyeing, especially with German pretzels and lye rolls. These dishes are treated with a solution of an alkaline substance to change the pH of the surface of the food and improve browning. In taxidermy, sodium carbonate added to boiling water will remove flesh from the bones of animal carcasses for trophy mounting or educational display. In chemistry, it is often used as an electrolyte. Electrolytes are usually salt-based, and sodium carbonate acts as a very good conductor in the process of electrolysis. In addition, unlike chloride ions, which form chlorine gas, carbonate ions are not corrosive to the anodes. It is also used as a primary standard for acid-base titrations because it is solid and air-stable, making it easy to weigh accurately. +
    + + + + Source: + Wikipedia + + + + +
    + + +
    +
    + +
  • +
+ + +
+ +
+ + + + + + + +
+ +
+ + + + + + +

Ingredients analysis

+ + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ The analysis is based solely on the ingredients listed and does not take into account processing methods. +
+ + + +
+ + +
+
+ +
+ + + + + + + + +
    +
  • + + + + + icon + +

    + + Details of the analysis of the ingredients +

    + +
    +
    + + +
    + +
    + +
    + + + + +
    + en: Wheat flour, apples, sugar, butter, eggs, salt, palm oil, acidifier (citric acid), raising agent (sodium bicarbonate) +
    + + + +
    + + +
    +
    + +
    + + + + +
    +
      +
    1. Wheat flour -> en:wheat-flour - vegan: yes - vegetarian: yes - ciqual_proxy_food_code: 9410 - percent_min: 11.1111111111111 - percent_max: 100
    2. +
    3. apples -> en:apple - vegan: yes - vegetarian: yes - ciqual_food_code: 13050 - percent_min: 0 - percent_max: 50
    4. +
    5. sugar -> en:sugar - vegan: yes - vegetarian: yes - ciqual_proxy_food_code: 31016 - percent_min: 0 - percent_max: 33.3333333333333
    6. +
    7. butter -> en:butter - vegan: no - vegetarian: yes - ciqual_proxy_food_code: 16400 - percent_min: 0 - percent_max: 25
    8. +
    9. eggs -> en:egg - vegan: no - vegetarian: yes - ciqual_food_code: 22000 - percent_min: 0 - percent_max: 20
    10. +
    11. salt -> en:salt - vegan: yes - vegetarian: yes - ciqual_food_code: 11058 - percent_min: 0 - percent_max: 16.6666666666667
    12. +
    13. palm oil -> en:palm-oil - vegan: yes - vegetarian: yes - from_palm_oil: yes - ciqual_food_code: 16129 - percent_min: 0 - percent_max: 14.2857142857143
    14. +
    15. acidifier -> en:acid - percent_min: 0 - percent_max: 12.5
        +
      1. citric acid -> en:e330 - vegan: yes - vegetarian: yes - percent_min: 0 - percent_max: 12.5
      2. +
      +
    16. +
    17. raising agent -> en:raising-agent - percent_min: 0 - percent_max: 11.1111111111111
        +
      1. sodium bicarbonate -> en:e500ii - vegan: yes - vegetarian: yes - percent_min: 0 - percent_max: 11.1111111111111
      2. +
      +
    18. +
    + +
    + + + +
    + + +
    +
    + +
    + + + + +
    + +
    + + + +
    + + +
    +
    + +
  • +
+ + + + + + +
+
+ +
+ + + +
+
+
+
+ + +
+
+
+
+ + + + + +
+ + +

Environment

+ + + +
+ + + + + +
    +
  • + + + + + icon + +

    + + Green-Score B +

    + + Low environmental impact + +
    +
    + + +
    + +
    + +
    + + + + +
    ⚠ + ️Select a country in order to include the full impact of transportation. +
    + + +
    + + +
    +
    + +
    + + + + +
    + The Green-Score is an experimental score that summarizes the environmental impacts of food products. +
    + + + +
    + + +
    +
    + +
    + + + + +
    → + + + The Green-Score was initially developped for France and it is being extended to other European countries. The Green-Score formula is subject to change as it is regularly improved to make it more precise and better suited to each country. + + +
    + + +
    + + +
    + +
    + + + + + + +

    Life cycle analysis

    + + + + + + + +
      +
    • + + + + + icon + +

      + + Average impact of products of the same category: A+ (Score: 90/100) +

      + + Category: Apple tart + +
      +
      + + +
      + +
      + +
      + + + + +
      + +

      Category: + Apple tart +

      +
        +
      • + PEF environmental score: 0.20 + (the lower the score, the lower the impact) +
      • +
      • + including impact on climate change: 1.69 + kg CO2 eq/kg of product +
      • +
      + +
      + + + +
      + + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + Stage + + Impact +
      + + icon + + + + + Agriculture + + + + + + +
      +
      +
      +
      +
      + + 63.8 % + +
      + + icon + + + + + Processing + + + + + + +
      +
      +
      +
      +
      + + 18.5 % + +
      + + icon + + + + + Packaging + + + + + + +
      +
      +
      +
      +
      + + 9.6 % + +
      + + icon + + + + + Transportation + + + + + + +
      +
      +
      +
      +
      + + 5.6 % + +
      + + icon + + + + + Distribution + + + + + + +
      +
      +
      +
      +
      + + 2.4 % + +
      + + icon + + + + + Consumption + + + + + + +
      +
      +
      +
      +
      + + 0.0 % + +
      +
      +
      + +
    • +
    + + + + + + +
    + +
    + + + + + + +

    Bonuses and maluses

    + + + + + + + + + + + + + + + +
      +
    • + + + + + icon + +

      + + Ingredients that threatens species +

      + + Malus: -10 + +
      +
      + + +
      + +
      + +
      + + + + +
      + +

      Contains palm oil

      +

      Tropical forests in Asia, Africa and Latin America are destroyed to create and expand oil palm tree plantations. The deforestation contributes to climate change, and it endangers species such as the orangutan, the pigmy elephant and the Sumatran rhino.

      + +
      + + + +
      + + +
      +
      + +
    • +
    + + + + + + + + + + + + + + +
    + +
    + + + + + + +

    Green-Score for this product

    + + + + + + + + + + + + + + +
    +
    + +
    + + + + + + + + +
    + + +
    +
    + +
  • +
+ + + +
+ + + + + + +

Carbon footprint

+ + + + + + + +
    +
  • + + + + + icon + +

    + + Equal to driving 0.9 km in a petrol car +

    + + 169 g CO₂e per 100g of product + +
    +
    + + +
    + +
    + +
    + + + + +
    + +

    The carbon emission figure comes from ADEME's Agribalyse database, for the category: + Apple tart + (Source: ADEME Agribalyse Database) +

    + +
    + + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Stage + + Impact +
    + + icon + + + + + Agriculture + + + + + + +
    +
    +
    +
    +
    + + 62.4 % + +
    + + icon + + + + + Processing + + + + + + +
    +
    +
    +
    +
    + + 11.3 % + +
    + + icon + + + + + Packaging + + + + + + +
    +
    +
    +
    +
    + + 17.0 % + +
    + + icon + + + + + Transportation + + + + + + +
    +
    +
    +
    +
    + + 8.1 % + +
    + + icon + + + + + Distribution + + + + + + +
    +
    +
    +
    +
    + + 1.1 % + +
    + + icon + + + + + Consumption + + + + + + +
    +
    +
    +
    +
    + + 0.0 % + +
    +
    +
    + +
  • +
+ + + + + + +
+ +
+ + + + + + +

Packaging

+ + + + + + + + + + + + + + +
+ +
+ + + + + + +

Transportation

+ + + + + + + + + + + + + + +
+ +
+ + + + + + +

Threatened species

+ + + + + + + + + + + + + + +
+
+ +
+ + + +
+
+
+
+ + + + + + + + + +
+
+
+
+ + + + + +
+ + +

Report a problem

+ + + +
+ + + + + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + +
+
+
+
+ +

Data sources

+ + + + + + + + + +

+ Product added on by tests
+ Last edit of product page on by tests. + + +

+ +
+ If the data is incomplete or incorrect, you can complete or correct it by editing this page. +
+ + + + +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+ + + + + +
+
+
+
+ + + + + + + + +
+
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/integration/expected_test_results/web_html/world-product.html b/tests/integration/expected_test_results/web_html/world-product.html index a5767460d85b0..b859fbc400259 100644 --- a/tests/integration/expected_test_results/web_html/world-product.html +++ b/tests/integration/expected_test_results/web_html/world-product.html @@ -75,9 +75,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -356,6 +368,7 @@

Please give to our 2024 Fundraiser

+ @@ -4434,6 +4447,7 @@

Data sources

+
@@ -4588,6 +4602,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/world-products-multiple-codes.html b/tests/integration/expected_test_results/web_html/world-products-multiple-codes.html index 3647f88d7bbcd..519e53049d0b6 100644 --- a/tests/integration/expected_test_results/web_html/world-products-multiple-codes.html +++ b/tests/integration/expected_test_results/web_html/world-products-multiple-codes.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -370,6 +383,7 @@

Search results - World

+
@@ -524,6 +538,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/world-search-form.html b/tests/integration/expected_test_results/web_html/world-search-form.html index b9d87fc99adb4..70d7241231768 100644 --- a/tests/integration/expected_test_results/web_html/world-search-form.html +++ b/tests/integration/expected_test_results/web_html/world-search-form.html @@ -67,9 +67,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -348,6 +360,7 @@

Please give to our 2024 Fundraiser

+
@@ -2024,6 +2037,7 @@

Results on a graph

+
@@ -2178,6 +2192,7 @@

Discover the project

+
diff --git a/tests/integration/expected_test_results/web_html/world-search-results.html b/tests/integration/expected_test_results/web_html/world-search-results.html index 12974049d287f..5b93b00a75a10 100644 --- a/tests/integration/expected_test_results/web_html/world-search-results.html +++ b/tests/integration/expected_test_results/web_html/world-search-results.html @@ -64,9 +64,12 @@ + +
+
+
- + +
+
+ + + +
+ + @@ -345,6 +357,7 @@

Please give to our 2024 Fundraiser

+ @@ -492,6 +505,7 @@

Search results - World

+ +
diff --git a/tests/integration/web_html.t b/tests/integration/web_html.t index 125f0f105d2b6..36615cce1ab8c 100644 --- a/tests/integration/web_html.t +++ b/tests/integration/web_html.t @@ -558,6 +558,18 @@ my $tests_ref = [ path => '/products/3300000000001,3300000000002', expected_type => 'html', }, + # Request a page with ?content_only=1 to remove the header and footer + { + test_case => 'world-product-content-only', + path => '/product/3300000000001/apple-pie-bob-s-pies?content_only=1', + expected_type => 'html', + }, + # Use ?user_agent=smoothie to test the smoothie user agent + { + test_case => 'world-product-smoothie', + path => '/product/3300000000001/apple-pie-bob-s-pies?user_agent=smoothie', + expected_type => 'html', + }, ]; execute_api_tests(__FILE__, $tests_ref);