<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Projet Pub/NoPub by Alexis grenan</title>
      <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco</link>
      <description></description>
      <language>en-us</language>
      <pubDate>2024-02-03 14:58:32 UTC</pubDate>
      <lastBuildDate>2024-02-13 18:13:59 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>Cahier des charges</title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060894</link>
         <description><![CDATA[<p><strong>1. Objectifs du projet :</strong></p><ul><li><p>Développer une application capable de détecter automatiquement la présence de publicités sur un décodeur TV à l'aide d'une caméra IP.</p></li><li><p>Intégrer un modèle d'intelligence artificielle pour effectuer la classification des images en deux classes : "PUB" et "NoPub".</p></li><li><p>Utiliser un feu tricolore (simulant le décodeur TV) pour indiquer visuellement si une publicité est détectée.</p></li></ul><p><strong>2. Objectifs fonctionnels :</strong></p><ul><li><p><strong>Détection automatique des publicités :</strong></p><ul><li><p>La caméra IP capture en continu des images du flux télévisuel.</p></li><li><p>Le modèle d'intelligence artificielle analyse ces images et classe chaque séquence comme "PUB" ou "NoPub" en temps réel.</p></li></ul></li><li><p><strong>Gestion des logs et des hyperparamètres :</strong></p><ul><li><p>Les salves d'images détectées sont stockées dans une base de données NoSQL Firebase.</p></li><li><p>Chaque salve est accompagnée d'un fichier log contenant des informations telles que la durée de la salve, le nombre d'images, les hyperparamètres du modèle, l'horodatage, ainsi que les résultats de prédiction pour chaque image et la prédiction moyenne par classe.</p></li></ul></li><li><p><strong>Interface Web dynamique avec React :</strong></p><ul><li><p>Le site web offre une vue en direct de la caméra IP, permettant à l'administrateur de surveiller le flux télévisuel.</p></li><li><p>Possibilité de consulter n'importe quelle salve d'images en fonction de la date et de l'heure.</p></li><li><p>Accès aux rapports détaillés pour chaque salve sélectionnée.</p></li><li><p>Capacité d'insérer de nouveaux échantillons pour les classes du modèle ("PUB" et "NoPub").</p></li><li><p>Pouvoir vérifier le système de notification à l'administrateur via un bouton test qui envoie un message trial <strong>par mail</strong>. </p></li></ul></li><li><p><strong>Communication avec le feu tricolore (simulateur décodeur) :</strong></p><ul><li><p>Des requêtes HTTP sont utilisées pour changer la couleur du feu tricolore selon les résultats de prédiction du modèle.</p><ul><li><p>Vert : Probabilité de "NoPub" &gt; 70%</p></li><li><p>Orange : Probabilité entre 5% et 70% sur la classe majoritaire</p></li><li><p>Rouge : Probabilité de "PUB" &gt; 70%</p></li></ul></li></ul></li><li><p><strong>Administration et notifications :</strong></p><ul><li><p>Connexion sécurisée pour l'administrateur sur le site web.</p></li><li><p>Alerte par mail ou notifications Push en cas de défaillance système (connexion BDD, API décodeur, caméra IP, modèle, etc.).</p><p><br/></p></li></ul></li></ul><p><strong>3. Livrables :</strong></p><ul><li><p>Code source du projet (modèle d'IA, script principal, site web) avec le lien public du site web.</p></li><li><p>Code source du script Python.</p></li><li><p>Extraction du modèle de la base de données Firebase.</p></li><li><p>Dépôt GitHub du projet avec un fichier ReadMe indiquant la procédure pour faire fonctionner le projet (librairies Python à installer, etc.).</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-03 14:58:32 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060894</guid>
      </item>
      <item>
         <title>Complément cahier des charges</title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060895</link>
         <description><![CDATA[<p><strong>Améliorations optionnelles :</strong></p><ul><li><p><strong>Déploiement sur Azure :</strong></p><ul><li><p>Possibilité de déployer le modèle et le script Python sur Azure et d'y accéder via l'API d'Azure.</p></li></ul></li><li><p><strong>Réentrainement du modèle :</strong></p><ul><li><p>Fonctionnalité sur le site web permettant de réentrainer le modèle en fonction des hyperparamètres renseignés.</p></li></ul></li><li><p><strong>Application client pro :</strong></p><ul><li><p>Création d'une application dédiée pour les clients choisis afin de fournir des retours sur les erreurs du modèle.ts à éclaircir </p></li></ul></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-03 14:58:32 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060895</guid>
      </item>
      <item>
         <title>Consignes</title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060898</link>
         <description><![CDATA[<ul><li><p>Utiliser le canal de groupe Teams pour communiquer</p></li></ul><ul><li><p>Chaque stagiaire indique par un pouce lorsqu'il a réussi son test d'intégration et indique OBLIGATOIREMENT un commentaire (même trivial) ou avec des astuces, liens, tutos, etc. </p></li><li><p>Chaque validation de TU doit être justifiée ! (un code, une capture d'écran, etc.).</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-03 14:58:32 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060898</guid>
      </item>
      <item>
         <title>Livrables</title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060900</link>
         <description><![CDATA[<p>Un dépot sur Simpolonline avec le lien vers votre GitHub dans l'organisation devIA2025. </p><p>Deadline : </p><p><br></p><p>Les compétences du référentiel seront évaluées. </p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-03 14:58:32 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060900</guid>
      </item>
      <item>
         <title>Organisation GitHub</title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060903</link>
         <description><![CDATA[<p>Organisez votre GitHub OBLIGATOIREMENT comme suit : </p><p><br/></p><p>organisation_DevIA2025/{nom_du_stagiaire}/Projets/Pub_NoPub/TU_TI/{nom_du_test}/{fichiers_preuve_du_test}</p><p><br/></p><p>Vous devrez obligatoirement et pour chaque test unitaire fournir un justificatif (code python, fichier texte avec une rédaction, capture d'écran, image, etc.) comme mentionné dans la description de chaque test. </p><p><br/></p><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-03 14:58:32 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060903</guid>
      </item>
      <item>
         <title>Diagramme de séquence </title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060905</link>
         <description><![CDATA[<p>A faire en autonomie selon le cahier des charges. </p><p>La correction sera postée plus tard. </p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2234033592/b2524395c45ac28c9f3aab2803b40ce1/Note_5_fe_vr__2024_a__09_32_21.pdf" />
         <pubDate>2024-02-03 14:58:32 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060905</guid>
      </item>
      <item>
         <title>Découpage du projet en briefs projets Simplonline</title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060906</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet.com/padlets/dawliybwe6l5zosd" />
         <pubDate>2024-02-03 14:58:32 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872060906</guid>
      </item>
      <item>
         <title>Firebase Get Started</title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872131953</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://firebase.google.com" />
         <pubDate>2024-02-03 17:26:48 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872131953</guid>
      </item>
      <item>
         <title>Framework React</title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872132003</link>
         <description><![CDATA[<p>Effectuer un "npm install" dans le répertoire principal</p><p>puis "npm run start". </p><p><br></p><p>Bien sur, il faut avoir node.js installé (<a rel="noopener noreferrer nofollow" href="https://nodejs.org/en/download">https://nodejs.org/en/download</a>) et npm. </p><p><br></p><p>Le lancement de "npm run start" devrait lancer un serveur web sur votre machine et afficher le site web sur votre navigateur. </p><p><br></p><p>Il s'agit d'une boite à outils permettant de voir tout ce que le package propose en terme d'interface. A vous de comprendre comment faire la votre ;) </p><p><br></p><p><br></p>]]></description>
         <enclosure url="https://gitlab.com/jeremy.ranguis/template_react_firebase.git" />
         <pubDate>2024-02-03 17:26:57 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872132003</guid>
      </item>
      <item>
         <title>Déployer une application REACT sur firebase</title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872155810</link>
         <description><![CDATA[<p><a rel="noopener noreferrer nofollow" href="https://medium.com/swlh/how-to-deploy-a-react-app-with-firebase-hosting-98063c5bf425">https://medium.com/swlh/how-to-deploy-a-react-app-with-firebase-hosting-98063c5bf425</a></p>]]></description>
         <enclosure url="https://medium.com/swlh/how-to-deploy-a-react-app-with-firebase-hosting-98063c5bf425" />
         <pubDate>2024-02-03 18:22:28 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872155810</guid>
      </item>
      <item>
         <title>Se connecter à la BDD Firestore de Firebase en python</title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872156428</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://firebase.google.com/docs/firestore/quickstart?hl=fr" />
         <pubDate>2024-02-03 18:23:56 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872156428</guid>
      </item>
      <item>
         <title>Caméra IP </title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872157403</link>
         <description><![CDATA[<p>IP de la camera : 192.168.20.37:88</p><p>user : dev_IA_P3</p><p>mdp : dev_IA_P3</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-03 18:26:26 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872157403</guid>
      </item>
      <item>
         <title>Utiliser le feu tricolore</title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872157612</link>
         <description><![CDATA[<p>Le feu permettant d'indiquer si c'est une pub, ou pas, ou peut-être ;) est piloté par le réseau, via une api.</p><p>Envoyez une requête HTTP à l'URL :&nbsp;<a rel="noopener noreferrer nofollow" href="http://192.168.20.95/">http://192.168.20.95/</a>&nbsp;et utiliser les endpoint :</p><ul><li><p>feuR pour le feu rouge</p></li><li><p>feuO pour le feu orange</p></li><li><p>feuV pour le feu vert</p></li><li><p>feuOff pour l'éteindre</p></li></ul><pre><code class="language-cpp"></code></pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2234033592/39d9e0c5418a4e69f0a6d35828a852b8/image.webp" />
         <pubDate>2024-02-03 18:27:03 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2872157612</guid>
      </item>
      <item>
         <title>Doxygen</title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2876317718</link>
         <description><![CDATA[<p>Votre code devra être documenté en utilisant l'outil de documentation par les commentaires du code : Doxygen.</p><p>Le tuto ci-dessous vous montre sa mise en oeuvre...</p><p><br/></p><p>Lien vers le tuto Doxygen : <a rel="noopener noreferrer nofollow" href="https://github.com/Olivier-hac/tuto-doxygen/blob/main/G%C3%A9n%C3%A9ration%20automatique%20de%20documentation%20avec%20Doxygen.pdf">https://github.com/Olivier-hac/tuto-doxygen/blob/main/Génération%20automatique%20de%20documentation%20avec%20Doxygen.pdf</a></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2234033592/e6e66fb76b90ea088fa7ee870a4d1802/image_2.webp" />
         <pubDate>2024-02-07 09:25:59 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2876317718</guid>
      </item>
      <item>
         <title>API Des caméras Foscam</title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2882476781</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://tutoriels.domotique-store.fr/content/52/249/fr/api-des-cameras-foscam-hd.html" />
         <pubDate>2024-02-13 17:03:04 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2882476781</guid>
      </item>
      <item>
         <title>BDD </title>
         <author>alexisgrenan</author>
         <link>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2882558145</link>
         <description><![CDATA[<p><strong>NoSQL Collection Documents</strong></p><p><strong>Objectif</strong></p><p>Créer une base de données NoSQL de type collection de documents pour stocker des informations liées à l'acquisition d'images, à l'application, aux développeurs, aux modèles d'IA, au site web, et aux logs.</p><p><strong>Schéma de la base de données</strong></p><p><strong>Acquisition</strong></p><ul><li><p><strong>versions</strong>: Liste des versions d'acquisition.</p><ul><li><p><strong>HP_acquisition</strong>: Haut-parleur d'acquisition.</p></li><li><p><strong>Duree_salve</strong>: Durée de la salve (par exemple, 5).</p></li><li><p><strong>nb_images_par_salves</strong>: Nombre d'images par salve (par exemple, 10).</p></li></ul></li><li><p><strong>donnees</strong>: Données d'acquisition.</p><ul><li><p><strong>IP_camera</strong>: Adresse IP de la caméra (par exemple, 192.168.20.15).</p></li><li><p><strong>Port_camera</strong>: Port de la caméra (par exemple, 88).</p></li><li><p><strong>Lien_flux_snapshot</strong>: Lien du flux snapshot.</p></li><li><p><strong>Lien_flux_rtsp</strong>: Lien du flux RTSP.</p></li><li><p><strong>username</strong>: Nom d'utilisateur (par exemple, greta).</p></li><li><p><strong>password</strong>: Mot de passe (par exemple, greta).</p></li></ul></li></ul><p><strong>Application</strong></p><ul><li><p><strong>Versions</strong>: Liste des versions de l'application.</p><ul><li><p><strong>version</strong>: Version de l'application (par exemple, 1.0.0).</p></li><li><p><strong>version_node</strong>: Version de Node.js utilisée (par exemple, 15.15.0).</p></li><li><p><strong>template_utilise</strong>: Template utilisé (par exemple, React creative Team).</p></li></ul></li></ul><p><strong>Infos développeur</strong></p><ul><li><p><strong>Entreprise</strong>: Nom de l'entreprise (par exemple, Greta-cfa Besancon).</p></li><li><p><strong>fonction</strong>: Fonction du développeur (par exemple, développeur).</p></li><li><p><strong>nom_developpeur</strong>: Nom du développeur (par exemple, ranguis).</p></li><li><p><strong>prenom_developpeur</strong>: Prénom du développeur (par exemple, jeremy).</p></li></ul><p><strong>Modèle IA</strong></p><ul><li><p><strong>Versions</strong>: Liste des versions du modèle d'IA.</p><ul><li><p><strong>HP</strong>: Puissance du modèle.</p></li><li><p><strong>fps</strong>: Fréquence d'images par seconde (par exemple, 20).</p></li><li><p><strong>learning</strong>: Taux d'apprentissage (par exemple, 0.004).</p></li><li><p><strong>infos_modele</strong>: Informations sur le modèle.</p><ul><li><p><strong>nom_modele</strong>: Nom du modèle (par exemple, MobileNet).</p></li><li><p><strong>version</strong>: Version du modèle (par exemple, V2).</p></li><li><p><strong>seuil_decision</strong>: Seuil de décision (par exemple, 70).</p></li></ul></li></ul></li></ul><p><strong>Site Web</strong></p><ul><li><p><strong>titre_page</strong>: Titre de la page du site web (par exemple, "Pub NoPub").</p></li><li><p><strong>url_publique</strong>: URL publique du site web (par exemple, "https://...").</p></li></ul><p><strong>Logs</strong></p><ul><li><p><strong>historique</strong>: Historique des logs.</p><ul><li><p><strong>Metriques</strong>: Liste des métriques.</p><ul><li><p><strong>Metrique_1</strong>: Valeur de la métrique 1 (par exemple, 0.014).</p></li><li><p><strong>Metrique_2</strong>: Valeur de la métrique 2 (par exemple, 70).</p></li><li><p><strong>...</strong>: Autres métriques.</p></li></ul></li><li><p><strong>reference_salve_storage</strong>: Chemin vers le stockage de la salve.</p></li><li><p><strong>resultats</strong>: Résultats des prédictions.</p><ul><li><p><strong>predictions_pub_par_images</strong>: Liste des prédictions pour les images publiques.</p></li><li><p><strong>predictions_nopub_par_images</strong>: Liste des prédictions pour les images non publiques.</p></li><li><p><strong>moyenne_pub</strong>: Moyenne des prédictions pour les images publiques.</p></li><li><p><strong>moyenne_no_pub</strong>: Moyenne des prédictions pour les images non publiques.</p></li></ul></li><li><p><strong>Version_acquisition</strong>: Chemin vers le document de la version d'acquisition pour la salve.</p></li><li><p><strong>Version_application</strong>: Chemin vers le document de la version d'application pour la salve.</p></li><li><p><strong>version_modele_IA</strong>: Chemin vers le document de la version du modèle pour la salve.</p></li></ul></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-13 18:13:59 UTC</pubDate>
         <guid>https://padlet.com/submissiverequestpartners/ft8t91nmcd60afco/wish/2882558145</guid>
      </item>
   </channel>
</rss>
