{"id":501,"date":"2023-04-08T09:44:40","date_gmt":"2023-04-08T09:44:40","guid":{"rendered":"https:\/\/xstore.8theme.com\/elementor3\/electronic-mega-market\/?p=501"},"modified":"2025-03-26T10:34:24","modified_gmt":"2025-03-26T10:34:24","slug":"creez-un-systeme-de-surveillance-pour-animaux-avec-raspberry-pi","status":"publish","type":"post","link":"https:\/\/thiesinnovationcenter.sn\/?p=501","title":{"rendered":"Cr\u00e9ez un syst\u00e8me de surveillance pour animaux avec Raspberry Pi"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"501\" class=\"elementor elementor-501\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6761d08a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6761d08a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2303936a\" data-id=\"2303936a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5c039887 elementor-widget elementor-widget-text-editor\" data-id=\"5c039887\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div style=\"padding-bottom: 30px; border-color: var(--loobek-border); display: grid; grid-template-columns: 100%; gap: 50px 0px; color: rgb(0, 0, 0); font-family: &quot;Plus Jakarta Sans&quot;; font-size: 14px;\"><div style=\"border-color: var(--loobek-border);\"><figure style=\"border-color: var(--loobek-border); border-radius: 10px; position: relative; z-index: 2; overflow: hidden;\"><span style=\"background-color: transparent; color: inherit; font-family: inherit; font-size: inherit;\">Le<\/span><span style=\"background-color: transparent; color: inherit; font-family: inherit; font-size: inherit;\">&nbsp;<\/span><span style=\"background-color: transparent; color: inherit; font-family: var(--loobek-button-font); font-size: inherit; font-weight: var(--loobek-button-font-weight); border-color: var(--loobek-border);\">Raspberry Pi<\/span><span style=\"background-color: transparent; color: inherit; font-family: inherit; font-size: inherit;\">&nbsp;<\/span><span style=\"background-color: transparent; color: inherit; font-family: inherit; font-size: inherit;\">est un ordinateur monocarte polyvalent qui, associ\u00e9 \u00e0 des composants appropri\u00e9s, peut \u00eatre transform\u00e9 en un syst\u00e8me de surveillance intelligent pour animaux. Ce guide d\u00e9taill\u00e9 vous accompagnera pas \u00e0 pas dans la cr\u00e9ation d\u2019un tel syst\u00e8me, int\u00e9grant la d\u00e9tection de mouvement, la reconnaissance d\u2019animaux et l\u2019envoi de notifications.<\/span><\/figure><\/div><\/div><div style=\"border-color: var(--loobek-border); counter-reset: footnotes 0; color: rgb(0, 0, 0); font-family: &quot;Plus Jakarta Sans&quot;; font-size: 14px;\"><div style=\"border-color: var(--loobek-border); line-height: 1.8; font-size: var(--loobek-h6-font-size);\"><h2 style=\"margin-bottom: 30px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h2-font-size); line-height: var(--loobek-h2-line-height);\">Vue d\u2019ensemble du projet<\/h2><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Le projet permet de cr\u00e9er une solution de surveillance avanc\u00e9e pour animaux, capable de :<\/p><ul style=\"margin-bottom: 20px; padding-left: 0px; border-color: var(--loobek-border);\"><li style=\"margin-bottom: 0px; padding-bottom: 6px; border-color: var(--loobek-border); line-height: 20px; list-style: inside none disc;\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">D\u00e9tecter les mouvements<\/span>&nbsp;\u00e0 l\u2019aide de la cam\u00e9ra.<\/li><li style=\"margin-bottom: 0px; padding-top: 6px; padding-bottom: 6px; border-color: var(--loobek-border); line-height: 20px; list-style: inside none disc;\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">Identifier les animaux<\/span>&nbsp;via l\u2019intelligence artificielle (IA).<\/li><li style=\"margin-bottom: 0px; padding-top: 6px; padding-bottom: 6px; border-color: var(--loobek-border); line-height: 20px; list-style: inside none disc;\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">Envoyer des notifications personnalis\u00e9es par e-mail<\/span>&nbsp;incluant des images et le type d\u2019animal d\u00e9tect\u00e9.<\/li><li style=\"margin-bottom: 0px; padding-top: 6px; border-color: var(--loobek-border); line-height: 20px; list-style: inside none disc;\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">G\u00e9rer les param\u00e8tres de configuration<\/span>&nbsp;(types d\u2019animaux, e-mail, alertes) via une&nbsp;<span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">interface web<\/span>.<\/li><\/ul><h2 style=\"margin-bottom: 30px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h2-font-size); line-height: var(--loobek-h2-line-height);\">Mat\u00e9riel requis<\/h2><ol style=\"margin-bottom: 20px; padding-left: 0px; border-color: var(--loobek-border);\"><li style=\"margin-bottom: 0px; padding-bottom: 6px; border-color: var(--loobek-border); line-height: 20px; list-style: inside none decimal;\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">Raspberry Pi 4<\/span>&nbsp;(ou mod\u00e8le sup\u00e9rieur)<\/li><li style=\"margin-bottom: 0px; padding-top: 6px; padding-bottom: 6px; border-color: var(--loobek-border); line-height: 20px; list-style: inside none decimal;\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">Cam\u00e9ra pour Raspberry Pi<\/span>&nbsp;(module cam\u00e9ra officiel ou webcam USB compatible)<\/li><li style=\"margin-bottom: 0px; padding-top: 6px; padding-bottom: 6px; border-color: var(--loobek-border); line-height: 20px; list-style: inside none decimal;\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">Carte microSD<\/span>&nbsp;(32 Go minimum) avec Raspberry Pi OS<\/li><li style=\"margin-bottom: 0px; padding-top: 6px; padding-bottom: 6px; border-color: var(--loobek-border); line-height: 20px; list-style: inside none decimal;\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">Clavier, souris et \u00e9cran<\/span>&nbsp;pour la configuration initiale<\/li><li style=\"margin-bottom: 0px; padding-top: 6px; border-color: var(--loobek-border); line-height: 20px; list-style: inside none decimal;\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">Connexion internet<\/span>&nbsp;(Wi-Fi ou Ethernet pour l\u2019interface web)<\/li><\/ol><h2 style=\"margin-bottom: 30px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h2-font-size); line-height: var(--loobek-h2-line-height);\">\u00c9tape 1 : Installation et configuration initiale du Raspberry Pi<\/h2><ol style=\"margin-bottom: 20px; padding-left: 0px; border-color: var(--loobek-border);\"><li style=\"margin-bottom: 0px; padding-bottom: 6px; border-color: var(--loobek-border); line-height: 20px; list-style: inside none decimal;\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">Installer Raspberry Pi OS<\/span>&nbsp;sur votre carte microSD en utilisant&nbsp;<a style=\"border-color: var(--loobek-border); background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; transition-duration: 150ms; transition-timing-function: ease; transition-property: all; text-decoration-line: underline;\">Raspberry Pi Imager<\/a>.<\/li><li style=\"margin-bottom: 0px; padding-top: 6px; padding-bottom: 6px; border-color: var(--loobek-border); line-height: 20px; list-style: inside none decimal;\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">D\u00e9marrer et configurer le Raspberry Pi<\/span>&nbsp;(r\u00e9seau, date, langue).<\/li><li style=\"margin-bottom: 0px; padding-top: 6px; border-color: var(--loobek-border); line-height: 20px; list-style: inside none decimal;\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">Mettre \u00e0 jour le syst\u00e8me<\/span>&nbsp;:<\/li><\/ol><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><h2 style=\"margin-bottom: 30px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h2-font-size); line-height: var(--loobek-h2-line-height);\">\u00c9tape 2 : Pr\u00e9parer la cam\u00e9ra et installer les biblioth\u00e8ques d\u2019IA<\/h2><h3 style=\"margin-bottom: 22px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h3-font-size); line-height: var(--loobek-h3-line-height);\">2.1 Activer et tester la cam\u00e9ra<\/h3><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Activez la cam\u00e9ra :<\/p><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">sudo raspi-config<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Tester la cam\u00e9ra :<\/p><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">raspistill -o test.jpg<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><h3 style=\"margin-bottom: 22px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h3-font-size); line-height: var(--loobek-h3-line-height);\">2.2 Installer OpenCV et TensorFlow Lite<\/h3><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Installer OpenCV pour la d\u00e9tection d\u2019image :<\/p><ol style=\"margin-bottom: 20px; padding-left: 0px; border-color: var(--loobek-border);\"><\/ol><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">sudo apt install python3-opencv -y<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">T\u00e9l\u00e9charger et configurer le mod\u00e8le MobileNet SSD pour la reconnaissance d\u2019animaux :<\/p><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 1104.18px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 1104.18px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">mkdir ~\/models &amp;amp;&amp;amp; cd ~\/models<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">wget&nbsp;<a href=\"https:\/\/storage.googleapis.com\/download.tensorflow.org\/models\/tflite\/coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip\" style=\"transition-duration: 150ms; transition-timing-function: ease; transition-property: all; text-decoration-line: underline; box-sizing: content-box !important; border: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; color: rgb(209, 237, 255) !important; border-radius: 0px !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important;\">https:\/\/storage.googleapis.com\/download.tensorflow.org\/models\/tflite\/coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip<\/a><\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">unzip coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><h2 style=\"margin-bottom: 30px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h2-font-size); line-height: var(--loobek-h2-line-height);\">\u00c9tape 3 : D\u00e9tection de mouvements et reconnaissance des animaux<\/h2><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Nous allons cr\u00e9er un script Python pour analyser les images et d\u00e9tecter les animaux.<\/p><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Cr\u00e9ez un fichier&nbsp;<code style=\"border-color: var(--loobek-border); overflow: hidden; display: inline-block; line-height: 1.2em; position: relative; top: 3px; clear: both; border-radius: 0px; font-style: italic;\">animal_surveillance.py<\/code>&nbsp;:<\/p><ol style=\"margin-bottom: 20px; padding-left: 0px; border-color: var(--loobek-border);\"><\/ol><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">nano animal_surveillance.py<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Ajoutez le code suivant pour configurer la d\u00e9tection de mouvement, la capture d\u2019images, et la reconnaissance des animaux :<\/p><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">import cv2<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">import tensorflow as tf<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">import numpy as np<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">from datetime import datetime<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">import os<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\"># Charger le mod\u00e8le TensorFlow Lite<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">interpreter = tf.lite.Interpreter(model_path=\"~\/models\/detect.tflite\")<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">interpreter.allocate_tensors()<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">input_details = interpreter.get_input_details()<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">output_details = interpreter.get_output_details()<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\"># D\u00e9finir les classes d'animaux d\u00e9tectables<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">ANIMAL_CLASSES = {16: \"Oiseau\", 17: \"Chat\", 18: \"Chien\"}<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">DETECTION_THRESHOLD = 0.5<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\"># Initialiser la cam\u00e9ra<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">camera = cv2.VideoCapture(0)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">first_frame = None<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\"># Fonction pour d\u00e9tecter les animaux<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">def detect_animal(frame):<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">input_shape = input_details[0]['shape']<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">frame_resized = cv2.resize(frame, (input_shape[1], input_shape[2]))<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">input_data = np.expand_dims(frame_resized, axis=0)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">interpreter.set_tensor(input_details[0]['index'], input_data)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">interpreter.invoke()<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">boxes = interpreter.get_tensor(output_details[0]['index'])[0]<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">classes = interpreter.get_tensor(output_details[1]['index'])[0]<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">scores = interpreter.get_tensor(output_details[2]['index'])[0]<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">for i in range(len(scores)):<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">if scores[i] &gt;= DETECTION_THRESHOLD:<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">return ANIMAL_CLASSES.get(int(classes[i]), \"Inconnu\")<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">return None<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\"># Fonction pour d\u00e9tecter les mouvements<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">def detect_motion():<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">global first_frame<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">ret, frame = camera.read()<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">gray = cv2.GaussianBlur(gray, (21, 21), 0)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">if first_frame is None:<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">first_frame = gray<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">return None<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">delta_frame = cv2.absdiff(first_frame, gray)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">thresh_frame = cv2.threshold(delta_frame, 25, 255, cv2.THRESH_BINARY)[1]<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">thresh_frame = cv2.dilate(thresh_frame, None, iterations=2)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">contours, _ = cv2.findContours(thresh_frame.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">for contour in contours:<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">if cv2.contourArea(contour) &amp;lt; 5000:<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">continue<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">animal = detect_animal(frame)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">if animal:<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">timestamp = datetime.now().strftime(\"%Y%m%d_%H%M%S\")<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">image_path = f\"\/home\/pi\/captures\/{animal}_{timestamp}.jpg\"<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">cv2.imwrite(image_path, frame)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">return animal, image_path<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">return None, None<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">if __name__ == \"__main__\":<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">os.makedirs(\"\/home\/pi\/captures\", exist_ok=True)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">print(\"Surveillance animale en cours...\")<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">while True:<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">animal, image_path = detect_motion()<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">if animal:<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">print(f\"Animal d\u00e9tect\u00e9 : {animal}\")<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\"># Notifications et alertes peuvent \u00eatre ajout\u00e9es ici<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Le script&nbsp;<span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">d\u00e9tecte le mouvement<\/span>,&nbsp;<span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">reconna\u00eet les animaux<\/span>, et&nbsp;<span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">enregistre une capture d\u2019image<\/span>&nbsp;pour chaque d\u00e9tection.<\/p><h2 style=\"margin-bottom: 30px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h2-font-size); line-height: var(--loobek-h2-line-height);\">\u00c9tape 4 : Interface Web avec Flask pour configurer les param\u00e8tres et afficher les captures<\/h2><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Pour une gestion plus facile, nous allons cr\u00e9er une interface web permettant de configurer les param\u00e8tres d\u2019alerte et de visualiser les images captur\u00e9es.<\/p><h3 style=\"margin-bottom: 22px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h3-font-size); line-height: var(--loobek-h3-line-height);\">4.1 Installation de Flask<\/h3><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">pip3 install flask<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><h3 style=\"margin-bottom: 22px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h3-font-size); line-height: var(--loobek-h3-line-height);\">4.2 Cr\u00e9ation du Serveur Flask<\/h3><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Cr\u00e9er un fichier&nbsp;<code style=\"border-color: var(--loobek-border); overflow: hidden; display: inline-block; line-height: 1.2em; position: relative; top: 3px; clear: both; border-radius: 0px; font-style: italic;\">app.py<\/code>&nbsp;pour l\u2019interface :<\/p><ol style=\"margin-bottom: 20px; padding-left: 0px; border-color: var(--loobek-border);\"><\/ol><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">nano app.py<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Ajouter le code Flask suivant pour configurer l\u2019interface web :<\/p><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">from flask import Flask, render_template, request, redirect, url_for<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">import os<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">app = Flask(__name__)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\"># Stockage des param\u00e8tres<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">config = {<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">\"email\": \"destination_email@example.com\",<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">\"animals\": [\"Chat\", \"Chien\"]<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">}<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">@app.route(\"\/\")<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">def index():<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">captures = os.listdir(\"\/home\/pi\/captures\/\")<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">captures = [f\"\/static\/captures\/{capture}\" for capture in captures]<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">return render_template(\"index.html\", config=config, captures=captures)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">@app.route(\"\/settings\", methods=[\"POST\"])<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">def settings():<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">config[\"email\"] = request.form[\"email\"]<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">config[\"animals\"] = request.form.getlist(\"animals\")<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">return redirect(url_for(\"index\"))<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">if __name__ == \"__main__\":<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">app.run(host=\"0.0.0.0\", port=5000)<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Cr\u00e9er le mod\u00e8le HTML&nbsp;<code style=\"border-color: var(--loobek-border); overflow: hidden; display: inline-block; line-height: 1.2em; position: relative; top: 3px; clear: both; border-radius: 0px; font-style: italic;\">index.html<\/code>&nbsp;pour g\u00e9rer la configuration et visualiser les captures :<\/p><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;!DOCTYPE html&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;html lang=\"en\"&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;head&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;meta charset=\"UTF-8\"&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;title&gt;Surveillance Animale&amp;lt;\/title&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;\/head&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;body&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;h1&gt;Configuration de Surveillance Animale&amp;lt;\/h1&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;form action=\"\/settings\" method=\"post\"&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;label for=\"email\"&gt;E-mail de Notification :&amp;lt;\/label&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;input type=\"email\" name=\"email\" value=\"{{ config.email }}\" required&gt;&amp;lt;br&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;label&gt;Animaux Suivis :&amp;lt;\/label&gt;&amp;lt;br&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;input type=\"checkbox\" name=\"animals\" value=\"Chat\" {% if \"Chat\" in config.animals %}checked{% endif %}&gt; Chat&amp;lt;br&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;input type=\"checkbox\" name=\"animals\" value=\"Chien\" {% if \"Chien\" in config.animals %}checked{% endif %}&gt; Chien&amp;lt;br&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;button type=\"submit\"&gt;Enregistrer&amp;lt;\/button&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;\/form&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;h2&gt;Captures :&amp;lt;\/h2&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">{% for capture in captures %}<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;img src=\"{{ capture }}\" width=\"300\"&gt;&amp;lt;br&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">{% endfor %}<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;\/body&gt;<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&amp;lt;\/html&gt;<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">D\u00e9marrer le serveur Flask :<\/p><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">python3 app.py<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Acc\u00e9dez \u00e0 l\u2019interface via&nbsp;<code style=\"border-color: var(--loobek-border); overflow: hidden; display: inline-block; line-height: 1.2em; position: relative; top: 3px; clear: both; border-radius: 0px; font-style: italic;\">http:\/\/&lt;adresse_ip_du_raspberry_pi&gt;:5000<\/code>.<\/p><h2 style=\"margin-bottom: 30px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h2-font-size); line-height: var(--loobek-h2-line-height);\">\u00c9tape 5 : Configuration des notifications e-mail avec captures et d\u00e9tails d\u2019animaux<\/h2><h3 style=\"margin-bottom: 22px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h3-font-size); line-height: var(--loobek-h3-line-height);\">5.1 Installation et configuration de l\u2019envoi d\u2019e-mails<\/h3><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Pour envoyer des notifications, nous utiliserons&nbsp;<code style=\"border-color: var(--loobek-border); overflow: hidden; display: inline-block; line-height: 1.2em; position: relative; top: 3px; clear: both; border-radius: 0px; font-style: italic;\">smtplib<\/code>, une biblioth\u00e8que Python standard pour envoyer des e-mails via un serveur SMTP (par exemple, Gmail).<\/p><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Cr\u00e9er un fichier de configuration pour stocker vos informations de connexion e-mail de mani\u00e8re s\u00e9curis\u00e9e.<\/p><ol style=\"margin-bottom: 20px; padding-left: 0px; border-color: var(--loobek-border);\"><\/ol><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Cr\u00e9ez un fichier&nbsp;<code style=\"border-color: var(--loobek-border); overflow: hidden; display: inline-block; line-height: 1.2em; position: relative; top: 3px; clear: both; border-radius: 0px; font-style: italic;\">config.py<\/code><\/p><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">nano config.py<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Ajoutez les informations de connexion suivantes (en rempla\u00e7ant par votre adresse et mot de passe) :<\/p><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">EMAIL_ADDRESS = \"votre_email@gmail.com\"<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">EMAIL_PASSWORD = \"votre_mot_de_passe\"<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Sauvegardez et fermez le fichier.<\/p><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">Activer l\u2019acc\u00e8s aux applications moins s\u00e9curis\u00e9es<\/span>&nbsp;dans votre compte Google (si vous utilisez Gmail), car&nbsp;<code style=\"border-color: var(--loobek-border); overflow: hidden; display: inline-block; line-height: 1.2em; position: relative; top: 3px; clear: both; border-radius: 0px; font-style: italic;\">smtplib<\/code>&nbsp;n\u00e9cessite une autorisation pour acc\u00e9der \u00e0 votre compte via SMTP.<\/p><h3 style=\"margin-bottom: 22px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h3-font-size); line-height: var(--loobek-h3-line-height);\">5.2 Ajouter la fonction d\u2019envoi d\u2019e-mails dans le script de surveillance<\/h3><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Modifiez&nbsp;<code style=\"border-color: var(--loobek-border); overflow: hidden; display: inline-block; line-height: 1.2em; position: relative; top: 3px; clear: both; border-radius: 0px; font-style: italic;\">animal_surveillance.py<\/code>&nbsp;pour inclure la fonction d\u2019envoi d\u2019e-mails, int\u00e9grant l\u2019image captur\u00e9e et le type d\u2019animal d\u00e9tect\u00e9<\/p><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">Ouvrez&nbsp;<code style=\"border-color: var(--loobek-border); overflow: hidden; display: inline-block; line-height: 1.2em; position: relative; top: 3px; clear: both; border-radius: 0px; font-style: italic;\">animal_surveillance.py<\/code>&nbsp;et ajoutez la fonction suivante<\/span>&nbsp;pour l\u2019envoi des e-mails :<\/p><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">import smtplib<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">from email.mime.multipart import MIMEMultipart<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">from email.mime.text import MIMEText<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">from email.mime.image import MIMEImage<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">import config&nbsp; # Importer le fichier config pour r\u00e9cup\u00e9rer l'email et le mot de passe<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">def send_email_alert(image_path, detected_animal):<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\"># Cr\u00e9er un e-mail<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">msg = MIMEMultipart()<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">msg['From'] = config.EMAIL_ADDRESS<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">msg['To'] = config.EMAIL_ADDRESS&nbsp; # Envoyer \u00e0 vous-m\u00eame ou \u00e0 l\u2019adresse sp\u00e9cifi\u00e9e dans config<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">msg['Subject'] = f\"Alerte : {detected_animal} d\u00e9tect\u00e9 !\"<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\"># Ajouter le corps du message<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">body = f\"Un {detected_animal} a \u00e9t\u00e9 d\u00e9tect\u00e9 par le syst\u00e8me de surveillance animale.\"<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">msg.attach(MIMEText(body, 'plain'))<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\"># Ajouter l'image en pi\u00e8ce jointe<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">with open(image_path, 'rb') as f:<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">img_data = f.read()<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">image = MIMEImage(img_data, name=os.path.basename(image_path))<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">msg.attach(image)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\">&nbsp;<\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\"># Envoi de l'e-mail via SMTP<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">try:<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">server = smtplib.SMTP('smtp.gmail.com', 587)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">server.starttls()<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">server.login(config.EMAIL_ADDRESS, config.EMAIL_PASSWORD)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">server.sendmail(config.EMAIL_ADDRESS, config.EMAIL_ADDRESS, msg.as_string())<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">server.quit()<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">print(\"E-mail envoy\u00e9 avec succ\u00e8s.\")<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">except Exception as e:<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">print(f\"Erreur lors de l'envoi de l'e-mail : {e}\")<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Int\u00e9grer la fonction d\u2019envoi d\u2019e-mails dans le script de d\u00e9tection :<\/p><ul style=\"margin-bottom: 20px; padding-left: 0px; border-color: var(--loobek-border);\"><li style=\"margin-bottom: 0px; border-color: var(--loobek-border); line-height: 20px; list-style: inside none disc;\">Modifiez la partie&nbsp;<code style=\"border-color: var(--loobek-border); overflow: hidden; display: inline-block; line-height: 1.2em; position: relative; top: 3px; clear: both; border-radius: 0px; font-style: italic;\">if animal:<\/code>&nbsp;dans&nbsp;<code style=\"border-color: var(--loobek-border); overflow: hidden; display: inline-block; line-height: 1.2em; position: relative; top: 3px; clear: both; border-radius: 0px; font-style: italic;\">detect_motion()<\/code>&nbsp;pour envoyer un e-mail avec les d\u00e9tails de l\u2019animal d\u00e9tect\u00e9.<\/li><\/ul><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">if animal:<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">timestamp = datetime.now().strftime(\"%Y%m%d_%H%M%S\")<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">image_path = f\"\/home\/pi\/captures\/{animal}_{timestamp}.jpg\"<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">cv2.imwrite(image_path, frame)<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">print(f\"{animal} d\u00e9tect\u00e9. Image sauvegard\u00e9e : {image_path}\")<\/code><\/div><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">send_email_alert(image_path, animal)&nbsp; # Appel de la fonction d'envoi d'e-mail<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\"><span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">Sauvegardez et fermez<\/span>&nbsp;le fichier&nbsp;<code style=\"border-color: var(--loobek-border); overflow: hidden; display: inline-block; line-height: 1.2em; position: relative; top: 3px; clear: both; border-radius: 0px; font-style: italic;\">animal_surveillance.py<\/code>.<\/p><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Tester le script en ex\u00e9cutant :<\/p><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border);\"><div style=\"border-color: var(--loobek-border); width: 1005px; margin-top: 1em !important; margin-bottom: 1em !important; padding: 0.5em 1em !important; position: relative !important; overflow: auto hidden !important; font-size: 1em !important; background-color: rgb(15, 25, 42) !important;\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"empty-cells: show; width: 973px; overflow-wrap: normal; color: var(--loobek-text-bold-color); margin-bottom: 0px !important; box-sizing: content-box !important; border: 0px !important; font-size: 1em !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; table-layout: auto !important;\"><tbody style=\"max-width: 100%; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><tr style=\"box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><td style=\"padding-top: 0px; padding-bottom: 0px; border-top-width: 0px; border-bottom-width: 0px; letter-spacing: var(--loobek-main-font-bold-letter-spacing); width: 973px; box-sizing: content-box !important; border-top-color: initial !important; border-bottom-color: initial !important; border-top-style: initial !important; border-bottom-style: initial !important; line-height: 1.1em !important; vertical-align: baseline !important; border-radius: 0px !important; background: none !important; border-image: initial !important; inset: auto !important; float: none !important; height: auto !important; outline: 0px !important; overflow: visible !important; position: static !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"margin-right: 0px !important; margin-left: 0px !important; padding-right: 0px !important; padding-left: 0px !important; box-sizing: content-box !important; border: 0px !important; width: auto !important; border-radius: 0px !important; background: none !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: relative !important; vertical-align: baseline !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important;\"><div style=\"padding-left: 0em !important; box-sizing: content-box !important; border: 0px !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; inset: auto !important; float: none !important; height: auto !important; line-height: 1.1em !important; outline: 0px !important; overflow: visible !important; position: static !important; vertical-align: baseline !important; width: auto !important; font-size: 1em !important; direction: ltr !important; box-shadow: none !important; white-space: pre !important;\"><code style=\"clear: both; white-space: normal; box-sizing: content-box !important; border: 0px !important; overflow: visible !important; display: inline !important; line-height: 1.1em !important; position: static !important; inset: auto !important; border-radius: 0px !important; background: none !important; float: none !important; height: auto !important; outline: 0px !important; vertical-align: baseline !important; width: auto !important; font-family: Monaco, Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; direction: ltr !important; box-shadow: none !important; color: rgb(209, 237, 255) !important;\">python3 animal_surveillance.py<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Lorsque le syst\u00e8me d\u00e9tecte un mouvement et reconna\u00eet un animal, il envoie un e-mail \u00e0 l\u2019adresse configur\u00e9e avec l\u2019image de l\u2019animal d\u00e9tect\u00e9 et le type d\u2019animal dans le sujet de l\u2019e-mail.<\/p><h2 style=\"margin-bottom: 30px; border-color: var(--loobek-border); font-family: var(--loobek-heading-font); font-weight: var(--loobek-heading-font-weight); letter-spacing: var(--loobek-heading-letter-spacing); color: var(--loobek-text-bold-color); font-size: var(--loobek-h2-font-size); line-height: var(--loobek-h2-line-height);\">Conclusion<\/h2><p style=\"margin-bottom: 20px; border-color: var(--loobek-border);\">Ce guide fournit un&nbsp;<span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">syst\u00e8me de surveillance animal intelligent<\/span>&nbsp;complet utilisant le Raspberry Pi. Gr\u00e2ce \u00e0 la d\u00e9tection de mouvement, la reconnaissance d\u2019animaux, une&nbsp;<span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">interface web de configuration<\/span>&nbsp;et des&nbsp;<span style=\"border-color: var(--loobek-border); font-family: var(--loobek-button-font); font-weight: var(--loobek-button-font-weight);\">notifications e-mail<\/span>&nbsp;d\u00e9taill\u00e9es, ce projet est une solution puissante et flexible pour surveiller vos animaux. Vous pouvez facilement personnaliser les param\u00e8tres d\u2019alerte et ajouter de nouveaux types d\u2019animaux via la configuration web.<\/p><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Le&nbsp;Raspberry Pi&nbsp;est un ordinateur monocarte polyvalent qui, associ\u00e9 \u00e0 des composants appropri\u00e9s, peut \u00eatre transform\u00e9 en un syst\u00e8me de surveillance intelligent pour animaux. Ce guide&#8230;<\/p>\n","protected":false},"author":1,"featured_media":3327,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[16,17,18,19,20,21,22,23],"tags":[],"class_list":["post-501","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-audio-electronics","category-camera-drone","category-cell-phones","category-daily-deals","category-ipad-tablets","category-smart-home","category-tv-audio","category-wearable-tech"],"jetpack_featured_media_url":"https:\/\/thiesinnovationcenter.sn\/wp-content\/uploads\/2023\/04\/DALL\u00b7E-2024-11-04-12.35.13-A-clean-minimalistic-landscape-style-illustration-showing-a-Raspberry-Pi-with-icons-for-camera-animal-detection-notifications-and-a-web-interface.webp","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/thiesinnovationcenter.sn\/index.php?rest_route=\/wp\/v2\/posts\/501","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiesinnovationcenter.sn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiesinnovationcenter.sn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiesinnovationcenter.sn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiesinnovationcenter.sn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=501"}],"version-history":[{"count":4,"href":"https:\/\/thiesinnovationcenter.sn\/index.php?rest_route=\/wp\/v2\/posts\/501\/revisions"}],"predecessor-version":[{"id":3330,"href":"https:\/\/thiesinnovationcenter.sn\/index.php?rest_route=\/wp\/v2\/posts\/501\/revisions\/3330"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thiesinnovationcenter.sn\/index.php?rest_route=\/wp\/v2\/media\/3327"}],"wp:attachment":[{"href":"https:\/\/thiesinnovationcenter.sn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=501"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiesinnovationcenter.sn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=501"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiesinnovationcenter.sn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}