Évaluez le gaspillage alimentaire avec TrayWaste
Grâce à notre solution d’analyse des aliments par intelligence artificielle, nous évaluons le gaspillage alimentaire de votre établissement. Nous vous apportons des données concrètes vous permettant de construire des plans d’actions pour optimiser vos ressources.
Calculateur de Gaspillage
Estimez l'impact du gaspillage alimentaire dans votre établissement
Nombre de convives
Indiquez le nombre de convives moyen servis par jour
0
Estimation du temps gagné sur la ressaisie
Consultez votre résultat
Paramètres de votre établissement
Nombre de résidents *
Indiquez le nombre de résidents servis par jour
0
Pourcentage gaspillé (optionnel)
26% est la moyenne constatée selon nos études
Coût moyen par repas (optionnel)
2€ est le coût moyen en restauration collective
Estimation du gaspillage
Consultez votre résultat
40 % de gaspillage alimentaire
70 000 €/an de pertes budgétaires à cause du gaspillage alimentaire
TrayWaste : notre service sur-mesure d’évaluation du gaspillage alimentaire.
Comment ça marche ?
Notre solution et son intelligence artificielle analyse les assiettes (et plateaux) servies. Elle mesure la consommation de chacun des plats du repas et par segmentation, la consommation de chaque aliment présent dans l'assiette (protéines, féculents, légumes, etc.).
Demander une démo
1. Prise de photos
Nous prenons en photos les assiettes de chaque résidents et nous pesons l’ensemble des déchets alimentaires. Les photos sont analysés par notre intelligence artificielle et les résultats sont associés aux poids mesurés.
2. Rapports d'analyse
Nous restituons les résultats auprès de vos équipes. Ces résultats sont associés au menu pour vous apportez un maximum de précision sur la nature et la quantité des déchets alimentaires.
3. Optimisation des portions
Construisez des plans d’actions avec nos résultats pour optimiser vos ressources et votre production alimentaire.
4. Optimisation des coûts
Les plans d’actions vous permettent de produire mieux et vous permettent de rationaliser les coûts alimentaires.
Comment TrayWaste vous aide ?
de gaspillage alimentaire en moyenne dans les établissements de santé
Dans les établissements de santé, 40% des denrées alimentaires sont gaspillées.
Par repas et par résident perdus.
TrayWaste permet de mesurer précisément le coût lié au gaspillage alimentaire.
de produits reconnus
Avec un taux de reconnaissance de 98 %, Trayvisor identifie presque tous les produits instantanément.
images par jour
L’IA est entraînée avec plus de 3 000 images quotidiennes, garantissant une amélioration continue de la précision.
Trouvez rapidement des réponses à vos questions
Consultez un de nos experts pour obtenir des réponses claires aux questions les plus courantes sur nos solutions et services.
Comment fonctionne TrayHealth ?
Grâce à l'intelligence artificielle, TrayHealth mesure automatique les ingesta par aliments des résidents et des patients. Les ingesta sont ensuite analysés par nos algorithmes qui donnent avec précision les apports nutritionnels qui en découlent. Ainsi, vous avez toutes les données nécessaires pour agir rapidement avec précision.
Vous ne trouvez pas la réponse à votre question ?
Parlez à un membre de notre équipe.
<!DOCTYPE html><!-- Last Published: Fri Feb 27 2026 13:20:03 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="www.trayvisor.com" data-wf-page="673e0feee2bd884cc01a90a4" data-wf-site="673e051f0ad7c6ca2d643219" lang="fr" data-wf-collection="673e0feee2bd884cc01a9075" data-wf-item-slug="traywaste"><head><meta charset="utf-8"/><title>TrayWaste - Trayvisor</title><meta name="robots" content="noindex"/><meta content="Grâce à notre solution d’analyse des aliments par intelligence artificielle, nous évaluons le gaspillage alimentaire de votre établissement. Nous vous apportons des données concrètes vous permettant de construire des plans d’actions pour optimiser vos ressources." name="description"/><meta content="TrayWaste - Trayvisor" property="og:title"/><meta content="Grâce à notre solution d’analyse des aliments par intelligence artificielle, nous évaluons le gaspillage alimentaire de votre établissement. Nous vous apportons des données concrètes vous permettant de construire des plans d’actions pour optimiser vos ressources." property="og:description"/><meta content="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/69174b1dd906e7d3da21d570_22670-2005-les-astuces-pour-limiter-le-gaspillage-alimentaire-en-cuisine.jpg" property="og:image"/><meta content="TrayWaste - Trayvisor" property="twitter:title"/><meta content="Grâce à notre solution d’analyse des aliments par intelligence artificielle, nous évaluons le gaspillage alimentaire de votre établissement. Nous vous apportons des données concrètes vous permettant de construire des plans d’actions pour optimiser vos ressources." property="twitter:description"/><meta content="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/69174b1dd906e7d3da21d570_22670-2005-les-astuces-pour-limiter-le-gaspillage-alimentaire-en-cuisine.jpg" property="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/css/trayvisor-202411.webflow.shared.4c8dfd3d5.min.css" rel="stylesheet" type="text/css" integrity="sha384-TI39PVayoguqa44nQVDoXygN9rUwOpD8DSTNNa7yAR5DWWpjZMC6k4A75CUDpy4t" crossorigin="anonymous"/><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e058ec944226ab85cea12_Favicon%20Trayvisor.svg" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e059309de2d43d1b27e04_Webclip%20Trayvisor.svg" rel="apple-touch-icon"/><link href="https://www.trayvisor.com/solutions/traywaste" rel="canonical"/><script async="" src="https://www.googletagmanager.com/gtag/js?id=G-6FJ23WVE8G"></script><script type="text/javascript">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('set', 'developer_id.dZGVlNj', true);gtag('js', new Date());gtag('config', 'G-6FJ23WVE8G');</script><script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="6479ddcc-69ba-4861-a51d-293520e638e2" data-blockingmode="auto" type="text/javascript"></script>
<link rel="preconnect" href="https://assets.website-files.com/" />
<link rel="preconnect" href="https://global-assets.website-files.com" />
<!-- Schema Organization -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Trayvisor",
"url": "https://www.trayvisor.com",
"logo": "https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e0b4623948ead3678af94_TRAYVISOR_LOGOTYPE.svg",
"description": "Trayvisor developpe des solutions d'intelligence artificielle pour la restauration collective : encaissement automatique, suivi nutritionnel et reduction du gaspillage alimentaire.",
"foundingDate": "2024",
"sameAs": [
"https://www.linkedin.com/company/trayvisor"
],
"address": {
"@type": "PostalAddress",
"streetAddress": "Station F, 5 Rue Eugene Freyssinet",
"postalCode": "75013",
"addressLocality": "Paris",
"addressCountry": "FR"
},
"contactPoint": {
"@type": "ContactPoint",
"contactType": "sales",
"url": "https://www.trayvisor.com/contact"
}
}
</script>
<meta name="robots" content="index, follow">
<!-- Schema // Product // START -->
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "TrayWaste",
"image": "https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/69174b1dd906e7d3da21d570_22670-2005-les-astuces-pour-limiter-le-gaspillage-alimentaire-en-cuisine.jpg",
"description": "Grâce à notre solution d’analyse des aliments par intelligence artificielle, nous évaluons le gaspillage alimentaire de votre établissement. Nous vous apportons des données concrètes vous permettant de construire des plans d’actions pour optimiser vos ressources.",
"brand": {
"@type": "Brand",
"name": "Trayvisor"
}
}
</script>
<!-- Schema // Product // END -->
<!-- Schema.org FAQ // Dynamical // START -->
<script type="application/javascript">
document.addEventListener('DOMContentLoaded', function() {
// Sélectionne uniquement les FAQs avec data-faq-item="true"
var faqs = document.querySelectorAll('[data-faq-item="true"]');
// Si aucune FAQ active trouvée, on sort
if (faqs.length === 0) return;
var faqSchema = {
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": []
};
faqs.forEach(function(faq) {
var questionEl = faq.querySelector('[data-faq-question]');
var answerEl = faq.querySelector('[data-faq-answer]');
// Vérifie que les éléments existent
if (!questionEl || !answerEl) return;
var question = questionEl.innerText.trim();
var answer = answerEl.innerText.trim();
// Ajoute seulement si question et réponse ne sont pas vides
if (question && answer) {
faqSchema.mainEntity.push({
"@type": "Question",
"name": question,
"acceptedAnswer": {
"@type": "Answer",
"text": answer
}
});
}
});
// Injecte le schema seulement si on a au moins une FAQ
if (faqSchema.mainEntity.length > 0) {
var script = document.createElement('script');
script.type = 'application/ld+json';
script.innerHTML = JSON.stringify(faqSchema);
document.head.appendChild(script);
}
});
</script>
<!-- Schema.org FAQ // Dynamical // END -->
<!-- Schema.org HowTo // Dynamical // START -->
<script type="application/javascript">
document.addEventListener('DOMContentLoaded', function() {
// Selectionne le container HowTo
var howtoContainer = document.querySelector('[data-howto="true"]');
// Si pas de container, on sort
if (!howtoContainer) return;
// Recupere les infos principales
var nameEl = howtoContainer.querySelector('[data-howto-name]');
var descEl = howtoContainer.querySelector('[data-howto-description]');
if (!nameEl) return;
var howtoSchema = {
"@context": "https://schema.org",
"@type": "HowTo",
"name": nameEl.innerText.trim(),
"step": []
};
// Ajoute la description si elle existe
if (descEl) {
howtoSchema.description = descEl.innerText.trim();
}
// Recupere toutes les etapes
var steps = howtoContainer.querySelectorAll('[data-howto-step="true"]');
if (steps.length === 0) return;
steps.forEach(function(step, index) {
var stepNameEl = step.querySelector('[data-step-name]');
var stepTextEl = step.querySelector('[data-step-text]');
var stepImageEl = step.querySelector('[data-step-image]');
// Verifie que les elements obligatoires existent
if (!stepNameEl || !stepTextEl) return;
var stepName = stepNameEl.innerText.trim();
var stepText = stepTextEl.innerText.trim();
var stepImage = stepImageEl ? stepImageEl.src : null;
// Verifie que les donnees sont valides
if (stepName && stepText) {
var stepSchema = {
"@type": "HowToStep",
"position": index + 1,
"name": stepName,
"text": stepText
};
// Ajoute l'image si elle existe
if (stepImage) {
stepSchema.image = stepImage;
}
howtoSchema.step.push(stepSchema);
}
});
// Injecte le schema si au moins 1 etape valide
if (howtoSchema.step.length > 0) {
var script = document.createElement('script');
script.type = 'application/ld+json';
script.innerHTML = JSON.stringify(howtoSchema);
document.head.appendChild(script);
}
});
</script>
<!-- Schema.org HowTo // Dynamical // END --></head><body><div class="page-wrapper"><div class="w-embed"><style>
/* Make text look crisper and more legible in all browsers // START */
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
margin-top: 0 !important;
}
/* Get rid of bottom margin on last element in any rich text element */
.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
margin-bottom: 0 !important;
}
/* Apply "..." after 4 lines of text */
.clamp-4 {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
}
/* Apply "..." after 3 lines of text */
.clamp-3 {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
/* Apply "..." after 2 lines of text */
.clamp-2 {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
/* Apply "..." after 1 lines of text */
.clamp-1 {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
/* Barre du slider (track) */
input[type="range"]{
width: 100%;
height: 8px;
border-radius: 200px;
background: white;
border: none;
outline: none;
-webkit-appearance: none;
appearance: none;
}
/* Curseur (thumb) - Chrome/Safari */
input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 16px;
height: 16px;
border-radius: 50%;
background: #31ad6b;
cursor: pointer;
border: none;
}
/* Curseur (thumb) - Firefox */
input[type="range"]::-moz-range-thumb {
width: 16px;
height: 16px;
border-radius: 50%;
background: #31ad6b;
cursor: pointer;
border: none;
}
/* Track Firefox */
input[type="range"]::-moz-range-track {
height: 8px;
border-radius: 200px;
background: white;
border: none;
}
</style></div><div data-animation="default" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="navbar w-nav"><div class="container is-navbar"><a id="w-node-_0122e9bb-e3b1-a2a0-2381-0383999d08d6-999d08d4" href="/" class="brand w-nav-brand"><img loading="lazy" src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e0b4623948ead3678af94_006e424776015a1b20831fb0c62e9e1c_TRAYVISOR_LOGOTYPE.svg" alt="Logo Trayvisor, solutions IA pour la restauration collective" class="logo"/></a><nav role="navigation" id="w-node-_0122e9bb-e3b1-a2a0-2381-0383999d08d8-999d08d4" class="navbar-menu w-nav-menu"><a href="/" class="nav-link w-nav-link">Accueil</a><div data-delay="0" data-hover="true" class="nav-dropdown w-dropdown"><div class="nav-dropdown-toggle w-dropdown-toggle"><div>Solutions</div><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e051f0ad7c6ca2d64327a_chevron-down.svg" loading="lazy" alt="Icone menu deroulant" class="nav-dropdown-icon"/></div><nav class="nav-dropdown-list w-dropdown-list"><div><div class="w-dyn-list"><div role="list" class="nav-dropdown-item-grid w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/solutions/trayvisor-trayscan" class="nav-dropdown-item w-inline-block"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/67b82e9eb46d51f37d019a78_material-symbols--detector-alarm-outline-rounded.svg" loading="lazy" alt="TrayScan" class="nav-dropdown-item-icon"/><div class="w-layout-vflex"><div class="text-color-brand-500 margin-bottom-small">TrayScan</div><div class="text-size-small text-style-muted clamp-1">Compatible avec tous les éditeurs de caisses et bornes, TrayScan automatise l'encaissement, accélère le service, améliore l'expérience client et libère vos équipes pour l'accueil.</div></div></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/trayhealth" class="nav-dropdown-item w-inline-block"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/679741af927aeb1eec4e1d27_0.%20Titre%20Suivi%20nutritionnel.svg" loading="lazy" alt="TrayHealth" class="nav-dropdown-item-icon"/><div class="w-layout-vflex"><div class="text-color-brand-500 margin-bottom-small">TrayHealth</div><div class="text-size-small text-style-muted clamp-1">TrayHealth digitalise et automatise le suivi nutritionnel de votre établissement pour offrir une prise en charge nutritionnelle adaptée et personnalisée. </div></div></a></div></div></div><a href="/faq" class="nav-dropdown-item margin-top-24px w-inline-block"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/693aebfc5e86ad9386b6d477_faq_icon.svg" loading="lazy" alt="" class="nav-dropdown-item-icon"/><div class="w-layout-vflex"><div class="text-color-brand-500 margin-bottom-small">FAQ</div><div class="text-size-small text-style-muted clamp-1">Les réponses à vos questions</div></div></a></div></nav></div><a href="/a-propos" class="nav-link w-nav-link">À propos</a><a href="/blog" class="nav-link w-nav-link">Blog</a><a href="/contact" class="nav-link w-nav-link">Contact</a><div class="buttons-wrapper is-navbar-mobile"><a rel="follow" data-wf--button-dark--variant="green" data-w-id="9d673ac7-465c-81f9-37a5-479adac714e5" href="/contact" class="button w-inline-block"><div>Planifier un rendez-vous</div><div class="button-icon w-embed"><svg width="auto" height="100%" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 7H15M15 7L9 13M15 7L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a></div></nav><div id="w-node-_0122e9bb-e3b1-a2a0-2381-0383999d08ec-999d08d4" class="navbar-buttons"><div class="buttons-wrapper"><div class="locales-wrapper w-locales-list"><div role="list" class="w-locales-items"><div role="listitem" class="w-locales-item"><a href="#" class="w-inline-block"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e0bbe57c92b15276258b9_Flag_of_the_United_Kingdom_(3-5).svg.svg" loading="lazy" width="30" alt="FR" class="locale-flag"/></a></div></div></div><div class="hidden-tablet"><a rel="follow" data-wf--button-dark--variant="green" data-w-id="9d673ac7-465c-81f9-37a5-479adac714e5" href="/contact" class="button w-inline-block"><div>Planifier un rendez-vous</div><div class="button-icon w-embed"><svg width="auto" height="100%" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 7H15M15 7L9 13M15 7L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a></div></div><div id="w-node-_0122e9bb-e3b1-a2a0-2381-0383999d08f0-999d08d4" class="menu-button w-nav-button"></div></div></div><div class="navbar-background"></div></div><main class="main-wrapper"><section class="section is-hero"><div class="section-hero-background"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e1a5b050252442ced520c_Circle%20BG.svg" loading="lazy" style="-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" data-w-id="84f5a4a9-4ba3-2943-f6dd-3f72c2708b8c" alt="Cercle decoratif en arriere-plan" class="circle-background"/><div class="section-linear-background"></div></div><div class="w-layout-blockcontainer container w-container"><div class="w-layout-grid section-content-grid is-solution"><div id="w-node-ba02107e-6445-8600-dcca-bb4fc2e9f5f7-c01a90a4" class="w-layout-vflex"><h1 data-w-id="03828020-5171-7f39-9890-df15cc02ad55" style="-webkit-transform:translate3d(0, 32px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 32px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 32px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 32px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);opacity:0">Évaluez le gaspillage alimentaire avec TrayWaste</h1><p data-w-id="e4853138-c180-4a0f-86a9-2e4e35bd0f34" style="-webkit-transform:translate3d(0, 32px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 32px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 32px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 32px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);opacity:0">Grâce à notre solution d’analyse des aliments par intelligence artificielle, nous évaluons le gaspillage alimentaire de votre établissement. Nous vous apportons des données concrètes vous permettant de construire des plans d’actions pour optimiser vos ressources.</p><div data-w-id="162beefd-2d10-8a01-9f2a-f0c154f1f5c5" style="-webkit-transform:translate3d(0, 32px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 32px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 32px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 32px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);opacity:0"><a rel="follow" data-wf--button-dark--variant="green-outlined" data-w-id="9d673ac7-465c-81f9-37a5-479adac714e5" href="/contact" class="button w-variant-eb486906-4228-1e90-1a71-3d90a7bafb84 w-inline-block"><div>Parler à l’un de nos experts</div><div class="button-icon w-embed"><svg width="auto" height="100%" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 7H15M15 7L9 13M15 7L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a></div></div><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/69174b1dd906e7d3da21d570_22670-2005-les-astuces-pour-limiter-le-gaspillage-alimentaire-en-cuisine.jpg" loading="lazy" width="Auto" data-wf--image-ratio--variant="4-3" alt="Évaluez le gaspillage alimentaire avec TrayWaste" class="image-radius image"/></div><div data-w-id="84f5a4a9-4ba3-2943-f6dd-3f72c2708baa" class="marquee-logo-wrapper"><div class="marquee-logo-collection w-dyn-list"><div style="-webkit-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" role="list" class="marquee-logo-list w-dyn-items"><div role="listitem" class="w-dyn-item"><img alt="Maison Simon Bénichou" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/67ced8c462ecf7269f2ff90b_logo_benichou_nav_sticky.svg" class="marquee-logo"/></div><div role="listitem" class="w-dyn-item"><img alt="Nutrisens" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/6797d47beaf7c9d2932b639a_Nutrisens.svg" class="marquee-logo"/></div><div role="listitem" class="w-dyn-item"><img alt="Silver Alliance" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/684ac77fe84448c5165077ee_Silver%20Alliance-logo-macaron%20(2).avif" class="marquee-logo"/></div></div></div><div class="marquee-logo-collection w-dyn-list"><div style="-webkit-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" role="list" class="marquee-logo-list w-dyn-items"><div role="listitem" class="w-dyn-item"><img alt="Maison Simon Bénichou" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/67ced8c462ecf7269f2ff90b_logo_benichou_nav_sticky.svg" class="marquee-logo"/></div><div role="listitem" class="w-dyn-item"><img alt="Nutrisens" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/6797d47beaf7c9d2932b639a_Nutrisens.svg" class="marquee-logo"/></div><div role="listitem" class="w-dyn-item"><img alt="Silver Alliance" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/684ac77fe84448c5165077ee_Silver%20Alliance-logo-macaron%20(2).avif" class="marquee-logo"/></div></div></div><div class="marquee-logo-collection w-dyn-list"><div style="-webkit-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" role="list" class="marquee-logo-list w-dyn-items"><div role="listitem" class="w-dyn-item"><img alt="Maison Simon Bénichou" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/67ced8c462ecf7269f2ff90b_logo_benichou_nav_sticky.svg" class="marquee-logo"/></div><div role="listitem" class="w-dyn-item"><img alt="Nutrisens" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/6797d47beaf7c9d2932b639a_Nutrisens.svg" class="marquee-logo"/></div><div role="listitem" class="w-dyn-item"><img alt="Silver Alliance" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/684ac77fe84448c5165077ee_Silver%20Alliance-logo-macaron%20(2).avif" class="marquee-logo"/></div></div></div><div class="marquee-logo-collection w-dyn-list"><div style="-webkit-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" role="list" class="marquee-logo-list w-dyn-items"><div role="listitem" class="w-dyn-item"><img alt="Maison Simon Bénichou" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/67ced8c462ecf7269f2ff90b_logo_benichou_nav_sticky.svg" class="marquee-logo"/></div><div role="listitem" class="w-dyn-item"><img alt="Nutrisens" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/6797d47beaf7c9d2932b639a_Nutrisens.svg" class="marquee-logo"/></div><div role="listitem" class="w-dyn-item"><img alt="Silver Alliance" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/684ac77fe84448c5165077ee_Silver%20Alliance-logo-macaron%20(2).avif" class="marquee-logo"/></div></div></div><div class="marquee-logo-collection w-dyn-list"><div style="-webkit-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" role="list" class="marquee-logo-list w-dyn-items"><div role="listitem" class="w-dyn-item"><img alt="Maison Simon Bénichou" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/67ced8c462ecf7269f2ff90b_logo_benichou_nav_sticky.svg" class="marquee-logo"/></div><div role="listitem" class="w-dyn-item"><img alt="Nutrisens" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/6797d47beaf7c9d2932b639a_Nutrisens.svg" class="marquee-logo"/></div><div role="listitem" class="w-dyn-item"><img alt="Silver Alliance" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/684ac77fe84448c5165077ee_Silver%20Alliance-logo-macaron%20(2).avif" class="marquee-logo"/></div></div></div><div class="marquee-logo-collection w-dyn-list"><div style="-webkit-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0%, null, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" role="list" class="marquee-logo-list w-dyn-items"><div role="listitem" class="w-dyn-item"><img alt="Maison Simon Bénichou" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/67ced8c462ecf7269f2ff90b_logo_benichou_nav_sticky.svg" class="marquee-logo"/></div><div role="listitem" class="w-dyn-item"><img alt="Nutrisens" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/6797d47beaf7c9d2932b639a_Nutrisens.svg" class="marquee-logo"/></div><div role="listitem" class="w-dyn-item"><img alt="Silver Alliance" loading="lazy" src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/684ac77fe84448c5165077ee_Silver%20Alliance-logo-macaron%20(2).avif" class="marquee-logo"/></div></div></div></div></div></section><section class="section overflow-clip w-condition-invisible"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e1a5b050252442ced520c_Circle%20BG.svg" loading="lazy" alt="Cercle decoratif en arriere-plan" class="circle-background top-right"/><div class="w-layout-blockcontainer container w-container"><div class="section-heading vertical-center no-margin"><h2 class="gradient-heading">Calculateur de Gaspillage</h2><p class="text-size-large no-margin">Estimez l'impact du gaspillage alimentaire dans votre établissement</p></div><div class="calculator-time-wrapper w-condition-invisible"><div class="hidden-desktop w-embed w-script"><!-- Calculateur TrayScan -->
<script>
document.addEventListener('DOMContentLoaded', function() {
const slider = document.querySelector('[data-trayscan-slider]');
const convivesDisplay = document.querySelector('[data-trayscan-convives]');
const resultatDisplay = document.querySelector('[data-trayscan-resultat]');
if (!slider) return;
function calculerGainTemps(nbConvives) {
const gainMinutes = 0.3 * nbConvives;
if (gainMinutes >= 60) {
const heures = Math.floor(gainMinutes / 60);
const minutes = Math.round(gainMinutes % 60);
const minutesFormatees = minutes.toString().padStart(2, '0');
return minutes > 0
? `${heures}h${minutesFormatees}min`
: `${heures}h`;
} else {
return `${Math.round(gainMinutes)}min`;
}
}
function mettreAJour() {
const nbConvives = parseInt(slider.value);
const resultat = calculerGainTemps(nbConvives);
if (convivesDisplay) convivesDisplay.textContent = nbConvives;
if (resultatDisplay) resultatDisplay.textContent = resultat;
}
slider.addEventListener('input', mettreAJour);
mettreAJour();
});
</script></div><div class="calculator-content-wrapper"><div class="track-slider-wrapper"><div class="horizontal-wrapper-space-between is-calculator"><div class="w-layout-vflex mobile-center"><div class="horizontal-wrapper margin-bottom-tiny mobile-center"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/694049316cf4f8999b22a7b7_People--Streamline-Ionic-Filled.svg" loading="lazy" alt="" class="icon-small"/><div class="heading-style-5 no-margin">Nombre de convives</div></div><div>Indiquez le nombre de convives moyen servis par jour</div></div><div data-trayscan-convives="" class="guest-count">0</div></div><input type="range" data-trayscan-slider="" min="100" max="2000" step="50" class="track-slider" value="200"/><div class="track-sider-values"><div class="text-weight-medium">100</div><div class="text-weight-medium">2 000</div></div></div></div><div class="calculator-result-wrapper"><div class="w-layout-vflex mobile-center"><div class="horizontal-wrapper margin-bottom-tiny mobile-center"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/69404eafccc8d0a20f5c776b_Time--Streamline-Ionic-Filled.svg" loading="lazy" alt="" class="icon-small"/><div class="heading-style-5 no-margin">Estimation du temps gagné sur la ressaisie</div></div><div class="text-weight-medium">Consultez votre résultat</div></div><div class="calculator-result-content"><div data-trayscan-resultat="" class="result-text-block">X minutes</div><div>PAR JOUR</div></div></div></div><div class="calculator-time-wrapper"><div class="hidden-desktop w-embed w-script"><!-- Calculateur TrayWaste -->
<script>
document.addEventListener('DOMContentLoaded', function() {
const sliderResidents = document.querySelector('[data-traywaste-residents]');
const sliderGaspillage = document.querySelector('[data-traywaste-gaspillage]');
const sliderCout = document.querySelector('[data-traywaste-cout]');
if (!sliderResidents || !sliderGaspillage || !sliderCout) return;
// Fonction pour formater sans decimales inutiles
function formatNumber(num) {
return num % 1 === 0 ? num.toFixed(0) : num.toFixed(2).replace(/\.?0+$/, '');
}
function calculerTrayWaste() {
const nbResidents = parseInt(sliderResidents.value);
const pourcentageGaspillage = parseInt(sliderGaspillage.value);
const coutRepas = parseFloat(sliderCout.value);
// Calculs
const repasParJour = nbResidents * 2;
const gaspillageGParRepas = 400 * (pourcentageGaspillage / 100);
const kgJour = (repasParJour * gaspillageGParRepas) / 1000;
const kgMois = kgJour * 30;
const kgAn = kgJour * 365;
const coutParRepasGaspille = coutRepas * (pourcentageGaspillage / 100);
const coutJour = coutParRepasGaspille * repasParJour;
const coutMois = coutJour * 30;
const coutAn = coutJour * 365;
// Affichage valeurs sliders
const resVal = document.querySelector('[data-traywaste-residents-value]');
const gaspVal = document.querySelector('[data-traywaste-gaspillage-value]');
const coutVal = document.querySelector('[data-traywaste-cout-value]');
if (resVal) resVal.textContent = nbResidents;
if (gaspVal) gaspVal.textContent = pourcentageGaspillage;
if (coutVal) coutVal.textContent = formatNumber(coutRepas);
// Affichage résultats principaux
const kgJourEl = document.querySelector('[data-traywaste-kg-jour]');
const kgMoisEl = document.querySelector('[data-traywaste-kg-mois]');
const kgAnEl = document.querySelector('[data-traywaste-kg-an]');
const coutJourEl = document.querySelector('[data-traywaste-cout-jour]');
const coutMoisEl = document.querySelector('[data-traywaste-cout-mois]');
const coutAnEl = document.querySelector('[data-traywaste-cout-an]');
if (kgJourEl) kgJourEl.textContent = formatNumber(kgJour);
if (kgMoisEl) kgMoisEl.textContent = formatNumber(kgMois);
if (kgAnEl) kgAnEl.textContent = formatNumber(kgAn);
if (coutJourEl) coutJourEl.textContent = formatNumber(coutJour);
if (coutMoisEl) coutMoisEl.textContent = formatNumber(coutMois);
if (coutAnEl) coutAnEl.textContent = formatNumber(coutAn);
}
// Event listeners
sliderResidents.addEventListener('input', calculerTrayWaste);
sliderGaspillage.addEventListener('input', calculerTrayWaste);
sliderCout.addEventListener('input', calculerTrayWaste);
// Calcul initial
calculerTrayWaste();
});
</script></div><div class="calculator-content-wrapper"><div class="track-slider-wrapper"><div class="horizontal-wrapper mobile-center"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/69411354f0e00449e7e04d04_Settings-Cog-1--Streamline-Nova.svg" loading="lazy" alt="" class="icon-small"/><div class="heading-style-5 no-margin">Paramètres de votre établissement</div></div></div><div class="track-slider-wrapper"><div class="horizontal-wrapper-space-between is-calculator"><div class="w-layout-vflex mobile-center"><div class="horizontal-wrapper margin-bottom-tiny mobile-center"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/694049316cf4f8999b22a7b7_People--Streamline-Ionic-Filled.svg" loading="lazy" alt="" class="icon-xsmall"/><div class="heading-style-6 no-margin">Nombre de résidents <span class="text-style-muted">*</span></div></div><div>Indiquez le nombre de résidents servis par jour</div></div><div data-traywaste-residents-value="" class="guest-count">0</div></div><input type="range" min="100" max="2000" step="50" data-traywaste-residents="" class="track-slider" value="200"/><div class="track-sider-values"><div class="text-weight-medium">100</div><div class="text-weight-medium">2 000</div></div></div><div class="track-slider-wrapper"><div class="horizontal-wrapper-space-between is-calculator"><div class="w-layout-vflex mobile-center"><div class="horizontal-wrapper margin-bottom-tiny mobile-center"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/694119011806703e208ebc06_Bin-1--Streamline-Nova.svg" loading="lazy" alt="" class="icon-xsmall"/><div class="heading-style-6 no-margin center-align"><strong>Pourcentage gaspillé </strong> <span class="text-style-muted text-size-regular">(optionnel)</span></div></div><div>26% est la moyenne constatée selon nos études</div></div><div class="text-inline-wrapper"><div data-traywaste-gaspillage-value="" class="guest-count">0</div><div data-trayscan-convives="" class="guest-count">%</div></div></div><input type="range" data-traywaste-gaspillage="" min="0" max="100" step="1" class="track-slider" value="26"/><div class="track-sider-values"><div class="text-weight-medium">0%</div><div class="text-weight-medium">100%</div></div></div><div class="track-slider-wrapper"><div class="horizontal-wrapper-space-between is-calculator"><div class="w-layout-vflex mobile-center"><div class="horizontal-wrapper margin-bottom-tiny mobile-center"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/6941193b2a284696e6903d89_Money-Bag-Euro--Streamline-Nova.svg" loading="lazy" alt="" class="icon-xsmall"/><div class="heading-style-6 no-margin center-align"><strong>Coût moyen par repas </strong> <span class="text-style-muted text-size-regular">(optionnel)</span></div></div><div>2€ est le coût moyen en restauration collective</div></div><div class="text-inline-wrapper"><div data-traywaste-cout-value="" class="guest-count">0.00</div><div data-trayscan-convives="" class="guest-count">€</div></div></div><input type="range" data-traywaste-cout="" min="0" max="20" step="0.50" class="track-slider" value="2.00"/><div class="track-sider-values"><div class="text-weight-medium">0€</div><div class="text-weight-medium">20€</div></div></div></div><div class="calculator-result-wrapper"><div class="w-layout-vflex mobile-center"><div class="horizontal-wrapper margin-bottom-tiny mobile-center"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/694119011806703e208ebc06_Bin-1--Streamline-Nova.svg" loading="lazy" alt="" class="icon-small"/><div class="heading-style-5 no-margin">Estimation du gaspillage</div></div><div class="text-weight-medium">Consultez votre résultat</div></div><div class="calculator-result-content is-grid"><div class="w-layout-vflex result-grid-content"><div>PAR JOUR</div><div class="text-inline-wrapper center-align"><div data-traywaste-kg-jour="" class="result-text-block">0</div><div data-trayscan-resultat="" class="result-text-block is-small">kg</div></div><div class="text-inline-wrapper"><div data-traywaste-cout-jour="" class="result-text-block is-small">0.00</div><div data-trayscan-resultat="" class="result-text-block is-small">€</div></div></div><div class="w-layout-vflex result-grid-content"><div>PAR MOIS</div><div class="text-inline-wrapper center-align"><div data-traywaste-kg-mois="" class="result-text-block">0</div><div data-trayscan-resultat="" class="result-text-block is-small">kg</div></div><div class="text-inline-wrapper"><div data-traywaste-cout-mois="" class="result-text-block is-small">0.00</div><div data-trayscan-resultat="" class="result-text-block is-small">€</div></div></div><div class="w-layout-vflex result-grid-content"><div>PAR AN</div><div class="text-inline-wrapper center-align"><div data-traywaste-kg-an="" class="result-text-block">0</div><div data-trayscan-resultat="" class="result-text-block is-small">kg</div></div><div class="text-inline-wrapper"><div data-traywaste-cout-an="" class="result-text-block is-small">0.00</div><div data-trayscan-resultat="" class="result-text-block is-small">€</div></div></div></div></div></div></div></section><section class="section"><div class="w-dyn-list"><div role="list" class="section-content-list w-dyn-items"><div role="listitem" class="section-content-grid w-dyn-item"><div class="section-content-block"><div class="w-layout-vflex"><h2 class="heading">40 % de gaspillage alimentaire</h2><div class="rich-text is-bullet-list margin-bottom-large w-condition-invisible w-dyn-bind-empty w-richtext"></div><div class="w-condition-invisible"><a rel="follow" data-wf--button-dark--variant="green" data-w-id="9d673ac7-465c-81f9-37a5-479adac714e5" href="#" class="button w-inline-block"><div></div><div class="button-icon w-embed"><svg width="auto" height="100%" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 7H15M15 7L9 13M15 7L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a></div></div></div><div class="section-content-block"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/69174b992d2452016ed9dad5_gaspi.jpg.avif" loading="lazy" width="Auto" data-wf--image-ratio--variant="auto" alt="40 % de gaspillage alimentaire" class="image-radius image"/></div></div><div role="listitem" class="section-content-grid w-dyn-item"><div class="section-content-block"><div class="w-layout-vflex"><h2 class="heading">70 000 €/an de pertes budgétaires à cause du gaspillage alimentaire </h2><div class="rich-text is-bullet-list margin-bottom-large w-condition-invisible w-dyn-bind-empty w-richtext"></div><div class="w-condition-invisible"><a rel="follow" data-wf--button-dark--variant="green" data-w-id="9d673ac7-465c-81f9-37a5-479adac714e5" href="#" class="button w-inline-block"><div></div><div class="button-icon w-embed"><svg width="auto" height="100%" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 7H15M15 7L9 13M15 7L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a></div></div></div><div class="section-content-block"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/69174c054b8c6ec9b1475f64_assiette-vide-est-presentee-fond-blanc_410516-128271.jpg.avif" loading="lazy" width="Auto" data-wf--image-ratio--variant="auto" alt="70 000 €/an de pertes budgétaires à cause du gaspillage alimentaire " class="image-radius image"/></div></div><div role="listitem" class="section-content-grid w-dyn-item"><div class="section-content-block"><div class="w-layout-vflex"><h2 class="heading">TrayWaste : notre service sur-mesure d’évaluation du gaspillage alimentaire.</h2><div class="rich-text is-bullet-list margin-bottom-large w-condition-invisible w-dyn-bind-empty w-richtext"></div><div><a rel="follow" data-wf--button-dark--variant="green" data-w-id="9d673ac7-465c-81f9-37a5-479adac714e5" href="/contact" class="button w-inline-block"><div>Contactez-nous</div><div class="button-icon w-embed"><svg width="auto" height="100%" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 7H15M15 7L9 13M15 7L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a></div></div></div><div class="section-content-block"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/6786453facd96f40384fd2a1_Capture%20d%E2%80%99e%CC%81cran%202024-06-07%20a%CC%80%2014.16.47.png" loading="lazy" width="Auto" data-wf--image-ratio--variant="auto" alt="TrayWaste : notre service sur-mesure d’évaluation du gaspillage alimentaire." class="image-radius image"/></div></div></div></div><section class="section background-color-light"><div class="w-layout-blockcontainer container w-container"><div class="solutions-content-list"><div data-howto="true" class="w-layout-grid section-content-grid align-top is-solution"><div class="w-layout-vflex sticky-desktop"><h2 data-howto-name="" class="heading-style-2">Comment ça marche ?</h2><p data-howto-description="">Notre solution et son intelligence artificielle analyse les assiettes (et plateaux) servies. Elle mesure la consommation de chacun des plats du repas et par segmentation, la consommation de chaque aliment présent dans l'assiette (protéines, féculents, légumes, etc.).</p><a rel="follow" data-wf--button-dark--variant="green" data-w-id="9d673ac7-465c-81f9-37a5-479adac714e5" href="/contact" class="button w-inline-block"><div>Demander une démo</div><div class="button-icon w-embed"><svg width="auto" height="100%" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 7H15M15 7L9 13M15 7L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a></div><div class="accordions-grid"><div data-howto-step="true" class="accordion-wrapper"><div class="accordion-question"><div id="w-node-_1afb6f98-93ed-5d61-88a7-532cf20871d2-f20871d0"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/673e128d7f0f852a2a3bbc1a_search-user-4559263.svg" loading="lazy" data-step-image="" alt="1. Prise de photos" class="icon-small"/></div><h3 data-step-name="" class="heading-style-5 no-margin">1. Prise de photos</h3><div id="w-node-_1afb6f98-93ed-5d61-88a7-532cf20871d6-f20871d0"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e051f0ad7c6ca2d64327a_chevron-down.svg" loading="lazy" alt="Icone menu deroulant" class="nav-dropdown-icon is-accordion"/></div></div><div class="accordion-answer"><div class="accordion-answer-text"><p data-step-text="" class="no-margin">Nous prenons en photos les assiettes de chaque résidents et nous pesons l’ensemble des déchets alimentaires. Les photos sont analysés par notre intelligence artificielle et les résultats sont associés aux poids mesurés.</p></div></div></div><div data-howto-step="true" class="accordion-wrapper"><div class="accordion-question"><div id="w-node-_1afb6f98-93ed-5d61-88a7-532cf20871d2-f20871d0"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/673e129eca8a4e229c0e480a_settings-4559265.svg" loading="lazy" data-step-image="" alt="2. Rapports d'analyse" class="icon-small"/></div><h3 data-step-name="" class="heading-style-5 no-margin">2. Rapports d'analyse</h3><div id="w-node-_1afb6f98-93ed-5d61-88a7-532cf20871d6-f20871d0"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e051f0ad7c6ca2d64327a_chevron-down.svg" loading="lazy" alt="Icone menu deroulant" class="nav-dropdown-icon is-accordion"/></div></div><div class="accordion-answer"><div class="accordion-answer-text"><p data-step-text="" class="no-margin">Nous restituons les résultats auprès de vos équipes. Ces résultats sont associés au menu pour vous apportez un maximum de précision sur la nature et la quantité des déchets alimentaires. </p></div></div></div><div data-howto-step="true" class="accordion-wrapper"><div class="accordion-question"><div id="w-node-_1afb6f98-93ed-5d61-88a7-532cf20871d2-f20871d0"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/673e12b1b41044d7973ff594_user-4559269.svg" loading="lazy" data-step-image="" alt="3. Optimisation des portions" class="icon-small"/></div><h3 data-step-name="" class="heading-style-5 no-margin">3. Optimisation des portions</h3><div id="w-node-_1afb6f98-93ed-5d61-88a7-532cf20871d6-f20871d0"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e051f0ad7c6ca2d64327a_chevron-down.svg" loading="lazy" alt="Icone menu deroulant" class="nav-dropdown-icon is-accordion"/></div></div><div class="accordion-answer"><div class="accordion-answer-text"><p data-step-text="" class="no-margin">Construisez des plans d’actions avec nos résultats pour optimiser vos ressources et votre production alimentaire.</p></div></div></div><div data-howto-step="true" class="accordion-wrapper"><div class="accordion-question"><div id="w-node-_1afb6f98-93ed-5d61-88a7-532cf20871d2-f20871d0"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/673e12c142f784ddc98f19fd_watched-task-4559272.svg" loading="lazy" data-step-image="" alt="4. Optimisation des coûts" class="icon-small"/></div><h3 data-step-name="" class="heading-style-5 no-margin">4. Optimisation des coûts</h3><div id="w-node-_1afb6f98-93ed-5d61-88a7-532cf20871d6-f20871d0"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e051f0ad7c6ca2d64327a_chevron-down.svg" loading="lazy" alt="Icone menu deroulant" class="nav-dropdown-icon is-accordion"/></div></div><div class="accordion-answer"><div class="accordion-answer-text"><p data-step-text="" class="no-margin">Les plans d’actions vous permettent de produire mieux et vous permettent de rationaliser les coûts alimentaires.</p></div></div></div></div></div></div><div class="video-solution w-dyn-bind-empty w-video w-embed"></div></div></section><div class="w-layout-blockcontainer container w-container"></div></section><section class="section overflow-clip"><div class="w-layout-blockcontainer container w-container"><div class="section-heading"><h2>TrayWaste</h2><p class="text-size-large no-margin vertical-center-8">Comment TrayWaste vous aide ?</p></div><div class="w-layout-grid cards-grid"><div class="dark-card-wrapper"><div class="number-card"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/673e1313aeabc4cef5567d07_add-roles-4559275.svg" loading="lazy" alt="" class="icon-regular margin-bottom-medium"/><div class="text-inline-wrapper margin-bottom-regular"><div class="heading-style-4 no-margin">+</div><div id="de gaspillage alimentaire en moyenne dans les établissements de santé" counter-number="40" class="card-number-heading">40</div><div id="de gaspillage alimentaire en moyenne dans les établissements de santé" class="heading-style-4 no-margin">%</div></div><div class="heading-style-5">de gaspillage alimentaire en moyenne dans les établissements de santé</div><p class="text-style-muted no-margin">Dans les établissements de santé, 40% des denrées alimentaires sont gaspillées.</p></div></div><div class="dark-card-wrapper"><div class="number-card"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/673e13472658ad19003a7d36_eod-4559288.svg" loading="lazy" alt="" class="icon-regular margin-bottom-medium"/><div class="text-inline-wrapper margin-bottom-regular"><div class="heading-style-4 no-margin"></div><div id="Par repas et par résident perdus." counter-number="0.27" class="card-number-heading">0.27</div><div id="Par repas et par résident perdus." class="heading-style-4 no-margin">€</div></div><div class="heading-style-5">Par repas et par résident perdus.</div><p class="text-style-muted no-margin">TrayWaste permet de mesurer précisément le coût lié au gaspillage alimentaire.</p></div></div><div class="dark-card-wrapper"><div class="number-card"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/673e134c58528a7aafa6d913_merge-4559247.svg" loading="lazy" alt="" class="icon-regular margin-bottom-medium"/><div class="text-inline-wrapper margin-bottom-regular"><div class="heading-style-4 no-margin"></div><div id="de produits reconnus" counter-number="98" class="card-number-heading">98</div><div id="de produits reconnus" class="heading-style-4 no-margin">%</div></div><div class="heading-style-5">de produits reconnus</div><p class="text-style-muted no-margin">Avec un taux de reconnaissance de 98 %, Trayvisor identifie presque tous les produits instantanément.</p></div></div><div class="dark-card-wrapper"><div class="number-card"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/673e134f01c0e0bab0223961_picture-4559255.svg" loading="lazy" alt="" class="icon-regular margin-bottom-medium"/><div class="text-inline-wrapper margin-bottom-regular"><div class="heading-style-4 no-margin"></div><div id="images par jour" counter-number="3000" class="card-number-heading">3000</div><div id="images par jour" class="heading-style-4 no-margin">+</div></div><div class="heading-style-5">images par jour</div><p class="text-style-muted no-margin">L’IA est entraînée avec plus de 3 000 images quotidiennes, garantissant une amélioration continue de la précision.</p></div></div></div></div></section><section class="section background-color-dark"><div class="w-layout-blockcontainer container w-container"><div class="section-heading-vertical"><h2>Trouvez rapidement des réponses à vos questions</h2><p class="text-size-large no-margin">Consultez un de nos experts pour obtenir des réponses claires aux questions les plus courantes sur nos solutions et services.</p></div><div class="w-dyn-list"><div role="list" class="faqs-grid w-dyn-items"><div role="listitem" class="w-dyn-item"><div data-faq-item="true" class="faq-wrapper"><h3 data-faq-question="" class="heading-style-6">Comment fonctionne TrayHealth ?</h3><div class="faq-divider"></div><div data-faq-answer="" class="rich-text w-richtext"><p>Grâce à l'intelligence artificielle, TrayHealth mesure automatique les ingesta par aliments des résidents et des patients. Les ingesta sont ensuite analysés par nos algorithmes qui donnent avec précision les apports nutritionnels qui en découlent. Ainsi, vous avez toutes les données nécessaires pour agir rapidement avec précision.</p></div></div></div></div></div><div data-w-id="609553b5-9b89-d745-b71d-36186135d3b8" class="slide-in-from-bottom"><div data-wf--element-faqs-cta--variant="light" class="cta-wrapper"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/68f09bb37b7ba239d4e0363f_2a2dd23135c1f2c44a919262f0a259f1_circles.svg" loading="lazy" alt="Icone de cercles decoratifs" class="circle-backbround"/><div class="cta-content-wrapper"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><img src="https://cdn.prod.website-files.com/673e0fed58528a7aafa3ec70/67d29014c887c02ae3ada0e0_profile800px_0001_Aure.avif" loading="lazy" alt="Aure Langlois" class="team-bubble"/></div></div></div><div class="w-layout-vflex cta-content-inner"><div class="heading-style-5 margin-bottom-small">Vous ne trouvez pas la réponse à votre question ?</div><div class="text-size-large text-style-muted">Parlez à un membre de notre équipe.</div></div></div><div class="z-index-1"><a rel="follow" data-wf--button-dark--variant="green" data-w-id="9d673ac7-465c-81f9-37a5-479adac714e5" href="/contact" class="button w-inline-block"><div>Discutons ensemble</div><div class="button-icon w-embed"><svg width="auto" height="100%" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 7H15M15 7L9 13M15 7L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div></a></div></div></div></div></section><section id="form" class="section overflow-clip"><div class="section-hero-background"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e1a5b050252442ced520c_Circle%20BG.svg" loading="lazy" data-w-id="3a956b8c-9c54-f9c0-3db9-469bbcb7d32d" alt="Cercle decoratif en arriere-plan" class="circle-background top-right"/><div class="section-linear-background"></div></div><div class="w-layout-blockcontainer container w-container"><div class="w-layout-grid contact-grid"><div class="vertical-wrapper-space-between"><div class="w-layout-vflex"><h1>Demandez <span class="text-color-brand-500">une démo</span></h1><p class="text-size-large no-margin">Vous êtes prêt(e) à optimiser vos opérations avec l’intelligence artificielle ? Que ce soit pour une demande d’information ou pour débuter un projet, il vous suffit simplement de remplir le formulaire de contact.</p></div></div><div class="contact-form-block w-form"><div class="heading-style-4">Formulaire de contact</div><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/674078d1eb2c549fad153cb5_Bookmark.svg" loading="lazy" alt="Icone de favoris" class="bookmark-icon"/><form id="wf-form-Formulaire-de-la-page-solution" name="wf-form-Formulaire-de-la-page-solution" data-name="Formulaire de la page solution" method="get" class="contact-form" data-wf-page-id="673e0feee2bd884cc01a90a4" data-wf-element-id="3a956b8c-9c54-f9c0-3db9-469bbcb7d347"><input id="solution" solution="TrayWaste" placeholder="TrayWaste" class="form-input hidden-desktop"/><div id="w-node-_3a956b8c-9c54-f9c0-3db9-469bbcb7d348-c01a90a4"><label for="Contact-Form-Pr-nom">Prénom</label><input class="form-input w-input" maxlength="256" name="Contact-Form-Pr-nom" data-name="Contact Form // Prénom" placeholder="Alexandre" type="text" id="Contact-Form-Pr-nom" required=""/></div><div id="w-node-_3a956b8c-9c54-f9c0-3db9-469bbcb7d34c-c01a90a4"><label for="Contact-Form-Nom">Nom</label><input class="form-input w-input" maxlength="256" name="Contact-Form-Nom" data-name="Contact Form // Nom" placeholder="Durand" type="text" id="Contact-Form-Nom" required=""/></div><div id="w-node-_3a956b8c-9c54-f9c0-3db9-469bbcb7d350-c01a90a4"><label for="Contact-Form-Email">Email</label><input class="form-input w-input" maxlength="256" name="Contact-Form-Email" data-name="Contact Form // Email" placeholder="alexandre.durand@email.com" type="email" id="Contact-Form-Email" required=""/></div><div id="w-node-_3a956b8c-9c54-f9c0-3db9-469bbcb7d358-c01a90a4"><label for="Contact-Form-Objet">Objet</label><input class="form-input w-input" maxlength="256" name="Contact-Form-Objet" data-name="Contact Form // Objet" placeholder="Information, demande de démo, question..." type="text" id="Contact-Form-Objet" required=""/></div><div id="w-node-_3a956b8c-9c54-f9c0-3db9-469bbcb7d35c-c01a90a4"><label for="Contact-Form-Message-complet">Message</label><textarea id="Contact-Form-Message-complet" name="Contact-Form-Message-complet" maxlength="5000" data-name="Contact Form // Message complet" placeholder="Je vous contacte car..." class="form-input is-text-area w-input"></textarea></div><label id="w-node-_3a956b8c-9c54-f9c0-3db9-469bbcb7d360-c01a90a4" class="w-checkbox form-checkbox"><div class="w-checkbox-input w-checkbox-input--inputType-custom form-checkbox-icon w--redirected-checked"></div><input type="checkbox" name="Contact-Form-Checkbox" id="Contact-Form-Checkbox" data-name="Contact Form // Checkbox" style="opacity:0;position:absolute;z-index:-1" checked=""/><span for="Contact-Form-Checkbox" class="text-size-small text-style-muted w-form-label">En envoyant mon message j’accepte la <a href="#">politique de confidentialité</a></span></label><input type="submit" data-wait="Envoi en cours..." id="w-node-_3a956b8c-9c54-f9c0-3db9-469bbcb7d366-c01a90a4" class="button w-button" value="Envoyer mon message"/></form><div class="form-success-message w-form-done"><img src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/6744b384d9fa781d77b315da_Success.svg" loading="lazy" alt="Icone de validation reussie" class="icon-regular margin-bottom-medium"/><div>Merci ! Votre demande a été reçue.<br/>Nous reviendrons vers vous dans les plus brefs délais.<br/><br/><span class="text-size-large text-style-muted">L'équipe Trayvisor</span><br/></div></div><div class="form-error-message w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div></div></div></section></main><section class="footer"><div class="w-layout-blockcontainer container w-container"><div class="w-layout-grid footer-grid"><div id="w-node-_03acd299-4320-c159-5441-5233183db5ec-183db5e9" class="w-layout-vflex"><a href="/" class="brand margin-bottom-medium w-nav-brand"><img loading="lazy" src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/673e0b4623948ead3678af94_006e424776015a1b20831fb0c62e9e1c_TRAYVISOR_LOGOTYPE.svg" alt="Logo Trayvisor, solutions IA pour la restauration collective" class="logo"/></a><p class="heading-style-6 margin-bottom-medium">Optimisez votre service, gagnez en efficacité.</p><a rel="nofollow" href="https://maps.app.goo.gl/oHC8HGa5pWJcZUaJ9" target="_blank" class="contact-link w-inline-block"><div class="icon-tiny w-embed"><svg width="auto" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.6666 13.8234V6.74007C14.6666 6.6107 14.6365 6.48311 14.5787 6.36739C14.5208 6.25168 14.4368 6.15103 14.3333 6.0734L8.49998 1.6984C8.35573 1.59022 8.18029 1.53174 7.99998 1.53174C7.81967 1.53174 7.64423 1.59022 7.49998 1.6984L1.66665 6.0734C1.56315 6.15103 1.47915 6.25168 1.42129 6.36739C1.36343 6.48311 1.33331 6.6107 1.33331 6.74007V13.8234C1.33331 14.0444 1.42111 14.2564 1.57739 14.4127C1.73367 14.5689 1.94563 14.6567 2.16665 14.6567H5.49998C5.72099 14.6567 5.93296 14.5689 6.08924 14.4127C6.24552 14.2564 6.33331 14.0444 6.33331 13.8234V11.3234C6.33331 11.1024 6.42111 10.8904 6.57739 10.7341C6.73367 10.5779 6.94563 10.4901 7.16665 10.4901H8.83331C9.05433 10.4901 9.26629 10.5779 9.42257 10.7341C9.57885 10.8904 9.66665 11.1024 9.66665 11.3234V13.8234C9.66665 14.0444 9.75444 14.2564 9.91072 14.4127C10.067 14.5689 10.279 14.6567 10.5 14.6567H13.8333C14.0543 14.6567 14.2663 14.5689 14.4226 14.4127C14.5788 14.2564 14.6666 14.0444 14.6666 13.8234Z" fill="currentColor" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg></div><div>Station F, Paris 13, France</div></a><a href="mailto:hello@trayvisor.com" class="contact-link w-inline-block"><div class="icon-tiny w-embed"><svg width="auto" height="100%" viewBox="0 0 16 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.75 11.9902C2.15326 11.9902 1.58097 11.7532 1.15901 11.3312C0.737053 10.9093 0.5 10.337 0.5 9.74023V2.24023C0.5 1.6435 0.737053 1.0712 1.15901 0.649244C1.58097 0.227287 2.15326 -0.00976562 2.75 -0.00976562H13.25C13.8467 -0.00976562 14.419 0.227287 14.841 0.649244C15.2629 1.0712 15.5 1.6435 15.5 2.24023V9.74023C15.5 10.337 15.2629 10.9093 14.841 11.3312C14.419 11.7532 13.8467 11.9902 13.25 11.9902H2.75ZM4.71875 3.15523C4.64235 3.09 4.55362 3.04077 4.45784 3.01049C4.36205 2.9802 4.26115 2.96946 4.16113 2.97892C4.06112 2.98838 3.96402 3.01783 3.8756 3.06553C3.78719 3.11323 3.70926 3.17821 3.64644 3.25661C3.58362 3.33501 3.53719 3.42523 3.50991 3.52192C3.48263 3.61861 3.47505 3.71979 3.48762 3.81946C3.5002 3.91913 3.53267 4.01526 3.58311 4.10215C3.63355 4.18903 3.70093 4.26489 3.78125 4.32523L6.59375 6.57598C6.99282 6.89549 7.48879 7.06958 8 7.06958C8.51121 7.06958 9.00718 6.89549 9.40625 6.57598L12.2188 4.32598C12.2957 4.26443 12.3597 4.18832 12.4072 4.10201C12.4547 4.01571 12.4848 3.92089 12.4956 3.82297C12.5065 3.72505 12.498 3.62595 12.4705 3.53132C12.4431 3.4367 12.3973 3.34841 12.3358 3.27148C12.2742 3.19456 12.1981 3.13052 12.1118 3.08301C12.0255 3.0355 11.9307 3.00545 11.8327 2.99459C11.7348 2.98373 11.6357 2.99225 11.5411 3.01969C11.4465 3.04712 11.3582 3.09293 11.2812 3.15448L8.46875 5.40448C8.33573 5.51099 8.1704 5.56902 8 5.56902C7.8296 5.56902 7.66427 5.51099 7.53125 5.40448L4.71875 3.15523Z" fill="currentColor"/>
</svg></div><div>hello@trayvisor.com</div></a></div><div id="w-node-_03acd299-4320-c159-5441-5233183db5f9-183db5e9" class="w-layout-vflex"><div class="heading-style-5 margin-bottom-large">Menu</div><a href="/" class="nav-link is-footer">Accueil</a><a href="/a-propos" class="nav-link is-footer">Qui sommes-nous ?</a><a href="/blog" class="nav-link is-footer">Le blog Trayvisor</a><a href="/contact" class="nav-link is-footer">Contactez-nous</a></div><div id="w-node-_03acd299-4320-c159-5441-5233183db602-183db5e9" class="w-layout-vflex"><div class="heading-style-5 margin-bottom-large">Solutions</div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/solutions/trayhealth" class="nav-link is-footer">TrayHealth</a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/trayvisor-trayscan" class="nav-link is-footer">TrayScan</a></div></div></div><a href="/faq" class="nav-link is-footer">FAQ</a></div><div id="w-node-dde72a36-7a52-be17-9b65-4824a177642d-183db5e9" class="w-layout-vflex"><div class="heading-style-5 margin-bottom-large">Réseaux sociaux</div><a rel="nofollow" href="https://fr.linkedin.com/company/trayvisor" target="_blank" class="nav-link is-footer">LinkedIn</a><a rel="nofollow" href="https://www.youtube.com/channel/UC4jd7XJ_7wU-Gxk-BTBRcxA" target="_blank" class="nav-link is-footer">Youtube</a><a rel="nofollow" href="https://www.facebook.com/profile.php?id=61581802662554" target="_blank" class="nav-link is-footer">Facebook</a></div></div><div class="footer-bottom"><div class="text-size-small text-style-muted">© Copyright Trayvisor - <a href="/mentions-legales">Mentions légales</a> - <a href="/politique-de-confidentialite">Politique de confidentialité</a> - Design et développement par <a href="https://www.alexisgardin.fr" target="_blank">Alexis Gardin</a></div></div></div></section></div><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=673e051f0ad7c6ca2d643219" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/js/webflow.schunk.36b8fb49256177c8.js" type="text/javascript" integrity="sha384-4abIlA5/v7XaW1HMXKBgnUuhnjBYJ/Z9C1OSg4OhmVw9O3QeHJ/qJqFBERCDPv7G" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/js/webflow.schunk.c9f36e81d82c3cf5.js" type="text/javascript" integrity="sha384-wH6VazIVxVlQsDiJ2UjUKIjY+ndUGOcyO3lwDiMzlTlc82edcR0lR1zuAnhlUez6" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/673e051f0ad7c6ca2d643219/js/webflow.3771fd0f.658fc3cda54b1281.js" type="text/javascript" integrity="sha384-JXlw6jlKpPrzRfzhw5WEadspRkZbaZ6m/yxlZX+Mbk5VZuBunhoHecpCh90tRFoB" crossorigin="anonymous"></script><!-- [Attributes by Finsweet] CMS Slider -->
<script async src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-cmsslider@1/cmsslider.js"></script>
<!-- Counter Numbers Effect -->
<script>
// Fonction d'animation easing (inertie)
const easeOutQuad = (t) => t * (2 - t);
// Fonction pour demarrer le compteur
const startCounterAnimation = (counter) => {
const updateCounter = () => {
const target = +counter.getAttribute('counter-number');
const startTime = Date.now();
const update = () => {
const elapsed = Date.now() - startTime;
const duration = 2000; // Duree de l'animation (2 secondes)
const progress = Math.min(elapsed / duration, 1); // Progres de l'animation
counter.innerText = Math.floor(target * easeOutQuad(progress)).toLocaleString('fr-FR');
if (progress < 1) {
requestAnimationFrame(update); // Continue l'animation
} else {
counter.innerText = target.toLocaleString('fr-FR'); // Fixe la valeur finale
}
};
requestAnimationFrame(update);
};
updateCounter();
};
// Fonction qui verifie si l'element est dans le viewport (Intersection Observer)
document.addEventListener('DOMContentLoaded', function () {
const counters = document.querySelectorAll('[counter-number]');
const observer = new IntersectionObserver((entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
startCounterAnimation(entry.target); // Demarre l'animation du compteur
observer.unobserve(entry.target); // Stoppe l'observation une fois l'animation demarree
}
});
}, {
threshold: 0.5 // L'animation se declenche lorsque 50% de l'element est visible
});
// Appliquer l'observation a chaque compteur
counters.forEach(counter => {
observer.observe(counter);
});
});
</script>
</body></html>